# Testoppsett, ikke drift: # # docker compose -f compose.test.yaml up --build # # http://localhost:8091 sentralen: PIN, JWT og OIDC slått på, soner «her», «a», «b» # http://localhost:9000 dummy-IdP som står for crew-panelet # http://localhost:8093 sone-a (uten lyd – bare kø, så fordeling kan ses) # http://localhost:8094 sone-b (samme) # # Stopp sone-b og send til alle, så ser du «nede» på den og «kø» på resten: # docker compose -f compose.test.yaml stop sone-b # # Egen fil og eget prosjektnavn, så den ikke kan forveksles med eller # forstyrre den som kjører i drift. Porten er 8091 av samme grunn. # Koden bind-monteres her, så endringer slår inn med en restart. name: announcer-test services: announcer: build: . ports: ["127.0.0.1:8091:8090"] user: "${PUID:-1000}:${PGID:-1000}" environment: ANNOUNCER_CONFIG: /app/docker/config.test.toml ANNOUNCER_CACHE: /data/cache ANNOUNCER_LOG: /data/logs/announcements.jsonl ANNOUNCER_STATE: /data/instance # Gjenbruker stemmene i repoet (bind-mountet på /app), så testriggen # ikke laster ned 670 MB til en gang. ANNOUNCER_VOICES: /app/voices ANNOUNCER_CHIMES: /data/chimes ANNOUNCER_JWT_SECRET: test-hemmelighet-kun-for-docker-ikke-bruk-ekte ANNOUNCER_OIDC_CLIENT_SECRET: test-client-secret-kun-for-docker ANNOUNCER_PUBLIC_URL: http://localhost:8091 ANNOUNCER_MESH_SECRET: mesh-test-nokkel-kun-for-docker XDG_RUNTIME_DIR: ${XDG_RUNTIME_DIR:-/run/user/1000} TZ: ${TZ:-Europe/Oslo} volumes: - .:/app - ./data:/data - ${XDG_RUNTIME_DIR:-/run/user/1000}:${XDG_RUNTIME_DIR:-/run/user/1000} depends_on: [idp, sone-a, sone-b] # Soner: samme image, bare mesh-nøkkelen satt. Ingen lyd montert inn, så # avspilling feiler der – med vilje, det er fordelingen som skal ses. # tmpfs på /data, så ingen rot-eide mapper dukker opp på verten. sone-a: &sone build: . ports: ["127.0.0.1:8093:8090"] user: "${PUID:-1000}:${PGID:-1000}" environment: &sone-env ANNOUNCER_CONFIG: /finnes-ikke.toml ANNOUNCER_MESH_SECRET: mesh-test-nokkel-kun-for-docker ANNOUNCER_VOICES: /app/voices ANNOUNCER_TITLE: "Sone A" TZ: ${TZ:-Europe/Oslo} volumes: - .:/app tmpfs: - /data:mode=1777 sone-b: <<: *sone ports: ["127.0.0.1:8094:8090"] environment: <<: *sone-env ANNOUNCER_TITLE: "Sone B" idp: build: . ports: ["127.0.0.1:9000:9000"] user: "${PUID:-1000}:${PGID:-1000}" environment: IDP_ISSUER: http://localhost:9000 IDP_CLIENT_ID: announcer IDP_CLIENT_SECRET: test-client-secret-kun-for-docker ANNOUNCER_JWT_SECRET: test-hemmelighet-kun-for-docker-ikke-bruk-ekte ANNOUNCER_PUBLIC_URL: http://localhost:8091 volumes: - .:/app command: ["python", "docker/dummy_idp.py"]