Files
patchmon.net/docker/docker-compose.dev.yml
2025-09-30 00:02:33 +01:00

80 lines
2.0 KiB
YAML

services:
database:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: patchmon_db
POSTGRES_USER: patchmon_user
POSTGRES_PASSWORD: INSECURE_REPLACE_ME_PLEASE_INSECURE
ports:
- "5432:5432"
volumes:
- ./compose_dev_data/db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U patchmon_user -d patchmon_db"]
interval: 3s
timeout: 5s
retries: 7
backend:
build:
context: ..
dockerfile: docker/backend.Dockerfile
target: development
restart: unless-stopped
environment:
NODE_ENV: development
LOG_LEVEL: info
DATABASE_URL: postgresql://patchmon_user:INSECURE_REPLACE_ME_PLEASE_INSECURE@database:5432/patchmon_db
PM_DB_CONN_MAX_ATTEMPTS: 30
PM_DB_CONN_WAIT_INTERVAL: 2
SERVER_PROTOCOL: http
SERVER_HOST: localhost
SERVER_PORT: 3000
CORS_ORIGIN: http://localhost:3000
RATE_LIMIT_WINDOW_MS: 900000
RATE_LIMIT_MAX: 100
ports:
- "3001:3001"
volumes:
- ./compose_dev_data/agents:/app/agents
depends_on:
database:
condition: service_healthy
develop:
watch:
- action: sync
path: ../backend/src
target: /app/backend/src
ignore:
- node_modules/
- action: sync
path: ../backend/prisma
target: /app/backend/prisma
- action: rebuild
path: ../backend/package.json
frontend:
build:
context: ..
dockerfile: docker/frontend.Dockerfile
target: development
restart: unless-stopped
environment:
BACKEND_HOST: backend
BACKEND_PORT: 3001
ports:
- "3000:3000"
depends_on:
backend:
condition: service_healthy
develop:
watch:
- action: sync
path: ../frontend/src
target: /app/frontend/src
ignore:
- node_modules/
- action: rebuild
path: ../frontend/package.json