141 lines
5 KiB
YAML
141 lines
5 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
agents:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/agents/Dockerfile
|
|
image: disinto/agents:latest
|
|
container_name: disinto-agents
|
|
volumes:
|
|
- ./data/agents:/home/agent/data
|
|
- ./disinto:/home/agent/disinto:ro
|
|
- /usr/local/bin/claude:/usr/local/bin/claude:ro
|
|
environment:
|
|
- FORGE_URL=http://forgejo:3000
|
|
- FORGE_TOKEN=${FORGE_TOKEN:-}
|
|
- FORGE_REVIEW_TOKEN=${FORGE_REVIEW_TOKEN:-}
|
|
- FORGE_GARDENER_TOKEN=${FORGE_GARDENER_TOKEN:-}
|
|
- FORGE_SUPERVISOR_TOKEN=${FORGE_SUPERVISOR_TOKEN:-}
|
|
- FORGE_PREDICTOR_TOKEN=${FORGE_PREDICTOR_TOKEN:-}
|
|
- FORGE_ARCHITECT_TOKEN=${FORGE_ARCHITECT_TOKEN:-}
|
|
- FORGE_VAULT_TOKEN=${FORGE_VAULT_TOKEN:-}
|
|
- FORGE_PLANNER_TOKEN=${FORGE_PLANNER_TOKEN:-}
|
|
- FORGE_BOT_USERNAMES=${FORGE_BOT_USERNAMES:-}
|
|
- WOODPECKER_TOKEN=${WOODPECKER_TOKEN:-}
|
|
- CLAUDE_TIMEOUT=${CLAUDE_TIMEOUT:-7200}
|
|
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=${CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:-1}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- FORGE_ADMIN_PASS=${FORGE_ADMIN_PASS:-}
|
|
- DISINTO_AGENTS=review,gardener
|
|
depends_on:
|
|
- forgejo
|
|
|
|
agents-llama:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/agents/Dockerfile
|
|
image: disinto/agents-llama:latest
|
|
container_name: disinto-agents-llama
|
|
volumes:
|
|
- ./data/llama:/home/agent/data
|
|
- ./disinto:/home/agent/disinto:ro
|
|
- /usr/local/bin/claude:/usr/local/bin/claude:ro
|
|
environment:
|
|
- FORGE_URL=http://forgejo:3000
|
|
- FORGE_TOKEN=${FORGE_TOKEN_DEVQWEN:-}
|
|
- FORGE_SUPERVISOR_TOKEN=${FORGE_SUPERVISOR_TOKEN:-}
|
|
- FORGE_PREDICTOR_TOKEN=${FORGE_PREDICTOR_TOKEN:-}
|
|
- FORGE_ARCHITECT_TOKEN=${FORGE_ARCHITECT_TOKEN:-}
|
|
- FORGE_VAULT_TOKEN=${FORGE_VAULT_TOKEN:-}
|
|
- FORGE_PLANNER_TOKEN=${FORGE_PLANNER_TOKEN:-}
|
|
- FORGE_BOT_USERNAMES=${FORGE_BOT_USERNAMES:-}
|
|
- WOODPECKER_TOKEN=${WOODPECKER_TOKEN:-}
|
|
- CLAUDE_TIMEOUT=${CLAUDE_TIMEOUT:-7200}
|
|
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=${CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:-1}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- ANTHROPIC_BASE_URL=${ANTHROPIC_BASE_URL:-}
|
|
- FORGE_ADMIN_PASS=${FORGE_ADMIN_PASS:-}
|
|
- DISINTO_AGENTS=dev
|
|
- PROJECT_TOML=projects/disinto.toml
|
|
- FORGE_REPO=${FORGE_REPO:-disinto-admin/disinto}
|
|
- POLL_INTERVAL=${POLL_INTERVAL:-300}
|
|
- AGENT_ROLES=dev
|
|
depends_on:
|
|
- forgejo
|
|
|
|
reproduce:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/reproduce/Dockerfile
|
|
image: disinto-reproduce:latest
|
|
network_mode: host
|
|
profiles: ["reproduce"]
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- agent-data:/home/agent/data
|
|
- project-repos:/home/agent/repos
|
|
- ${HOME}/.claude:/home/agent/.claude
|
|
- /usr/local/bin/claude:/usr/local/bin/claude:ro
|
|
- ${HOME}/.ssh:/home/agent/.ssh:ro
|
|
environment:
|
|
- FORGE_URL=http://forgejo:3000
|
|
- FORGE_TOKEN=${FORGE_TOKEN:-}
|
|
- FORGE_REVIEW_TOKEN=${FORGE_REVIEW_TOKEN:-}
|
|
- FORGE_GARDENER_TOKEN=${FORGE_GARDENER_TOKEN:-}
|
|
- FORGE_SUPERVISOR_TOKEN=${FORGE_SUPERVISOR_TOKEN:-}
|
|
- FORGE_PREDICTOR_TOKEN=${FORGE_PREDICTOR_TOKEN:-}
|
|
- FORGE_ARCHITECT_TOKEN=${FORGE_ARCHITECT_TOKEN:-}
|
|
- FORGE_VAULT_TOKEN=${FORGE_VAULT_TOKEN:-}
|
|
- FORGE_PLANNER_TOKEN=${FORGE_PLANNER_TOKEN:-}
|
|
- FORGE_BOT_USERNAMES=${FORGE_BOT_USERNAMES:-}
|
|
- WOODPECKER_TOKEN=${WOODPECKER_TOKEN:-}
|
|
- CLAUDE_TIMEOUT=${CLAUDE_TIMEOUT:-7200}
|
|
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=${CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:-1}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- FORGE_ADMIN_PASS=${FORGE_ADMIN_PASS:-}
|
|
- DISINTO_CONTAINER=1
|
|
- PROJECT_REPO_ROOT=/home/agent/repos/${PROJECT_NAME:-project}
|
|
- WOODPECKER_DATA_DIR=/woodpecker-data
|
|
|
|
edge:
|
|
build:
|
|
context: docker/edge
|
|
dockerfile: Dockerfile
|
|
image: disinto/edge:latest
|
|
container_name: disinto-edge
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /usr/local/bin/claude:/usr/local/bin/claude:ro
|
|
- ${HOME}/.claude.json:/root/.claude.json:ro
|
|
- ${HOME}/.claude:/root/.claude:ro
|
|
- disinto-logs:/opt/disinto-logs
|
|
environment:
|
|
- FORGE_SUPERVISOR_TOKEN=${FORGE_SUPERVISOR_TOKEN:-}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- CLAUDE_MODEL=claude-sonnet-4-6
|
|
- FORGE_TOKEN=${FORGE_TOKEN:-}
|
|
- FORGE_URL=http://forgejo:3000
|
|
- DISINTO_CONTAINER=1
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
depends_on:
|
|
- forgejo
|
|
|
|
forgejo:
|
|
image: codeberg.org/forgejo/forgejo:1
|
|
container_name: disinto-forgejo
|
|
volumes:
|
|
- ./data/forgejo:/var/lib/forgejo
|
|
environment:
|
|
- FORGEJO__database__DB_TYPE=sqlite3
|
|
- FORGEJO__service__REGISTER_EMAIL_CONFIRMATION=false
|
|
- FORGEJO__service__ENABLE_NOTIFY_MAIL=false
|
|
- FORGEJO__service__DISABLE_REGISTRATION=true
|
|
- FORGEJO__service__REQUIRE_SIGNIN_VIEW=true
|
|
ports:
|
|
- "3000:3000"
|
|
|
|
volumes:
|
|
disinto-logs:
|