Empirisk push viste at repoet ikke hadde noen aktiv runner (jobb ble stående som "Waiting"). Satt opp act_runner lokalt på serveren (Docker-utenfor-Docker, docker.sock automount) siden run_backend_tests.sh er avhengig av teeoff_db/teeoff_default som kun finnes her. Kjører nå som egen tjeneste i docker-compose.yml. Se ADR-059 og CHANGELOG punkt 68. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
91 lines
3.2 KiB
YAML
91 lines
3.2 KiB
YAML
services:
|
|
# Bindestrek, IKKE understrek: MinIO validerer Host-headeren strengt og
|
|
# avviser understrek som ugyldig vertsnavn (funnet under scratch-
|
|
# verifisering -- se CLAUDE.md-status).
|
|
teecup-minio:
|
|
image: minio/minio:latest
|
|
container_name: teecup-minio
|
|
environment:
|
|
MINIO_ROOT_USER: ${TEECUP_MINIO_ROOT_USER}
|
|
MINIO_ROOT_PASSWORD: ${TEECUP_MINIO_ROOT_PASSWORD}
|
|
command: server /data --console-address ":9001"
|
|
volumes:
|
|
- teecup_minio_data:/data
|
|
networks:
|
|
- teeoff_default
|
|
restart: unless-stopped
|
|
|
|
teecup_api:
|
|
build: .
|
|
container_name: teecup_api
|
|
environment:
|
|
TEECUP_DB_HOST: ${TEECUP_DB_HOST}
|
|
TEECUP_DB_PORT: ${TEECUP_DB_PORT}
|
|
TEECUP_DB_NAME: ${TEECUP_DB_NAME}
|
|
TEECUP_DB_USER: ${TEECUP_DB_USER}
|
|
TEECUP_DB_PASS: ${TEECUP_DB_PASS}
|
|
TEECUP_SESSION_SECRET: ${TEECUP_SESSION_SECRET}
|
|
TEECUP_SMTP_SERVER: ${TEECUP_SMTP_SERVER}
|
|
TEECUP_SMTP_PORT: ${TEECUP_SMTP_PORT}
|
|
TEECUP_SMTP_USER: ${TEECUP_SMTP_USER}
|
|
TEECUP_SMTP_PASS: ${TEECUP_SMTP_PASS}
|
|
TEECUP_FROM_EMAIL: ${TEECUP_FROM_EMAIL}
|
|
TEECUP_PUBLIC_BASE_URL: ${TEECUP_PUBLIC_BASE_URL}
|
|
TEECUP_MINIO_ROOT_USER: ${TEECUP_MINIO_ROOT_USER}
|
|
TEECUP_MINIO_ROOT_PASSWORD: ${TEECUP_MINIO_ROOT_PASSWORD}
|
|
TEECUP_MINIO_BUCKET: ${TEECUP_MINIO_BUCKET}
|
|
TEECUP_VAPID_PRIVATE_KEY: ${TEECUP_VAPID_PRIVATE_KEY}
|
|
TEECUP_VAPID_PUBLIC_KEY: ${TEECUP_VAPID_PUBLIC_KEY}
|
|
TEECUP_VAPID_SUBJECT: ${TEECUP_VAPID_SUBJECT}
|
|
TEECUP_MAPBOX_SECRET_TOKEN: ${TEECUP_MAPBOX_SECRET_TOKEN}
|
|
networks:
|
|
- teeoff_default
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- teecup-minio
|
|
|
|
teecup_frontend:
|
|
build:
|
|
context: ./frontend
|
|
args:
|
|
TEECUP_API_ORIGIN: http://teecup_api:8000
|
|
NEXT_PUBLIC_MAPBOX_TOKEN: ${NEXT_PUBLIC_MAPBOX_TOKEN}
|
|
container_name: teecup_frontend
|
|
networks:
|
|
- teeoff_default
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- teecup_api
|
|
|
|
# Selvhostet Forgejo Actions-runner (ADR-059, 2026-08-10) -- kjører
|
|
# backend-testsuiten (.forgejo/workflows/backend-tests.yml) automatisk
|
|
# ved push. Docker-utenfor-Docker (docker_host: automount i
|
|
# .forgejo-runner/config.yaml): jobb-containeren får docker.sock
|
|
# bind-mountet inn, slik at scripts/run_backend_tests.sh kan opprette
|
|
# SINE EGNE scratch-db-/testcontainere via HOST-ens docker-daemon --
|
|
# ikke en nøstet docker-daemon inni runneren. `.runner`-fila i
|
|
# .forgejo-runner/ er en ekte, langlevd registreringshemmelighet
|
|
# (gitignored, ALDRI committet).
|
|
#
|
|
# group_add: 112 er docker-gruppens GID på DENNE verten (`stat -c %g
|
|
# /var/run/docker.sock`) -- uten den kan ikke runner-prosessen (som
|
|
# kjører som en ikke-root-bruker i imaget) lese sokkelen, selv når den
|
|
# er mountet inn. Sjekk/juster GID-en om dette flyttes til en annen vert.
|
|
teecup-forgejo-runner:
|
|
image: code.forgejo.org/forgejo/runner:6
|
|
container_name: teecup-forgejo-runner
|
|
command: forgejo-runner daemon --config config.yaml
|
|
working_dir: /data
|
|
group_add:
|
|
- "112"
|
|
volumes:
|
|
- ./.forgejo-runner:/data
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
teecup_minio_data:
|
|
|
|
networks:
|
|
teeoff_default:
|
|
external: true
|