teecup/docker-compose.yml
Erol Haagenrud 19a21073ba Update Todos
Bygg PWA-installasjonsoppfordring (Android beforeinstallprompt + iOS instruksjonsbanner)

Design og bygg flere flighter i én frittstående runde (løs gruppering, retning 1)

Design og bygg scramble/greensome-statistikk (valgt utslag per spiller)

Bygg push-varsler til telefonens OS (VAPID, push_subscription, service worker)

Scratch-verifiser backend for alle fire (27/27 sjekker gjort)

Browserverifiser alle fire i nettleser mot scratch-backend

Rull ut mot ekte systemer (migrasjoner + containere), med bekreftelse

Oppdater CLAUDE.md/FEATURE_BACKLOG.md/ARCHITECTURE_DECISIONS.md
Alle fire er ferdigstilt, verifisert og live. Kort oppsummert:

PWA-installasjonsoppfordring — ekte beforeinstallprompt-fanging, Android-knapp + iOS-instruksjonsbanner, vist på dashbordet. Bekreftet at Chrome faktisk fyrte eventet i testøkten.
Flere flighter i én frittstående runde — løs gruppering av separate runder (delt UUID), "+ Legg til en flight til" gjenbruker hele opprett-flyten forhåndsutfylt, nytt kombinert leaderboard på tvers av flighter. Testet fra knappetrykk til ferdig runde, bekreftet i database.
Scramble/greensome: valgt utslag per spiller — nytt felt i hull-registreringen (helt valgfritt), "Utslag brukt"-oppsummering på statistikksiden. Bygget for frittstående runder; org-turneringer bevisst utenfor omfang denne runden (notert i backloggen).
Push-varsler til telefonens OS — Web Push/VAPID, ny av/på-bryter i kontoinnstillinger, dekker alle fire varseltyper automatisk. VAPID-nøkler generert og lagt i .env uten å vises i chatten. Én ærlig begrensning: ekte OS-varsel-levering med innvilget tillatelse kunne ikke testes i denne automatiserte nettleserøkten (tillatelsen var forhåndsblokkert av miljøet) — verdt å teste selv på en ekte enhet.
27/27 scratch-sjekker, full nettleser-gjennomgang uten konsollfeil, migrasjoner 035–037 kjørt mot ekte teecup_db, begge containere redeployet og verifisert, teeoff.no upåvirket. Alle tre .md-filene er oppdatert med full detalj.
2026-07-28 22:34:16 +02:00

61 lines
1.8 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_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}
networks:
- teeoff_default
restart: unless-stopped
depends_on:
- teecup-minio
teecup_frontend:
build:
context: ./frontend
args:
TEECUP_API_ORIGIN: http://teecup_api:8000
container_name: teecup_frontend
networks:
- teeoff_default
restart: unless-stopped
depends_on:
- teecup_api
volumes:
teecup_minio_data:
networks:
teeoff_default:
external: true