bunker-admin 2fa50b001c Merge changemaker-control-panel into v2 monorepo
Absorbs the separate control-panel git repo as a subdirectory.
Instances and backups directories excluded via .gitignore.

Bunker Admin
2026-02-21 11:51:45 -07:00

92 lines
2.3 KiB
YAML

# Changemaker Control Panel — Docker Compose
# Start: docker compose up -d
services:
ccp-postgres:
image: postgres:16-alpine
container_name: ccp-postgres
restart: unless-stopped
environment:
POSTGRES_USER: ccp
POSTGRES_PASSWORD: ${CCP_POSTGRES_PASSWORD:-ccp_secret}
POSTGRES_DB: ccp
volumes:
- ccp-postgres-data:/var/lib/postgresql/data
ports:
- "127.0.0.1:${CCP_POSTGRES_PORT:-5480}:5432"
networks:
- ccp-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ccp -d ccp"]
interval: 10s
timeout: 5s
retries: 5
ccp-redis:
image: redis:7-alpine
container_name: ccp-redis
restart: unless-stopped
command: redis-server --requirepass ${REDIS_PASSWORD:-ccp_redis_secret}
volumes:
- ccp-redis-data:/data
ports:
- "127.0.0.1:${CCP_REDIS_PORT:-6399}:6379"
networks:
- ccp-network
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD:-ccp_redis_secret}", "ping"]
interval: 10s
timeout: 5s
retries: 5
ccp-api:
build:
context: .
dockerfile: Dockerfile.api
container_name: ccp-api
restart: unless-stopped
depends_on:
ccp-postgres:
condition: service_healthy
ccp-redis:
condition: service_healthy
env_file: .env
environment:
DATABASE_URL: postgresql://ccp:${CCP_POSTGRES_PASSWORD:-ccp_secret}@ccp-postgres:5432/ccp
REDIS_URL: redis://:${REDIS_PASSWORD:-ccp_redis_secret}@ccp-redis:6379
ports:
- "${CCP_API_PORT:-5000}:5000"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./api:/app
- /app/node_modules
- ./templates:/app/templates:ro
- /var/run/docker.sock:/var/run/docker.sock
- ${INSTANCES_BASE_PATH}:${INSTANCES_BASE_PATH}
- ${CML_SOURCE_PATH}:${CML_SOURCE_PATH}:ro
- ${BACKUP_STORAGE_PATH}:${BACKUP_STORAGE_PATH}
networks:
- ccp-network
ccp-admin:
build:
context: .
dockerfile: Dockerfile.admin
container_name: ccp-admin
restart: unless-stopped
depends_on:
- ccp-api
ports:
- "${CCP_ADMIN_PORT:-5100}:5100"
networks:
- ccp-network
volumes:
ccp-postgres-data:
ccp-redis-data:
networks:
ccp-network:
driver: bridge