Files
Cleanuparr/e2e/docker-compose.e2e.yml

147 lines
3.7 KiB
YAML

services:
keycloak:
image: quay.io/keycloak/keycloak:26.2
command: start-dev --import-realm
volumes:
- ./keycloak-realm.json:/opt/keycloak/data/import/realm.json:ro
ports:
- "8080:8080"
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KC_HOSTNAME: localhost
KC_HOSTNAME_PORT: "8080"
KC_HTTP_ENABLED: "true"
KC_HOSTNAME_STRICT: "false"
healthcheck:
test: ["CMD-SHELL", "cat < /dev/null > /dev/tcp/localhost/8080"]
interval: 5s
timeout: 3s
retries: 30
start_period: 30s
app:
build:
context: ../code
args:
PACKAGES_USERNAME: ${PACKAGES_USERNAME}
PACKAGES_PAT: ${PACKAGES_PAT}
network_mode: host
depends_on:
keycloak:
condition: service_healthy
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
PORT: "5000"
HTTP_PORTS: "5000"
tmpfs:
- /config
volumes:
- ./test-data/downloads:/e2e-downloads
nginx:
image: nginx:1.27-alpine
network_mode: host
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- app
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:4.6.7
network_mode: host
environment:
PUID: "1000"
PGID: "1000"
TZ: "UTC"
WEBUI_PORT: "8090"
TORRENTING_PORT: "6881"
volumes:
- ./test-data/qbittorrent-config:/config
- ./test-data/downloads/qbittorrent:/downloads
healthcheck:
test: ["CMD-SHELL", "wget -q -O- http://localhost:8090/api/v2/app/version > /dev/null 2>&1 || exit 1"]
interval: 5s
timeout: 3s
retries: 60
start_period: 30s
transmission:
image: lscr.io/linuxserver/transmission:4.0.6
network_mode: host
environment:
PUID: "1000"
PGID: "1000"
TZ: "UTC"
USER: "transmission"
PASS: "transmission"
PEERPORT: "51413"
volumes:
- ./test-data/transmission-config:/config
- ./test-data/downloads/transmission:/downloads
healthcheck:
test: ["CMD-SHELL", "wget -q -O- http://localhost:9091/transmission/rpc > /dev/null 2>&1 ; [ $$? -eq 8 ] || [ $$? -eq 0 ]"]
interval: 5s
timeout: 3s
retries: 60
start_period: 30s
deluge:
image: lscr.io/linuxserver/deluge:2.1.1
network_mode: host
environment:
PUID: "1000"
PGID: "1000"
TZ: "UTC"
DELUGE_LOGLEVEL: "info"
volumes:
- ./test-data/deluge-config:/config
- ./test-data/downloads/deluge:/downloads
healthcheck:
test: ["CMD-SHELL", "wget -q -O- http://localhost:8112 > /dev/null 2>&1 || exit 1"]
interval: 5s
timeout: 3s
retries: 60
start_period: 30s
utorrent:
image: ekho/utorrent:latest
platform: linux/amd64
ports:
- "8083:8080"
environment:
UID: "1000"
GID: "1000"
dir_root: "/downloads"
dir_active: "/downloads"
dir_completed: "/downloads"
dir_download: "/downloads"
volumes:
- ./test-data/utorrent-config:/data
- ./test-data/downloads/utorrent:/downloads
healthcheck:
test: ["CMD-SHELL", "wget -q -O- http://localhost:8080/gui/ > /dev/null 2>&1 || exit 1"]
interval: 5s
timeout: 3s
retries: 60
start_period: 30s
rutorrent:
image: lscr.io/linuxserver/rutorrent:latest
ports:
- "8088:80"
environment:
PUID: "1000"
PGID: "1000"
TZ: "UTC"
volumes:
- ./test-data/rutorrent-config:/config
- ./test-data/downloads/rtorrent:/downloads
healthcheck:
test: ["CMD-SHELL", "wget -q -O- http://localhost > /dev/null 2>&1 || exit 1"]
interval: 5s
timeout: 3s
retries: 60
start_period: 60s