107 lines
4.2 KiB
YAML
107 lines
4.2 KiB
YAML
services:
|
|
agentci:
|
|
image: ${AGENTCI_IMAGE:-git.krtss.de/stanponomarev/agentci:latest}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
opencode:
|
|
condition: service_healthy
|
|
environment:
|
|
AGENTCI_GITEA_URL: ${AGENTCI_GITEA_URL:-http://gitea:3000}
|
|
AGENTCI_BOT_USERNAME: ${AGENTCI_BOT_USERNAME:-agentci}
|
|
AGENTCI_BOT_NAME: ${AGENTCI_BOT_NAME:-Agent CI}
|
|
AGENTCI_BOT_EMAIL: ${AGENTCI_BOT_EMAIL:-agentci@localhost}
|
|
AGENTCI_OPENCODE_URL: http://opencode:4096
|
|
AGENTCI_OPENCODE_SERVER_USERNAME: ${OPENCODE_SERVER_USERNAME:-opencode}
|
|
AGENTCI_PLAN_MODEL: ${AGENTCI_PLAN_MODEL:-openai/gpt-5.6-sol}
|
|
AGENTCI_PLAN_VARIANT: ${AGENTCI_PLAN_VARIANT:-}
|
|
AGENTCI_IMPLEMENT_MODEL: ${AGENTCI_IMPLEMENT_MODEL:-openai/gpt-5.6-sol}
|
|
AGENTCI_IMPLEMENT_VARIANT: ${AGENTCI_IMPLEMENT_VARIANT:-}
|
|
AGENTCI_EXPLORE_MODEL: ${AGENTCI_EXPLORE_MODEL:-openai/gpt-5.6-luna}
|
|
AGENTCI_EXPLORE_VARIANT: ${AGENTCI_EXPLORE_VARIANT:-low}
|
|
AGENTCI_RESEARCH_MODEL: ${AGENTCI_RESEARCH_MODEL:-openai/gpt-5.6-luna}
|
|
AGENTCI_RESEARCH_VARIANT: ${AGENTCI_RESEARCH_VARIANT:-high}
|
|
AGENTCI_PLAN_REVIEW_ROUNDS: ${AGENTCI_PLAN_REVIEW_ROUNDS:-4}
|
|
AGENTCI_IMPLEMENT_REVIEW_ROUNDS: ${AGENTCI_IMPLEMENT_REVIEW_ROUNDS:-3}
|
|
AGENTCI_TURN_TIMEOUT_SECONDS: ${AGENTCI_TURN_TIMEOUT_SECONDS:-3600}
|
|
AGENTCI_MAX_CONCURRENT_JOBS: ${AGENTCI_MAX_CONCURRENT_JOBS:-2}
|
|
AGENTCI_INSTALL_SCRIPT_TIMEOUT_SECONDS: ${AGENTCI_INSTALL_SCRIPT_TIMEOUT_SECONDS:-900}
|
|
AGENTCI_INSTALL_SCRIPTS: ${AGENTCI_INSTALL_SCRIPTS:-}
|
|
AGENTCI_PYTHON_VERSION: ${AGENTCI_PYTHON_VERSION:-3.13}
|
|
AGENTCI_DOTNET_CHANNEL: ${AGENTCI_DOTNET_CHANNEL:-10.0}
|
|
secrets:
|
|
- gitea_token
|
|
- webhook_secret
|
|
- opencode_server_password
|
|
volumes:
|
|
- ./data/agentci:/var/lib/agentci
|
|
tmpfs:
|
|
- /run/agentci:mode=1777
|
|
expose:
|
|
- "8080"
|
|
networks:
|
|
- gitea
|
|
- agentci_control
|
|
|
|
opencode:
|
|
image: ${AGENTCI_IMAGE:-git.krtss.de/stanponomarev/agentci:latest}
|
|
command: ["opencode", "serve", "--hostname", "0.0.0.0", "--port", "4096"]
|
|
restart: unless-stopped
|
|
environment:
|
|
HOME: /etc/opencode/home
|
|
XDG_CONFIG_HOME: /etc/opencode/xdg
|
|
XDG_DATA_HOME: /var/lib/opencode/data
|
|
XDG_CACHE_HOME: /var/lib/opencode/cache
|
|
XDG_STATE_HOME: /var/lib/opencode/state
|
|
OPENCODE_CONFIG: /etc/opencode/opencode.json
|
|
OPENCODE_DISABLE_PROJECT_CONFIG: "1"
|
|
OPENCODE_DISABLE_EXTERNAL_SKILLS: "1"
|
|
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS: "1"
|
|
OPENCODE_DISABLE_CLAUDE_CODE: "1"
|
|
OPENCODE_DISABLE_AUTOUPDATE: "1"
|
|
OPENCODE_ENABLE_EXA: "1"
|
|
OPENCODE_PURE: "1"
|
|
OPENCODE_SERVER_USERNAME: ${OPENCODE_SERVER_USERNAME:-opencode}
|
|
OPENCODE_SERVER_PASSWORD_FILE: /run/secrets/opencode_server_password
|
|
AGENTCI_GITEA_URL: ${AGENTCI_GITEA_URL:-http://gitea:3000}
|
|
AGENTCI_TEA_CONFIG_HOME: /run/agentci
|
|
AGENTCI_EXPLORE_MODEL: ${AGENTCI_EXPLORE_MODEL:-openai/gpt-5.6-luna}
|
|
AGENTCI_EXPLORE_VARIANT: ${AGENTCI_EXPLORE_VARIANT:-low}
|
|
AGENTCI_RESEARCH_MODEL: ${AGENTCI_RESEARCH_MODEL:-openai/gpt-5.6-luna}
|
|
AGENTCI_RESEARCH_VARIANT: ${AGENTCI_RESEARCH_VARIANT:-high}
|
|
CONTEXT7_API_KEY: ${AGENTCI_CONTEXT7_API_KEY:-}
|
|
PATH: /var/lib/agentci/dev-tools/bin:/opt/agentci/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
secrets:
|
|
- gitea_token
|
|
- opencode_server_password
|
|
volumes:
|
|
- ./data/agentci:/var/lib/agentci
|
|
- ./data/opencode:/var/lib/opencode
|
|
tmpfs:
|
|
- /run/agentci:mode=1777
|
|
expose:
|
|
- "4096"
|
|
networks:
|
|
- gitea
|
|
- agentci_control
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl --fail --silent --user \"$${OPENCODE_SERVER_USERNAME}:$$(cat $${OPENCODE_SERVER_PASSWORD_FILE})\" http://127.0.0.1:4096/global/health >/dev/null"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
start_period: 20s
|
|
retries: 6
|
|
|
|
secrets:
|
|
gitea_token:
|
|
file: ./secrets/gitea_token
|
|
webhook_secret:
|
|
file: ./secrets/webhook_secret
|
|
opencode_server_password:
|
|
file: ./secrets/opencode_server_password
|
|
|
|
networks:
|
|
gitea:
|
|
external: true
|
|
name: ${GITEA_NETWORK:-gitea}
|
|
agentci_control:
|
|
internal: true
|