services: syncthing: image: syncthing/syncthing:2.1.2@sha256:4464f4161dd0251e20d46bb3aec83363db75d80cef1abdd5d5fd4054b04a004d user: "1001:1001" entrypoint: ["/e2e/start-syncthing.sh"] hostname: syncthing-cache-1 volumes: - ../common/start-syncthing.sh:/e2e/start-syncthing.sh:ro - ./secrets:/run/secrets:ro - ./runtime/syncthing:/var/syncthing - ./runtime/sync:/sync networks: archive-control-e2e: aliases: [syncthing-cache-1] healthcheck: test: ["CMD-SHELL", "curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -q OK"] interval: 2s timeout: 2s retries: 30 restart: unless-stopped qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest@sha256:b024436f8ca665d16d9a997d26fd27fdf867ee5566ba09f32764e7b2976d3e02 environment: PUID: "1001" PGID: "1001" TZ: Etc/UTC WEBUI_PORT: "8080" TORRENTING_PORT: "6881" volumes: - ./runtime/qb-config:/config - ./runtime/qb-data:/downloads networks: archive-control-e2e: aliases: [qb-cache-1] healthcheck: test: ["CMD-SHELL", "curl -fsS -m 2 http://127.0.0.1:8080/api/v2/app/version >/dev/null"] interval: 2s timeout: 2s retries: 30 restart: unless-stopped client: image: archive-clients:e2e build: context: ../.. dockerfile: Dockerfile user: "1001:1001" command: ["--config", "/etc/archive-control/client.toml"] depends_on: syncthing: condition: service_healthy qbittorrent: condition: service_healthy volumes: - ./config/client.toml:/etc/archive-control/client.toml:ro - ./secrets:/run/secrets:ro - ./runtime/client-state:/var/lib/archive-control - ./runtime/client-backups:/var/backups/archive-control - ./runtime/qb-data:/data/qb - ./runtime/sync:/data/sync networks: archive-control-e2e: aliases: [client-cache-1] restart: unless-stopped networks: archive-control-e2e: external: true name: archive-control-e2e