version: '3.5' services: # Main nefarious app app: image: 'lardbit/nefarious:latest' restart: 'always' logging: options: max-size: '500k' max-file: '10' depends_on: - 'celery' - 'jackett' - 'redis' environment: - 'DATABASE_URL' - 'REDIS_HOST' - 'HOST_DOWNLOAD_PATH' - 'NEFARIOUS_USER' - 'NEFARIOUS_PASS' - 'CONFIG_PATH=${NEFARIOUS_CONFIG_PATH}' labels: - 'com.centurylinklabs.watchtower.enable=true' networks: - 'default' - 'nginx' volumes: - 'config:${NEFARIOUS_CONFIG_PATH}' # Caching redis: image: 'redis:6-alpine' restart: 'always' labels: - 'com.centurylinklabs.watchtower.enable=true' # Background task queue celery: image: 'lardbit/nefarious:latest' restart: 'always' entrypoint: /env/bin/celery -A nefarious worker --concurrency $CELERY_WORKERS --beat --loglevel=INFO logging: options: max-size: '500k' max-file: '10' depends_on: - 'redis' environment: - 'DATABASE_URL' - 'REDIS_HOST' - 'CONFIG_PATH=${NEFARIOUS_CONFIG_PATH}' labels: - 'com.centurylinklabs.watchtower.enable=true' volumes: - 'config:${NEFARIOUS_CONFIG_PATH}' # Tracker searching jackett: image: 'linuxserver/jackett:latest' restart: 'always' logging: options: max-size: '500k' max-file: '10' labels: - 'com.centurylinklabs.watchtower.enable=true' networks: - 'default' - 'nginx' volumes: - 'jackett-config:/config' # Torrenting server transmission: image: 'linuxserver/transmission:latest' restart: 'always' logging: options: max-size: '500k' max-file: '10' environment: - 'PUID' - 'PGID' - 'TZ' - 'USER=${TRANSMISSION_USER}' - 'PASS=${TRANSMISSION_PASS}' labels: - 'com.centurylinklabs.watchtower.enable=true' ports: - '51413:51413' - '51413:51413/udp' volumes: - '$HOST_DOWNLOAD_PATH:/downloads' - './transmission_settings.json:/config/settings.json' networks: nginx: external: true volumes: config: downloads: jackett-config: