name: devrunbook-dev x-dev-environment: &dev-environment DATABASE_URL: postgresql://devrunbook:devrunbook-local-only@postgres:5432/devrunbook PUBLIC_BASE_URL: http://localhost:${DEVRUNBOOK_DEV_PORT:-3000} SESSION_SECRET: local-development-session-secret-change-before-sharing INTEGRATION_ENCRYPTION_KEY: bG9jYWwtZGV2LWVuY3J5cHRpb24ta2V5LTAwMDAwMDA= INTEGRATION_ENCRYPTION_KEY_VERSION: dev-v1 CONTENT_ROOT: /app/content ARTIFACT_ROOT: /artifacts REGISTRATION_MODE: closed MAINTENANCE_MODE: 'false' LOG_LEVEL: debug services: postgres: image: postgres:17.9-bookworm@sha256:47f917f7409eacd22fc5dfb1dee634e1b55cf0c01d1a7eb701be2227a03e0641 environment: POSTGRES_DB: devrunbook POSTGRES_USER: devrunbook POSTGRES_PASSWORD: devrunbook-local-only ports: - '127.0.0.1:${POSTGRES_DEV_PORT:-5432}:5432' volumes: - postgres-dev-data:/var/lib/postgresql/data healthcheck: test: ['CMD-SHELL', 'pg_isready -U devrunbook -d devrunbook'] interval: 5s timeout: 5s retries: 10 migrate: build: context: . target: migrate environment: *dev-environment depends_on: postgres: condition: service_healthy restart: 'no' web: build: context: . target: development command: pnpm --filter @devrunbook/web exec next dev --hostname 0.0.0.0 environment: *dev-environment depends_on: migrate: condition: service_completed_successfully ports: - '127.0.0.1:${DEVRUNBOOK_DEV_PORT:-3000}:3000' volumes: - artifacts-dev:/artifacts develop: watch: - action: sync path: . target: /app ignore: - .git/ - node_modules/ - '**/node_modules/' - .next/ - '**/.next/' - dist/ - '**/dist/' - action: rebuild path: pnpm-lock.yaml worker: build: context: . target: development command: pnpm --filter @devrunbook/worker dev environment: *dev-environment depends_on: migrate: condition: service_completed_successfully volumes: - artifacts-dev:/artifacts develop: watch: - action: sync path: . target: /app ignore: - .git/ - node_modules/ - '**/node_modules/' - dist/ - '**/dist/' - action: rebuild path: pnpm-lock.yaml volumes: postgres-dev-data: artifacts-dev: