Docker-first med AI: min grundmodell
Så tänker jag när jag låter AI hjälpa till att bygga appar som ska köras i Docker på en riktig server.
Docker-first med AI: min grundmodell
När jag bygger egna appar vill jag oftast att de ska gå att köra i Docker från början.
Det är inte för att Docker är lösningen på allt, utan för att det gör bygget mer likt verklig drift redan från start.
Vad Docker-first betyder för mig
Docker-first betyder att projektet tidigt ska ha:
- Dockerfile
- docker-compose.yml
- .dockerignore
- dokumenterad env
- healthcheck
- tydlig port
- persistent datavolym
- migrationsflöde
- startkommando
- loggar som går att läsa
Det gör att jag kan testa appen på samma sätt som den senare ska köras.
Varför det passar AI-byggen
AI kan ofta bygga en app snabbt med npm run dev.
Men om projektet ska leva vidare behöver man mer än det.
Jag vill att Codex tidigt ska behöva bevisa:
docker compose config
docker compose up -d --build
curl -fsS http://127.0.0.1:4180/api/health
Då upptäcker man snabbt problem med saknade env-variabler, fel port, build-fel, migrations eller databasanslutning.
En bra första Docker-prompt
Bygg projektet Docker-first.
Det ska finnas:
- Dockerfile med production build
- docker-compose.yml med web och db
- persistent Postgres volume
- healthcheck mot /api/health
- env-validering
- migrate deploy vid containerstart
- dokumentation för start, logs, backup och restore
Det ska gå att köra:
docker compose up -d --build
Det gör stor skillnad jämfört med att bara be AI “lägg till Docker”.
Healthcheck är viktigare än man tror
En app som startar är inte samma sak som en app som fungerar.
Därför vill jag ha en health endpoint som kontrollerar databas:
GET /api/health
Svaret bör vara enkelt och inte läcka hemligheter:
{
"status": "ok",
"app": "ok",
"db": "ok"
}
Backup från början
När databasen börjar innehålla riktiga artiklar behövs backup.
Miniminivå:
- Postgres dump
- timestampat filnamn
- restore-script
- dokumenterad restore
- gärna restore-verify
När bilder finns måste även uploads in i backupflödet.
Slutsats
Docker-first gör AI-byggen mer verkliga.
Det tvingar projektet att tidigt svara på frågor som annars skjuts upp: hur startar appen, var ligger datan, hur migreras databasen, hur gör jag backup och hur vet jag att appen är frisk?