# 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 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 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 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 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 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