commit 4bbf77dfe59185c3fb0713ff1f3e5b3ebfae6e7b
Author: Rick45 <Rick45@users.noreply.github.com>
Date:   Thu Jul 27 23:32:39 2023 +0100

    first commit
    
    first commit

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