Files
Homelab/jellyfin-compose.yaml

178 lines
4.5 KiB
YAML

services:
gluetun:
container_name: GlueTun-VPN
image: qmcgaw/gluetun
cap_add:
- NET_ADMIN
ports:
- 8080:8080
- 51820:51820
- 51820:51820/udp
- 46931:46931
- 46931:46931/udp
environment:
- VPN_SERVICE_PROVIDER=custom
- VPN_TYPE=wireguard
- VPN_ENDPOINT_IP=${ENDPOINT_IP}
- VPN_ENDPOINT_PORT=${ENDPOINT_PORT}
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDR}
- VPN_DNS_ADDRESS=${DNS_ADDRESS}
- WIREGUARD_PUBLIC_KEY=${PUBLIC_KEY}
- WIREGUARD_PRIVATE_KEY=${PRIVATE_KEY}
- VPN_PORT_FORWARDING=on
- VPN_PORT_FORWARDING_PROVIDER=protonvpn
- VPN_PORT_FORWARDING_STATUS_FILE=/tmp/gluetun/forwarded_port
- TZ=${TZ}
- UPDATER_PERIOD=24h
restart: always
volumes:
- /data/jellyfin:/data/jellyfin
- /data/jellyfin/gluetun:/tmp/gluetun
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: service:gluetun
environment:
- WEBUI_PORT=8080
- PUID=0
- PGID=0
- TZ=${TZ}
# - DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent
volumes:
- /data/jellyfin:/data/jellyfin
- /data/jellyfin/configs/qbittorrent:/config
# - /data/jellyfin/qbittorrent/downloads:/data/jellyfin/qbittorrent/downloads
# ports:
# - 8080:8080
# - 6881:6881
# - 6881:6881/udp
# networks:
# - jellyfin-int
depends_on:
- gluetun
restart: unless-stopped
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
- LOG_HTML=${LOG_HTML:-false}
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
- TZ=${TZ}
#- LANG=fr_FR
#- LANG=en_US
ports:
- 8191:8191
networks:
- jellyfin-int
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=0
- PGID=0
- TZ=${TZ}
volumes:
- /data/jellyfin/configs/prowlarr:/config
ports:
- 9696:9696
networks:
- jellyfin-int
restart: unless-stopped
jackett:
image: lscr.io/linuxserver/jackett:latest
container_name: jackett
environment:
- PUID=0
- PGID=0
- TZ=${TZ}
volumes:
- /data/jellyfin/configs/jackett:/config
ports:
- 9117:9117
networks:
- jellyfin-int
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=0
- PGID=0
- TZ=${TZ}
volumes:
- /data/jellyfin:/data/jellyfin
- /data/jellyfin/configs/sonarr:/config
- /data/jellyfin/sonarr/tv:/tv
- /data/jellyfin/qbittorrent/downloads:/downloads
ports:
- 8989:8989
networks:
- jellyfin-int
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=0
- PGID=0
- TZ=${TZ}
volumes:
- /data/jellyfin:/data/jellyfin
- /data/jellyfin/configs/radarr:/config
- /data/jellyfin/radarr/movies:/movies
- /data/jellyfin/qbittorrent/downloads:/downloads
ports:
- 7878:7878
networks:
- jellyfin-int
restart: unless-stopped
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=0
- PGID=0
- TZ=${TZ}
- NVIDIA_VISIBLE_DEVICES=all
ports:
- 8096:8096
- 8920:8920
- 7359:7359/udp
- 1900:1900/udp
networks:
- jellyfin
- jellyfin-int
volumes:
- /data/library:/data/library:ro
- /data/jellyfin:/data/jellyfin
- /data/jellyfin/configs/jellyfin:/config
- /data/jellyfin/jellyfin/cache:/cache
- /data/jellyfin/sonarr/tv:/data/tvshows
- /data/jellyfin/radarr/movies:/data/movies
- /data/jellyfin/qbittorrent/downloads:/data/media_downloads
restart: unless-stopped
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- LOG_LEVEL=debug
- TZ=${TZ}
ports:
- 5055:5055
volumes:
- /data/jellyfin/configs/jellyseerr:/app/config
restart: unless-stopped
networks:
- jellyfin
- jellyfin-int