Files
nickflix/docker-compose.yml

134 lines
3.3 KiB
YAML

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
networks:
- default
- gluetun_net
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
networks:
- default
- gluetun_net
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
networks:
- default
- gluetun_net
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
networks:
- default
- gluetun_net
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: