services: db: image: postgres:16-alpine container_name: osint-board-db restart: unless-stopped environment: POSTGRES_DB: osint_dev POSTGRES_USER: osint POSTGRES_PASSWORD: osint_secret ports: - "5433:5432" volumes: - osint_postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U osint -d osint_dev"] interval: 3s timeout: 3s retries: 10 app: build: context: . dockerfile: Dockerfile container_name: osint-board-app environment: NODE_ENV: development PORT: 8787 DATABASE_URL: postgres://osint:osint_secret@db:5432/osint_dev CORS_ORIGIN: http://localhost:8787 JWT_SECRET: ${JWT_SECRET:-osint-local-dev-secret} LEVEL_EDITING_ENABLED: "true" MAX_DOCUMENT_BYTES: 26214400 ports: - "8787:8787" depends_on: db: condition: service_healthy command: ["sh", "-c", "npm run migrate:up && npm start"] volumes: osint_postgres_data: