Absorbs the separate control-panel git repo as a subdirectory. Instances and backups directories excluded via .gitignore. Bunker Admin
92 lines
2.3 KiB
YAML
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
|