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_CONF: wg0-fix VPN_PROVIDER: ${TORRENT_VPN?} VPN_LAN_NETWORK: 192.168.0.0/23 VPN_AUTO_PORT_FORWARD: true VPN_KEEP_LOCAL_DNS: true VPN_FIREWALL_TYPE: legacy 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 volumes: - ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/qbittorrent_config/:/config/ - ${NASCOMPOSE_DATA?}/torrents${TORRENT_SUFFIX?}/:/data/torrents/ # Configuration - ${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/updateMaMIP:/etc/periodic/hourly/updateMaMIP:ro # Secrets - ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/secrets/wg0.conf:/config/wireguard/wg0-fix.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:master 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?}/:/data/ 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: bobokun/qbit_manage user: ${NASCOMPOSE_UID?}:${NASCOMPOSE_GID?} environment: QBT_SCHEDULE: 30 QBT_WIDTH: 170 networks: - torrents volumes: - ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/qbitmanage_config/:/config/ - ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/qbittorrent_config/data/BT_backup/:/torrents/:ro - ${NASCOMPOSE_DATA?}/torrents${TORRENT_SUFFIX?}/:/data/torrents/ restart: unless-stopped unpackerr: # 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: unpackerr{TORRENT_SUFFIX:--main} image: golift/unpackerr profiles: [ "torrents${TORRENT_SUFFIX?}-unpackerr" ] user: ${NASCOMPOSE_UID?}:${NASCOMPOSE_GID?} networks: - torrents volumes: - ${NASCOMPOSE_SERVICES?}/torrents${TORRENT_SUFFIX?}/volumes/unpackerr_config/:/etc/unpackerr/ - ${NASCOMPOSE_DATA?}/torrents${TORRENT_SUFFIX?}/completed/:/data/torrents/completed/ restart: unless-stopped networks: torrents: name: torrents${TORRENT_SUFFIX?} reverse-proxy: external: true # indexer: # external: true