commit 4c85ab5b8c83ed390c702386f501bf790e7c58c3 Author: Nick Date: Sun Apr 26 07:09:08 2026 +0000 first commit diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..fcafa73 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,121 @@ +services: + # ─── VPN Gateway ─────────────────────────────── + gluetun: + image: qmcgaw/gluetun + container_name: gluetun + cap_add: + - NET_ADMIN + devices: + - /dev/net/tun:/dev/net/tun + environment: + - VPN_SERVICE_PROVIDER=protonvpn + - VPN_TYPE=wireguard + - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY} + - SERVER_COUNTRIES=${VPN_COUNTRY:-United States} + - DOT=on + - TZ=${TZ:-America/Los_Angeles} + ports: + - 8080:8080 + volumes: + - ./config/gluetun:/gluetun + restart: unless-stopped + networks: + - gluetun_net + + # ─── Torrent Client ─────────────────────────── + qbittorrent: + image: linuxserver/qbittorrent + container_name: qbittorrent + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TZ:-America/Los_Angeles} + - WEBUI_PORT=8080 + volumes: + - ./config/qbittorrent:/config + - /mnt/media/downloads:/downloads + network_mode: "service:gluetun" + depends_on: + - gluetun + restart: unless-stopped + + # ─── Media Management ───────────────────────── + sonarr: + image: linuxserver/sonarr + container_name: sonarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TZ:-America/Los_Angeles} + volumes: + - ./config/sonarr:/config + - /mnt/media/tv:/tv + - /mnt/media/downloads:/downloads + ports: + - 8989:8989 + restart: unless-stopped + + radarr: + image: linuxserver/radarr + container_name: radarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TZ:-America/Los_Angeles} + volumes: + - ./config/radarr:/config + - /mnt/media/movies:/movies + - /mnt/media/downloads:/downloads + ports: + - 7878:7878 + restart: unless-stopped + + lidarr: + image: linuxserver/lidarr + container_name: lidarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TZ:-America/Los_Angeles} + volumes: + - ./config/lidarr:/config + - /mnt/media/music:/music + - /mnt/media/downloads:/downloads + ports: + - 8686:8686 + restart: unless-stopped + + # ─── Request Management ─────────────────────── + jellyseerr: + image: fallenbagel/jellyseerr:latest + container_name: jellyseerr + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TZ:-America/Los_Angeles} + volumes: + - ./config/jellyseerr:/app/config + ports: + - 5055:5055 + restart: unless-stopped + + # ─── Media Server ───────────────────────────── + jellyfin: + image: linuxserver/jellyfin + container_name: jellyfin + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TZ:-America/Los_Angeles} + volumes: + - ./config/jellyfin:/config + - /mnt/media/tv:/data/tvshows + - /mnt/media/movies:/data/movies + - /mnt/media/music:/data/music + ports: + - 8096:8096 + - 8920:8920 + restart: unless-stopped + +networks: + gluetun_net: