mirror of
https://github.com/firewalkwithm3/stacks.git
synced 2025-07-01 18:37:48 +08:00
134 lines
3.5 KiB
YAML
134 lines
3.5 KiB
YAML
name: qbittorrent
|
|
services:
|
|
cross-seed:
|
|
image: ghcr.io/cross-seed/cross-seed:6
|
|
container_name: cross-seed
|
|
volumes:
|
|
- cross-seed_config:/config
|
|
- /media:/media
|
|
networks:
|
|
- default
|
|
- media
|
|
command: daemon
|
|
restart: unless-stopped
|
|
user: 1000:1800
|
|
|
|
fertilizer:
|
|
image: ghcr.io/moleculekayak/fertilizer:latest
|
|
container_name: fertilizer
|
|
volumes:
|
|
- qbittorrent_config:/torrents:ro
|
|
- /media:/media
|
|
environment:
|
|
- OPS_KEY=${OPS_KEY}
|
|
- RED_KEY=${RED_KEY}
|
|
- INJECT_TORRENTS=true
|
|
- INJECTION_LINK_DIRECTORY=/media/downloads/fertilizer/linked-data
|
|
- QBITTORRENT_URL=http://fern:${QBITTORRENT_PASS}@qbittorrent_gluetun:8080
|
|
networks:
|
|
default:
|
|
ipv4_address: 172.16.7.4
|
|
command: fertilizer -o /media/downloads/fertilizer/torrent-files -i /torrents/qBittorrent/BT_backup --server
|
|
user: 1000:1800
|
|
|
|
qbittorrent:
|
|
image: lscr.io/linuxserver/qbittorrent:latest
|
|
container_name: qbittorrent
|
|
depends_on:
|
|
qbittorrent_gluetun:
|
|
condition: service_healthy
|
|
volumes:
|
|
- qbittorrent_config:/config
|
|
- /media:/media
|
|
environment:
|
|
- WEBUI_PORT=8080
|
|
- PUID=1000
|
|
- PGID=1800
|
|
- TZ=Australia/Perth
|
|
network_mode: service:qbittorrent_gluetun
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "curl -sf https://api.ipify.org || exit 1" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
qbittorrent_gluetun:
|
|
image: qmcgaw/gluetun
|
|
container_name: qbittorrent_gluetun
|
|
volumes:
|
|
- qbittorrent_gluetun_auth:/gluetun/auth
|
|
environment:
|
|
- VPN_SERVICE_PROVIDER=protonvpn
|
|
- VPN_TYPE=wireguard
|
|
- VPN_PORT_FORWARDING=on
|
|
- GLUETUN_HTTP_CONTROL_SERVER_ENABLE=on
|
|
- SERVER_COUNTRIES=Australia
|
|
- WIREGUARD_ADDRESSES=10.2.0.2/32
|
|
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
|
- BLOCK_MALICIOUS=off
|
|
networks:
|
|
- default
|
|
- proxy
|
|
- media
|
|
restart: unless-stopped
|
|
labels:
|
|
caddy: qbittorrent.ferngarden.net
|
|
caddy.import: internal
|
|
caddy.reverse_proxy: "{{upstreams 8080}}"
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
|
|
qbittorrent_qsticky:
|
|
image: ghcr.io/monstermuffin/qsticky:latest
|
|
container_name: qbittorrent_qsticky
|
|
environment:
|
|
- QBITTORRENT_HOST=qbittorrent_gluetun
|
|
- QBITTORRENT_HTTPS=false
|
|
- QBITTORRENT_PORT=8080
|
|
- QBITTORRENT_USER=fern
|
|
- QBITTORRENT_PASS=${QBITTORRENT_PASS}
|
|
- GLUETUN_HOST=qbittorrent_gluetun
|
|
- GLUETUN_AUTH_TYPE=apikey
|
|
- GLUETUN_APIKEY=${GLUETUN_APIKEY}
|
|
- LOG_LEVEL=INFO
|
|
networks:
|
|
- default
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: [ "CMD", "python3", "-c", "import json; exit(0 if json.load(open('/app/health/status.json'))['healthy'] else 1)" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
qbittorrent_mamapi:
|
|
image: elforkhead/mamapi:latest
|
|
container_name: qbittorrent_mamapi
|
|
volumes:
|
|
- /mnt/docker/qbittorrent_mamapi/data:/data
|
|
network_mode: service:qbittorrent_gluetun
|
|
environment:
|
|
TZ: Australia/Perth
|
|
MAM_ID: ${MAM_ID}
|
|
WRITE_CURRENT_MAMID: True
|
|
|
|
networks:
|
|
default:
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 172.16.7.0/24
|
|
proxy:
|
|
external: true
|
|
media:
|
|
external: true
|
|
|
|
volumes:
|
|
qbittorrent_config:
|
|
name: qbittorrent_config
|
|
qbittorrent_gluetun_auth:
|
|
name: qbittorrent_gluetun_auth
|
|
cross-seed_config:
|
|
name: cross-seed_config
|