Files
nas-compose/services/torrents/docker-compose.yml
2023-05-06 10:47:00 +10:00

88 lines
3.7 KiB
YAML

name: torrents${TORRENT_SUFFIX?TORRENT_SUFFIX variable required}
services:
qbittorrent:
# Set hostname to "SERVICE-main" if not suffix is provided. This avoids collisions with other instances using the service name as hostname (default on compose)
hostname: qbittorrent${TORRENT_SUFFIX:--main}
image: hotio/qbittorrent
environment:
PUID: ${NASCOMPOSE_UID?}
PGID: ${NASCOMPOSE_GID?}
VPN_ENABLED: true
VPN_LAN_NETWORK: 192.168.0.0/23
cap_add:
- NET_ADMIN
sysctls:
net.ipv4.conf.all.src_valid_mark: 1
networks:
- reverse-proxy
- torrents
dns:
- 1.1.1.1
- 1.0.0.1
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/qbittorrent_config/:/config/
- ${NASCOMPOSE_DATA?}/torrents${TORRENT_SUFFIX?}/:/data/
# Configuration
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/config/01-natpmp-install:/etc/cont-init.d/01-natpmp-install:ro
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/config/98-gateway-setup:/etc/cont-init.d/98-gateway-setup:ro
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/config/99-cron-start:/etc/cont-init.d/99-cron-start:ro
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/config/setPortForward:/etc/periodic/1min/setPortForward:ro
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/config/updateMaMIP:/etc/periodic/hourly/updateMaMIP:ro
# Secrets
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/secrets/wg0.conf:/config/wireguard/wg0.conf:ro
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.http.routers.qbittorrent${TORRENT_SUFFIX?}.rule=Host(`qbittorrent${TORRENT_SUFFIX?}.${NASCOMPOSE_DOMAIN?}`)
- traefik.http.routers.qbittorrent${TORRENT_SUFFIX?}.middlewares=authelia@file
# API access for nzb360
- traefik.http.routers.qbittorrent${TORRENT_SUFFIX?}-api.rule=Host(`qbittorrent${TORRENT_SUFFIX?}-api.${NASCOMPOSE_DOMAIN?}`)
- traefik.http.routers.qbittorrent${TORRENT_SUFFIX?}-api.middlewares=authelia-basic@file
cross-seed:
# Set hostname to "SERVICE-main" if not suffix is provided. This avoids collisions with other instances using the service name as hostname (default on compose)
hostname: cross-seed${TORRENT_SUFFIX:--main}
image: crossseed/cross-seed
profiles: [torrents${TORRENT_SUFFIX?}-xseed]
user: ${NASCOMPOSE_UID?}:${NASCOMPOSE_GID?}
networks:
- torrents
- indexer
dns:
- 1.1.1.1
- 1.0.0.1
volumes:
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/cross-seed_config/:/config/
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/qbittorrent_config/data/BT_backup/:/torrents/:ro
- ${NASCOMPOSE_DATA?}/torrents${TORRENT_SUFFIX?}/watch/:/cross-seeds/
command: daemon
restart: unless-stopped
qbitmanage:
# Set hostname to "SERVICE-main" if not suffix is provided. This avoids collisions with other instances using the service name as hostname (default on compose)
hostname: qbitmanage${TORRENT_SUFFIX:--main}
image: hotio/qbitmanage
environment:
PUID: ${NASCOMPOSE_UID?}
PGID: ${NASCOMPOSE_GID?}
QBT_SCHEDULE: 30
QBT_WIDTH: 170
networks:
- torrents
volumes:
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/qbitmanage_config/:/config/
- ${NASCOMPOSE_DATA?}/torrents${TORRENT_SUFFIX?}/:/data/
- ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/qbittorrent_config/data/BT_backup/:/torrents/:ro
networks:
torrents:
name: torrents${TORRENT_SUFFIX?}
reverse-proxy:
external: true
indexer:
external: true