services: api: build: context: . target: api environment: NODE_ENV: production PORT: 3000 DATABASE_URL: file:/data/taskboard.db FRONTEND_ORIGIN: http://localhost:8080 init: true ports: - '3000:3000' volumes: - taskboard-data:/data healthcheck: test: [ 'CMD-SHELL', 'node -e "fetch(''http://127.0.0.1:3000/api/v1/health'').then((response) => process.exit(response.ok ? 0 : 1)).catch(() => process.exit(1))"', ] interval: 5s timeout: 3s retries: 12 start_period: 15s web: build: context: . target: web depends_on: api: condition: service_healthy init: true ports: - '8080:8080' healthcheck: test: ['CMD-SHELL', 'nginx -t'] interval: 5s timeout: 3s retries: 12 start_period: 10s volumes: taskboard-data: