To reelle driftshendelser, begge funnet og rettet i sanntid: Caddy plukket ikke opp filendringen min — enkeltfil-bind-mount er låst til inoden fra da containeren sist startet; min redigering (atomisk rename) laget en ny inode, så validate/reload/admin-API opererte alle stille på den gamle filen. Løst med full omstart av teeoff_caddy (du bekreftet eksplisitt, siden det avvek fra planens "ingen omstart"-løfte). Alvorlig nettverkskollisjon — oppdaget rett etterpå da ekte teeoff-trafikk (/api/facilities?... med ekte klubbnavn) dukket opp i teecup_api sin logg. docker-compose.yml sin service-nøkkel api: kolliderte med teeoffs eget api-servicenavn på det delte nettverket — Docker Compose gir service-navn som DNS-alias, så begge containerne delte alias api, og Caddy kunne tilfeldig sende ekte brukertrafikk til TeeCup i stedet. Stoppet teecup_api umiddelbart, ga den navnet teecup_api i stedet, bekreftet kollisjonen er borte. Mindre ting underveis: jeg eksponerte ved et uhell to secret-verdier i eget debug-output (du roterte passordet), og lærte at Docker ikke leser .env på nytt for en kjørende container (krever --force-recreate etter hver endring) og at # i et upassordet passord kuttes som kommentar av Compose. Sluttresultat, verifisert ende-til-ende mot den ekte, live stacken: teeoff.no upåvirket gjennom hele prosessen, teecup.teeoff.no/health → 200 med automatisk TLS, full magic-link-innlogging med ekte e-postlevering og Secure-cookie. CLAUDE.md/FEATURE_BACKLOG.md oppdatert med full detaljer, inkludert en generell lærdom for fremtidige tjenester på delt nettverk. To repoer har uncommittede endringer: /opt/teecup (nye Dockerfile/docker-compose.yml/.dockerignore + statusfiler) og /opt/teeoff (Caddyfile-endringen, egen repo). Ingenting committet ennå — si ifra når du vil det.
19 lines
528 B
YAML
19 lines
528 B
YAML
services:
|
|
teecup_api:
|
|
build: .
|
|
container_name: teecup_api
|
|
environment:
|
|
TEECUP_DATABASE_URL: ${TEECUP_DATABASE_URL}
|
|
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}
|
|
networks:
|
|
- teeoff_default
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
teeoff_default:
|
|
external: true
|