273 lines
8.5 KiB
YAML
273 lines
8.5 KiB
YAML
services:
|
|
gluetun:
|
|
image: qmcgaw/gluetun:latest
|
|
restart: unless-stopped
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
environment:
|
|
VPN_SERVICE_PROVIDER: custom
|
|
VPN_TYPE: wireguard
|
|
|
|
VPN_PORT_FORWARDING: on
|
|
VPN_PORT_FORWARDING_PROVIDER: private internet access
|
|
VPN_PORT_FORWARDING_USERNAME: ${PIA_USER}
|
|
VPN_PORT_FORWARDING_PASSWORD: ${PIA_PASSWORD}
|
|
SERVER_NAMES: ${PIA_SERVER_NAME}
|
|
VPN_PORT_FORWARDING_STATUS_FILE: /gluetun/forwarded_port
|
|
|
|
TZ: Europe/Paris
|
|
DNS_ADDRESS: 1.1.1.1
|
|
FIREWALL_OUTBOUND_SUBNETS: 10.10.0.0/24
|
|
|
|
WIREGUARD_MTU: "1280"
|
|
|
|
HEALTH_VPN_DURATION_INITIAL: 30s
|
|
HEALTH_VPN_DURATION_ADDITION: 30s
|
|
HEALTH_VPN_INTERVAL: 30s
|
|
HEALTH_VPN_ENDPOINT_IP: 1.1.1.1
|
|
|
|
VPN_PORT_FORWARDING_UP_COMMAND: >-
|
|
/bin/sh -c 'wget -O- -nv --retry-connrefused
|
|
--post-data "json={\"listen_port\":{{PORT}},\"current_network_interface\":\"{{VPN_INTERFACE}}\",\"random_port\":false,\"upnp\":false}"
|
|
http://127.0.0.1:8090/api/v2/app/setPreferences'
|
|
|
|
VPN_PORT_FORWARDING_DOWN_COMMAND: >-
|
|
/bin/sh -c 'wget -O- -nv --retry-connrefused
|
|
--post-data "json={\"listen_port\":0,\"current_network_interface\":\"lo\"}"
|
|
http://127.0.0.1:8090/api/v2/app/setPreferences'
|
|
volumes:
|
|
- /home/docker/DenGate:/gluetun
|
|
- /home/docker/DenGate/nl_netherlands-so.conf:/gluetun/wireguard/wg0.conf:ro
|
|
ports:
|
|
- 6881:6881
|
|
- 6881:6881/udp
|
|
- 8085:8090
|
|
- 8787:8080
|
|
- 9696:9696
|
|
- 7878:7878
|
|
- 8989:8989
|
|
- 5055:5055
|
|
- 9117:9117
|
|
- 8191:8191
|
|
- 8265:8265
|
|
- 8266:8266
|
|
networks:
|
|
tan-network:
|
|
ipv4_address: 10.10.0.120
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=tan-network
|
|
|
|
- traefik.http.routers.qbittorrent.rule=Host(`torrent.luckyden.org`)
|
|
- traefik.http.routers.qbittorrent.entrypoints=websecure
|
|
- traefik.http.routers.qbittorrent.tls.certresolver=cloudflare
|
|
- traefik.http.routers.qbittorrent.service=qbittorrent
|
|
- traefik.http.services.qbittorrent.loadbalancer.server.port=8090
|
|
|
|
- traefik.http.routers.neko.rule=Host(`neko.luckyden.org`)
|
|
- traefik.http.routers.neko.entrypoints=websecure
|
|
- traefik.http.routers.neko.tls.certresolver=cloudflare
|
|
- traefik.http.routers.neko.service=neko
|
|
- traefik.http.services.neko.loadbalancer.server.port=8080
|
|
|
|
- traefik.http.routers.prowlarr.rule=Host(`prowlarr.luckyden.org`)
|
|
- traefik.http.routers.prowlarr.entrypoints=websecure
|
|
- traefik.http.routers.prowlarr.tls.certresolver=cloudflare
|
|
- traefik.http.routers.prowlarr.service=prowlarr
|
|
- traefik.http.services.prowlarr.loadbalancer.server.port=9696
|
|
|
|
- traefik.http.routers.radarr.rule=Host(`radarr.luckyden.org`)
|
|
- traefik.http.routers.radarr.entrypoints=websecure
|
|
- traefik.http.routers.radarr.tls.certresolver=cloudflare
|
|
- traefik.http.routers.radarr.service=radarr
|
|
- traefik.http.services.radarr.loadbalancer.server.port=7878
|
|
|
|
- traefik.http.routers.sonarr.rule=Host(`sonarr.luckyden.org`)
|
|
- traefik.http.routers.sonarr.entrypoints=websecure
|
|
- traefik.http.routers.sonarr.tls.certresolver=cloudflare
|
|
- traefik.http.routers.sonarr.service=sonarr
|
|
- traefik.http.services.sonarr.loadbalancer.server.port=8989
|
|
|
|
- traefik.http.routers.seerr.rule=Host(`jellyseerr.luckyden.org`)
|
|
- traefik.http.routers.seerr.entrypoints=websecure
|
|
- traefik.http.routers.seerr.tls.certresolver=cloudflare
|
|
- traefik.http.routers.seerr.service=seerr
|
|
- traefik.http.services.seerr.loadbalancer.server.port=5055
|
|
|
|
- traefik.http.routers.tdarr.rule=Host(`tdarr.luckyden.org`)
|
|
- traefik.http.routers.tdarr.entrypoints=websecure
|
|
- traefik.http.routers.tdarr.tls.certresolver=cloudflare
|
|
- traefik.http.routers.tdarr.service=tdarr
|
|
- traefik.http.services.tdarr.loadbalancer.server.port=8265
|
|
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "/gluetun-entrypoint healthcheck"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
start_period: 90s
|
|
retries: 12
|
|
|
|
qbittorrent:
|
|
image: lscr.io/linuxserver/qbittorrent:latest
|
|
restart: unless-stopped
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
- WEBUI_PORT=8090
|
|
- DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent
|
|
volumes:
|
|
- /home/docker/BitDen/config:/config
|
|
- /mnt/bindmounts/multimedia/Downloads:/downloads
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
neko:
|
|
image: ghcr.io/m1k1o/neko/firefox:latest
|
|
restart: unless-stopped
|
|
shm_size: 2gb
|
|
network_mode: service:gluetun
|
|
volumes:
|
|
- /home/docker/BrowDen/firefox:/home/neko/.mozilla/firefox
|
|
environment:
|
|
- NEKO_WEBRTC_EPR=52000-52100
|
|
- NEKO_WEBRTC_ICELITE=1
|
|
- NEKO_WEBRTC_NAT1TO1=192.168.0.9
|
|
- NEKO_MEMBER_MULTIUSER_USER_PASSWORD=${NEKO_USER_PASS}
|
|
- NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=${NEKO_ADMIN_PASS}
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
prowlarr:
|
|
image: lscr.io/linuxserver/prowlarr:latest
|
|
restart: unless-stopped
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- /home/docker/ProwDen/config:/config
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
jackett:
|
|
image: lscr.io/linuxserver/jackett:latest
|
|
restart: unless-stopped
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- FLARESOLVERR_URL=http://127.0.0.1:8191
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
- AUTO_UPDATE=true
|
|
volumes:
|
|
- /home/docker/ProwDen/jackett/config:/config
|
|
- /home/docker/ProwDen/jackett/downloads:/downloads
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
flaresolverr:
|
|
image: ghcr.io/flaresolverr/flaresolverr:latest
|
|
restart: unless-stopped
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
- LOG_LEVEL=info
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
radarr:
|
|
image: lscr.io/linuxserver/radarr:latest
|
|
restart: unless-stopped
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- /home/docker/RadDen/config:/config
|
|
- /mnt/bindmounts/multimedia/Médias:/movies
|
|
- /mnt/bindmounts/multimedia/Downloads:/downloads
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
sonarr:
|
|
image: lscr.io/linuxserver/sonarr:latest
|
|
restart: unless-stopped
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- /home/docker/SonDen/config:/config
|
|
- /mnt/bindmounts/multimedia/Médias:/tv
|
|
- /mnt/bindmounts/multimedia/Downloads:/downloads
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
seerr:
|
|
image: ghcr.io/seerr-team/seerr:latest
|
|
restart: unless-stopped
|
|
init: true
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- LOG_LEVEL=debug
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- /home/docker/DenRequest/config:/app/config
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
tdarr:
|
|
image: ghcr.io/haveagitgat/tdarr:latest
|
|
restart: unless-stopped
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- UMASK_SET=002
|
|
- serverIP=0.0.0.0
|
|
- serverPort=8266
|
|
- webUIPort=8265
|
|
- auth=true
|
|
- authSecretKey=${RENDEN_SECRET_KEY}
|
|
- apiKey=${RENDEN_API_KEY}
|
|
- internalNode=true
|
|
- inContainer=true
|
|
- ffmpegVersion=6
|
|
- nodeName=RenDen_node
|
|
- NVIDIA_DRIVER_CAPABILITIES=all
|
|
- NVIDIA_VISIBLE_DEVICES=all
|
|
volumes:
|
|
- /home/docker/RenDen/server:/app/server
|
|
- /home/docker/RenDen/configs:/app/configs
|
|
- /home/docker/RenDen/logs:/app/logs
|
|
- /mnt/bindmounts/multimedia/Médias/Séries:/media/séries
|
|
- /mnt/bindmounts/multimedia/Médias/Films:/media/films
|
|
- /mnt/bindmounts/multimedia/Médias/Animes:/media/animes
|
|
- /mnt/bindmounts/multimedia/Médias/Animations:/media/animations
|
|
- /mnt/bindmounts/multimedia/Médias/Animes Jeunesse:/media/animes jeunesse
|
|
- /tmp/tdarr/transcodes:/temp
|
|
devices:
|
|
- /dev/dri:/dev/dri
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
networks:
|
|
tan-network:
|
|
external: true |