From 4bbf77dfe59185c3fb0713ff1f3e5b3ebfae6e7b Mon Sep 17 00:00:00 2001 From: Rick45 Date: Thu, 27 Jul 2023 23:32:39 +0100 Subject: [PATCH] first commit first commit --- .env.example | 15 +++++ .gitignore | 3 + docker-compose.yml | 158 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 176 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 docker-compose.yml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..4b936a1 --- /dev/null +++ b/.env.example @@ -0,0 +1,15 @@ +# Your timezone, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones +TZ=Europe/Lisbon +# UNIX PUID and PGID, find with: id $USER +PUID=1000 +PGID=1000 +# The directory where configuration will be stored. +ROOT="$HOME/MediaCenter/" +# The directory where data and configuration will be stored. +HDDSTORAGE="$HOME/MediaCenter/Storage/" + +# Wireguard Settings +#Your public ip, auto for auto detect +SERVERURL=auto +#number of devices to generate configuration to connect to the wireguard vpn +PEERS=7 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ff7da24 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +.vagrant +*.log \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d4797c3 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,158 @@ +version: '3.4' +services: + vpn: + container_name: vpn + image: 'dperson/openvpn-client:latest' + environment: + - 'OTHER_ARGS= --mute-replay-warnings' + cap_add: + - net_admin + restart: unless-stopped + volumes: + - '${ROOT}/MediaCenter/config/vpn:/vpn' + security_opt: + - 'label:disable' + devices: + - '/dev/net/tun:/dev/net/tun' + ports: + - '8112:8112' #deluge web UI Port + - '9696:9696' #prowlarr web UI Port + command: '-f "" -r 192.168.68.0/24' + + deluge: + container_name: deluge + image: 'linuxserver/deluge:latest' + restart: unless-stopped + environment: + - 'PUID=${PUID}' + - 'PGID=${PGID}' + - 'TZ=${TZ}' + volumes: + - '${ROOT}/MediaCenter/config/deluge:/config' + - '${HDDSTORAGE}:/MediaCenterBox' + #ports: + # - '8112:8112' #uncomment if you are not using the VPN + network_mode: 'service:vpn' #comment/remove if you are not using the VPN + depends_on: #comment/remove if you are not using the VPN + - vpn #comment/remove if you are not using the VPN + + prowlarr: + image: lscr.io/linuxserver/prowlarr:latest + container_name: prowlarr + environment: + - PUID=1000 + - PGID=1000 + - 'TZ=${TZ}' + volumes: + - '${ROOT}/MediaCenter/config/prowlarr:/config' + restart: unless-stopped + #ports: + # - '9696:9696' #uncomment if you are not using the VPN + network_mode: 'service:vpn' #comment/remove if you are not using the VPN + depends_on: #comment/remove if you are not using the VPN + - vpn #comment/remove if you are not using the VPN + + sonarr: + container_name: sonarr + image: 'linuxserver/sonarr:latest' + restart: unless-stopped + network_mode: host + environment: + - 'PUID=${PUID}' + - 'PGID=${PGID}' + - 'TZ=${TZ}' + volumes: + - '/etc/localtime:/etc/localtime:ro' + - '${ROOT}/MediaCenter/config/sonarr:/config' + - '${HDDSTORAGE}:/MediaCenterBox' + radarr: + container_name: radarr + image: 'linuxserver/radarr:latest' + restart: unless-stopped + network_mode: host + environment: + - 'PUID=${PUID}' + - 'PGID=${PGID}' + - 'TZ=${TZ}' + volumes: + - '/etc/localtime:/etc/localtime:ro' + - '${ROOT}/MediaCenter/config/radarr:/config' + - '${HDDSTORAGE}:/MediaCenterBox' + + bazarr: + container_name: bazarr + image: 'linuxserver/bazarr:latest' + restart: unless-stopped + #network_mode: host + environment: + - 'PUID=${PUID}' + - 'PGID=${PGID}' + - 'TZ=${TZ}' + - UMASK_SET=022 + volumes: + - '${ROOT}/MediaCenter/config/bazarr:/config' + - '${HDDSTORAGE}:/MediaCenterBox' + ports: + - '6767:6767' + + plex-server: + container_name: plex-server + image: 'plexinc/pms-docker:latest' + restart: unless-stopped + environment: + - 'TZ=${TZ}' + network_mode: host + volumes: + - '${ROOT}/MediaCenter/config/plex/db:/config' + - '${ROOT}/MediaCenter/config/plex/transcode:/transcode' + - '${HDDSTORAGE}/Completed:/HDD_Completed' + + tautulli: + image: lscr.io/linuxserver/tautulli + container_name: tautulli + environment: + - 'PUID=${PUID}' + - 'PGID=${PGID}' + - 'TZ=${TZ}' + volumes: + - '${ROOT}/MediaCenter/config/tautulli:/config' + ports: + - 8181:8181 + restart: unless-stopped + + overseerr: + image: 'sctx/overseerr:latest' + container_name: overseerr + environment: + - LOG_LEVEL=debug + - 'TZ=${TZ}' + ports: + - '5055:5055' + volumes: + - '${ROOT}/MediaCenter/config/overseerr/config:/app/config' + restart: unless-stopped + + wireguard: + image: 'ghcr.io/linuxserver/wireguard:latest' + container_name: wireguard + cap_add: + - NET_ADMIN + - SYS_MODULE + environment: + - 'PUID=${PUID}' + - 'PGID=${PUID}' + - 'TZ=${TZ}' + - 'SERVERURL=${SERVERURL}' + - SERVERPORT=51820 + - 'PEERS=${PEERS}' + - 'PEERDNS=1.1.1.1' + - INTERNAL_SUBNET=192.168.69.0 + - ALLOWEDIPS=0.0.0.0/0 + volumes: + - '${ROOT}/MediaCenter/config/wireguard:/config' + - '/lib/modules:/lib/modules' + ports: + - '51820:51820/udp' + sysctls: + - net.ipv4.conf.all.src_valid_mark=1 + restart: always \ No newline at end of file