feat(swarm): add coordinator service and reorganize compose files
- Add coordinator service to docker-compose.swarm.portainer.yml and docker-compose.swarm.yml with full environment config and healthcheck - Add ANTHROPIC_API_KEY and coordinator settings to .env.swarm.example - Move docker-compose.override.yml.example and docker-compose.prod.yml into docker/ directory - Add *.bak to .gitignore Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
# Current Configuration:
|
||||
# - PostgreSQL: ENABLED (internal)
|
||||
# - Valkey: ENABLED (internal)
|
||||
# - Coordinator: ENABLED (internal)
|
||||
# - OpenBao: DISABLED (must use standalone - see docker-compose.openbao.yml)
|
||||
# - Authentik: DISABLED (commented out - using external OIDC)
|
||||
# - Ollama: DISABLED (commented out - using external Ollama)
|
||||
@@ -230,17 +231,51 @@ services:
|
||||
# ======================
|
||||
# Ollama (Optional AI Service)
|
||||
# ======================
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
# ollama:
|
||||
# image: ollama/ollama:latest
|
||||
# env_file: .env
|
||||
# volumes:
|
||||
# - ollama_data:/root/.ollama
|
||||
# healthcheck:
|
||||
# test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"]
|
||||
# interval: 30s
|
||||
# timeout: 10s
|
||||
# retries: 3
|
||||
# start_period: 60s
|
||||
# networks:
|
||||
# - internal
|
||||
# deploy:
|
||||
# restart_policy:
|
||||
# condition: on-failure
|
||||
|
||||
# ======================
|
||||
# Mosaic Coordinator
|
||||
# ======================
|
||||
coordinator:
|
||||
image: git.mosaicstack.dev/mosaic/stack-coordinator:${IMAGE_TAG:-latest}
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ollama_data:/root/.ollama
|
||||
environment:
|
||||
GITEA_WEBHOOK_SECRET: ${GITEA_WEBHOOK_SECRET}
|
||||
GITEA_URL: ${GITEA_URL:-https://git.mosaicstack.dev}
|
||||
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
|
||||
LOG_LEVEL: ${LOG_LEVEL:-info}
|
||||
HOST: 0.0.0.0
|
||||
PORT: 8000
|
||||
COORDINATOR_POLL_INTERVAL: ${COORDINATOR_POLL_INTERVAL:-5.0}
|
||||
COORDINATOR_MAX_CONCURRENT_AGENTS: ${COORDINATOR_MAX_CONCURRENT_AGENTS:-10}
|
||||
COORDINATOR_ENABLED: ${COORDINATOR_ENABLED:-true}
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"]
|
||||
test:
|
||||
[
|
||||
"CMD",
|
||||
"python",
|
||||
"-c",
|
||||
"import urllib.request; urllib.request.urlopen('http://localhost:8000/health')",
|
||||
]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
start_period: 5s
|
||||
networks:
|
||||
- internal
|
||||
deploy:
|
||||
|
||||
Reference in New Issue
Block a user