2026-04-11 16:42:25 +00:00
|
|
|
version: "3.8"
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
agents:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: docker/agents/Dockerfile
|
|
|
|
|
image: disinto/agents:latest
|
|
|
|
|
container_name: disinto-agents
|
2026-04-11 19:44:33 +00:00
|
|
|
restart: unless-stopped
|
|
|
|
|
security_opt:
|
|
|
|
|
- apparmor=unconfined
|
2026-04-11 16:42:25 +00:00
|
|
|
volumes:
|
2026-04-11 19:44:33 +00:00
|
|
|
- agent-data:/home/agent/data
|
|
|
|
|
- project-repos:/home/agent/repos
|
|
|
|
|
- ${CLAUDE_SHARED_DIR:-/var/lib/disinto/claude-shared}:${CLAUDE_SHARED_DIR:-/var/lib/disinto/claude-shared}
|
|
|
|
|
- ${HOME}/.claude.json:/home/agent/.claude.json:ro
|
|
|
|
|
- CLAUDE_BIN_PLACEHOLDER:/usr/local/bin/claude:ro
|
|
|
|
|
- ${HOME}/.ssh:/home/agent/.ssh:ro
|
|
|
|
|
- ${HOME}/.config/sops/age:/home/agent/.config/sops/age:ro
|
|
|
|
|
- woodpecker-data:/woodpecker-data:ro
|
2026-04-11 16:42:25 +00:00
|
|
|
environment:
|
|
|
|
|
- FORGE_URL=http://forgejo:3000
|
2026-04-11 19:44:33 +00:00
|
|
|
- FORGE_REPO=${FORGE_REPO:-disinto-admin/disinto}
|
2026-04-11 16:42:25 +00:00
|
|
|
- FORGE_TOKEN=${FORGE_TOKEN:-}
|
|
|
|
|
- FORGE_REVIEW_TOKEN=${FORGE_REVIEW_TOKEN:-}
|
2026-04-11 19:44:33 +00:00
|
|
|
- FORGE_PLANNER_TOKEN=${FORGE_PLANNER_TOKEN:-}
|
2026-04-11 16:42:25 +00:00
|
|
|
- FORGE_GARDENER_TOKEN=${FORGE_GARDENER_TOKEN:-}
|
2026-04-11 19:44:33 +00:00
|
|
|
- FORGE_VAULT_TOKEN=${FORGE_VAULT_TOKEN:-}
|
2026-04-11 16:42:25 +00:00
|
|
|
- FORGE_SUPERVISOR_TOKEN=${FORGE_SUPERVISOR_TOKEN:-}
|
|
|
|
|
- FORGE_PREDICTOR_TOKEN=${FORGE_PREDICTOR_TOKEN:-}
|
|
|
|
|
- FORGE_ARCHITECT_TOKEN=${FORGE_ARCHITECT_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:-}
|
2026-04-11 19:44:33 +00:00
|
|
|
- FORGE_PASS=${FORGE_PASS:-}
|
2026-04-11 16:42:25 +00:00
|
|
|
- FORGE_ADMIN_PASS=${FORGE_ADMIN_PASS:-}
|
2026-04-11 19:44:33 +00:00
|
|
|
- FACTORY_REPO=${FORGE_REPO:-disinto-admin/disinto}
|
|
|
|
|
- DISINTO_CONTAINER=1
|
|
|
|
|
- PROJECT_NAME=${PROJECT_NAME:-project}
|
|
|
|
|
- PROJECT_REPO_ROOT=/home/agent/repos/${PROJECT_NAME:-project}
|
|
|
|
|
- WOODPECKER_DATA_DIR=/woodpecker-data
|
|
|
|
|
- WOODPECKER_REPO_ID=${WOODPECKER_REPO_ID:-}
|
|
|
|
|
- CLAUDE_CONFIG_DIR=${CLAUDE_CONFIG_DIR:-/var/lib/disinto/claude-shared/config}
|
|
|
|
|
- POLL_INTERVAL=${POLL_INTERVAL:-300}
|
|
|
|
|
- GARDENER_INTERVAL=${GARDENER_INTERVAL:-21600}
|
|
|
|
|
- ARCHITECT_INTERVAL=${ARCHITECT_INTERVAL:-21600}
|
|
|
|
|
- PLANNER_INTERVAL=${PLANNER_INTERVAL:-43200}
|
2026-04-11 16:42:25 +00:00
|
|
|
depends_on:
|
|
|
|
|
- forgejo
|
2026-04-11 19:44:33 +00:00
|
|
|
- woodpecker
|
|
|
|
|
networks:
|
|
|
|
|
- disinto-net
|
2026-04-11 16:42:25 +00:00
|
|
|
|
|
|
|
|
agents-llama:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: docker/agents/Dockerfile
|
|
|
|
|
image: disinto/agents-llama:latest
|
|
|
|
|
container_name: disinto-agents-llama
|
2026-04-11 19:44:33 +00:00
|
|
|
restart: unless-stopped
|
|
|
|
|
security_opt:
|
|
|
|
|
- apparmor=unconfined
|
2026-04-11 16:42:25 +00:00
|
|
|
volumes:
|
2026-04-11 19:44:33 +00:00
|
|
|
- agent-data:/home/agent/data
|
|
|
|
|
- project-repos:/home/agent/repos
|
|
|
|
|
- ${CLAUDE_SHARED_DIR:-/var/lib/disinto/claude-shared}:${CLAUDE_SHARED_DIR:-/var/lib/disinto/claude-shared}
|
|
|
|
|
- ${HOME}/.claude.json:/home/agent/.claude.json:ro
|
|
|
|
|
- CLAUDE_BIN_PLACEHOLDER:/usr/local/bin/claude:ro
|
|
|
|
|
- ${HOME}/.ssh:/home/agent/.ssh:ro
|
|
|
|
|
- ${HOME}/.config/sops/age:/home/agent/.config/sops/age:ro
|
|
|
|
|
- woodpecker-data:/woodpecker-data:ro
|
2026-04-11 16:42:25 +00:00
|
|
|
environment:
|
|
|
|
|
- FORGE_URL=http://forgejo:3000
|
2026-04-11 19:44:33 +00:00
|
|
|
- FORGE_REPO=${FORGE_REPO:-disinto-admin/disinto}
|
|
|
|
|
- FORGE_TOKEN=${FORGE_TOKEN_LLAMA:-}
|
|
|
|
|
- FORGE_PASS=${FORGE_PASS_LLAMA:-}
|
2026-04-11 16:42:25 +00:00
|
|
|
- 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}
|
|
|
|
|
- CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=60
|
|
|
|
|
- CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
|
|
|
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
|
|
|
- ANTHROPIC_BASE_URL=${ANTHROPIC_BASE_URL:-}
|
|
|
|
|
- FORGE_ADMIN_PASS=${FORGE_ADMIN_PASS:-}
|
2026-04-11 19:44:33 +00:00
|
|
|
- DISINTO_CONTAINER=1
|
2026-04-11 16:42:25 +00:00
|
|
|
- PROJECT_TOML=projects/disinto.toml
|
2026-04-11 19:44:33 +00:00
|
|
|
- PROJECT_NAME=${PROJECT_NAME:-project}
|
|
|
|
|
- PROJECT_REPO_ROOT=/home/agent/repos/${PROJECT_NAME:-project}
|
|
|
|
|
- WOODPECKER_DATA_DIR=/woodpecker-data
|
|
|
|
|
- WOODPECKER_REPO_ID=${WOODPECKER_REPO_ID:-}
|
|
|
|
|
- CLAUDE_CONFIG_DIR=${CLAUDE_CONFIG_DIR:-/var/lib/disinto/claude-shared/config}
|
2026-04-11 16:42:25 +00:00
|
|
|
- POLL_INTERVAL=${POLL_INTERVAL:-300}
|
|
|
|
|
- AGENT_ROLES=dev
|
|
|
|
|
depends_on:
|
|
|
|
|
- forgejo
|
2026-04-11 19:44:33 +00:00
|
|
|
- woodpecker
|
|
|
|
|
networks:
|
|
|
|
|
- disinto-net
|
2026-04-11 16:42:25 +00:00
|
|
|
|
|
|
|
|
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
|
|
|
|
|
env_file:
|
|
|
|
|
- .env
|
|
|
|
|
|
|
|
|
|
edge:
|
|
|
|
|
build:
|
|
|
|
|
context: docker/edge
|
|
|
|
|
dockerfile: Dockerfile
|
|
|
|
|
image: disinto/edge:latest
|
|
|
|
|
container_name: disinto-edge
|
2026-04-11 19:44:33 +00:00
|
|
|
security_opt:
|
|
|
|
|
- apparmor=unconfined
|
2026-04-11 16:42:25 +00:00
|
|
|
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
|
|
|
|
|
- FORGE_REPO=disinto-admin/disinto
|
|
|
|
|
- FORGE_OPS_REPO=disinto-admin/disinto-ops
|
|
|
|
|
- PRIMARY_BRANCH=main
|
|
|
|
|
- DISINTO_CONTAINER=1
|
|
|
|
|
- FORGE_ADMIN_USERS=disinto-admin,vault-bot,admin
|
|
|
|
|
ports:
|
|
|
|
|
- "80:80"
|
|
|
|
|
- "443:443"
|
|
|
|
|
depends_on:
|
|
|
|
|
- forgejo
|
2026-04-11 19:44:33 +00:00
|
|
|
networks:
|
|
|
|
|
- disinto-net
|
2026-04-11 16:42:25 +00:00
|
|
|
|
|
|
|
|
forgejo:
|
|
|
|
|
image: codeberg.org/forgejo/forgejo:11.0
|
|
|
|
|
container_name: disinto-forgejo
|
2026-04-11 19:44:33 +00:00
|
|
|
restart: unless-stopped
|
|
|
|
|
security_opt:
|
|
|
|
|
- apparmor=unconfined
|
2026-04-11 16:42:25 +00:00
|
|
|
volumes:
|
2026-04-11 19:44:33 +00:00
|
|
|
- forgejo-data:/data
|
2026-04-11 16:42:25 +00:00
|
|
|
environment:
|
|
|
|
|
- FORGEJO__database__DB_TYPE=sqlite3
|
2026-04-11 19:44:33 +00:00
|
|
|
- FORGEJO__server__ROOT_URL=http://forgejo:3000/
|
|
|
|
|
- FORGEJO__server__HTTP_PORT=3000
|
|
|
|
|
- FORGEJO__security__INSTALL_LOCK=true
|
2026-04-11 16:42:25 +00:00
|
|
|
- FORGEJO__service__DISABLE_REGISTRATION=true
|
2026-04-11 19:44:33 +00:00
|
|
|
- FORGEJO__webhook__ALLOWED_HOST_LIST=private
|
2026-04-11 16:42:25 +00:00
|
|
|
ports:
|
|
|
|
|
- "3000:3000"
|
2026-04-11 19:44:33 +00:00
|
|
|
networks:
|
|
|
|
|
- disinto-net
|
2026-04-11 16:42:25 +00:00
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
disinto-logs:
|
|
|
|
|
agent-data:
|
|
|
|
|
project-repos:
|
2026-04-11 19:44:33 +00:00
|
|
|
woodpecker-data:
|
|
|
|
|
forgejo-data:
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
disinto-net:
|
|
|
|
|
driver: bridge
|