Files
mealprep/docker-compose.yml
Marcel Raddatz 82815205d0 Wire frontend into Docker Compose with type-safe API client
- Add frontend service to docker-compose.yml (port 3000, BACKEND_URL env var)
- Add frontend/Dockerfile using adapter-node for plain Node/Docker runtime
- Switch svelte.config.js from adapter-auto to adapter-node
- Generate OpenAPI types from backend spec (openapi-typescript + openapi-fetch)
- Add src/lib/server/api.ts as server-only typed API client factory
- Add generate:api script to regenerate types when backend spec changes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 12:36:09 +02:00

49 lines
1.0 KiB
YAML

services:
db:
image: postgres:16-alpine
container_name: mealprep-db
environment:
POSTGRES_DB: mealprep
POSTGRES_USER: mealprep
POSTGRES_PASSWORD: mealprep
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mealprep"]
interval: 5s
timeout: 3s
retries: 5
app:
build:
context: ./backend
dockerfile: Dockerfile
container_name: mealprep-app
ports:
- "8080:8080"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/mealprep
SPRING_DATASOURCE_USERNAME: mealprep
SPRING_DATASOURCE_PASSWORD: mealprep
SPRING_PROFILES_ACTIVE: docker
depends_on:
db:
condition: service_healthy
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: mealprep-frontend
ports:
- "3000:3000"
environment:
BACKEND_URL: http://app:8080
depends_on:
- app
volumes:
pgdata: