98 lines
2.1 KiB
YAML
98 lines
2.1 KiB
YAML
name: cefense-local
|
|
|
|
services:
|
|
db:
|
|
image: postgres:17-alpine
|
|
environment:
|
|
POSTGRES_DB: cefense
|
|
POSTGRES_USER: cefense
|
|
POSTGRES_PASSWORD: cefense-local
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U cefense -d cefense"]
|
|
interval: 2s
|
|
timeout: 3s
|
|
retries: 20
|
|
volumes:
|
|
- cefense-postgres:/var/lib/postgresql/data
|
|
networks:
|
|
- cefense
|
|
|
|
migrate:
|
|
build:
|
|
context: .
|
|
dockerfile: apps/backend/Dockerfile.local
|
|
command: ["bun", "run", "db:push"]
|
|
environment:
|
|
DATABASE_URL: postgres://cefense:cefense-local@db:5432/cefense
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: "no"
|
|
networks:
|
|
- cefense
|
|
|
|
backend:
|
|
build:
|
|
context: .
|
|
dockerfile: apps/backend/Dockerfile.local
|
|
environment:
|
|
PORT: 3001
|
|
NODE_ENV: development
|
|
FRONTEND_URL: http://localhost:8080
|
|
DATABASE_URL: postgres://cefense:cefense-local@db:5432/cefense
|
|
LOCAL_DEV_AUTH_EMAIL: guest@cefense.local
|
|
LOCAL_DEV_AUTH_FIRST_NAME: Guest
|
|
LOCAL_DEV_AUTH_LAST_NAME: ""
|
|
SCAN_RUNNER: inline
|
|
SCAN_AUTOFIX: "false"
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
migrate:
|
|
condition: service_completed_successfully
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"bun",
|
|
"-e",
|
|
"const r=await fetch('http://127.0.0.1:3001/health');if(!r.ok)process.exit(1)",
|
|
]
|
|
interval: 3s
|
|
timeout: 3s
|
|
retries: 30
|
|
networks:
|
|
- cefense
|
|
|
|
frontend:
|
|
build:
|
|
context: .
|
|
dockerfile: apps/frontend/Dockerfile
|
|
environment:
|
|
PORT: 8080
|
|
BACKEND_URL: http://backend:3001
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"bun",
|
|
"-e",
|
|
"const r=await fetch('http://127.0.0.1:8080/');if(!r.ok)process.exit(1)",
|
|
]
|
|
interval: 3s
|
|
timeout: 3s
|
|
retries: 20
|
|
ports:
|
|
- "8080:8080"
|
|
networks:
|
|
- cefense
|
|
|
|
volumes:
|
|
cefense-postgres:
|
|
|
|
networks:
|
|
cefense:
|
|
driver: bridge
|