prvng_platform/infrastructure/docker/docker-compose.solo.yaml

132 lines
2.5 KiB
YAML
Raw Normal View History

2025-10-07 10:59:52 +01:00
# Solo Mode - Minimal services for single-user local development
# Usage: docker-compose -f infrastructure/docker/docker-compose.yaml -f infrastructure/docker/docker-compose.solo.yaml up
2025-10-07 10:59:52 +01:00
services:
orchestrator:
environment:
- PROVISIONING_MODE=solo
- ORCHESTRATOR_MAX_CONCURRENT_TASKS=3
- ORCHESTRATOR_KMS_ENABLED=true
- ORCHESTRATOR_KMS_SERVER=http://kms:9998
depends_on:
kms:
condition: service_started
2025-10-07 10:59:52 +01:00
deploy:
resources:
limits:
cpus: '1.0'
memory: 1024M
control-center:
environment:
- PROVISIONING_MODE=solo
- CONTROL_CENTER_AUTH_REQUIRED=false
- CONTROL_CENTER_KMS_ENABLED=true
- CONTROL_CENTER_KMS_URL=http://kms:9998
depends_on:
kms:
condition: service_started
2025-10-07 10:59:52 +01:00
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
coredns:
deploy:
resources:
limits:
cpus: '0.25'
memory: 256M
oci-registry:
environment:
- ZOT_AUTH_ENABLED=false
- ZOT_EXTENSIONS_ENABLED=false
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
# Disable services not needed in solo mode
extension-registry:
profiles:
- disabled
gitea:
profiles:
- disabled
api-server:
profiles:
- disabled
api-gateway:
profiles:
- disabled
mcp-server:
profiles:
- disabled
postgres:
profiles:
- disabled
# KMS - Mandatory for all modes per ADR-007
# Solo mode uses local SQLite backend
2025-10-07 10:59:52 +01:00
kms:
image: ghcr.io/cosmian/kms:latest
container_name: provisioning-kms
ports:
- "9998:9998"
volumes:
- kms-data:/data
environment:
- PROVISIONING_MODE=solo
- KMS_DATABASE_PATH=/data/kms.db
- KMS_AUTH_METHOD=none # No auth in solo mode
- KMS_LOG_LEVEL=info
# Health check disabled - KMS container has no networking tools
# Services depend on service_started instead of service_healthy
restart: unless-stopped
networks:
- provisioning-net
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
2025-10-07 10:59:52 +01:00
harbor-core:
profiles:
- disabled
prometheus:
profiles:
- disabled
grafana:
profiles:
- disabled
loki:
profiles:
- disabled
elasticsearch:
profiles:
- disabled
kibana:
profiles:
- disabled
nginx:
profiles:
- disabled
volumes:
kms-data:
driver: local