feat: move code queue to d601

This commit is contained in:
Codex
2026-05-14 19:13:43 +00:00
parent cbbed004a6
commit c930607316
28 changed files with 359 additions and 242 deletions
+4 -81
View File
@@ -5,6 +5,8 @@ services:
restart: unless-stopped
expose:
- "5432"
ports:
- "${UNIDESK_DATABASE_BIND_HOST}:${UNIDESK_DATABASE_PORT}:5432"
environment:
POSTGRES_USER: "${UNIDESK_DATABASE_USER}"
POSTGRES_PASSWORD: "${UNIDESK_DATABASE_PASSWORD}"
@@ -107,87 +109,6 @@ services:
timeout: 3s
retries: 20
code-queue:
build:
context: .
dockerfile: src/components/microservices/code-queue/Dockerfile
container_name: code-queue-backend
restart: unless-stopped
mem_limit: "${UNIDESK_CODE_QUEUE_MEM_LIMIT:-1200m}"
memswap_limit: "${UNIDESK_CODE_QUEUE_MEMSWAP_LIMIT:-1800m}"
depends_on:
- database
- backend-core
- oa-event-flow
expose:
- "4222"
environment:
HOST: "0.0.0.0"
PORT: "4222"
DATABASE_URL: "postgres://${UNIDESK_DATABASE_USER}:${UNIDESK_DATABASE_PASSWORD}@database:5432/${UNIDESK_DATABASE_NAME}"
CODE_QUEUE_DATA_DIR: "/var/lib/unidesk/code-queue"
CODE_QUEUE_WORKDIR: "/root/unidesk"
CODE_QUEUE_CODEX_HOME: "/var/lib/unidesk/code-queue/codex-home"
CODE_QUEUE_OPENCODE_XDG_DIR: "/var/lib/unidesk/code-queue/opencode-xdg"
CODE_QUEUE_SOURCE_CODEX_CONFIG: "/root/.codex/config.toml"
CODE_QUEUE_DEFAULT_MODEL: "gpt-5.5"
CODE_QUEUE_MODELS: "gpt-5.5,gpt-5.4-mini,gpt-5.4,minimax-m2.7"
CODE_QUEUE_MODEL_REASONING_EFFORTS: "gpt-5.5=xhigh"
CODE_QUEUE_SANDBOX: "danger-full-access"
CODE_QUEUE_APPROVAL_POLICY: "never"
OA_EVENT_FLOW_BASE_URL: "http://oa-event-flow:4255"
CODE_QUEUE_MAX_ATTEMPTS: "99"
CODE_QUEUE_MAX_ACTIVE_QUEUES: "${UNIDESK_CODE_QUEUE_MAX_ACTIVE_QUEUES:-0}"
NODE_OPTIONS: "${UNIDESK_CODE_QUEUE_NODE_OPTIONS:---max-old-space-size=512}"
CODE_QUEUE_IN_MEMORY_OUTPUT_RECORDS: "${UNIDESK_CODE_QUEUE_IN_MEMORY_OUTPUT_RECORDS:-10}"
CODE_QUEUE_IN_MEMORY_EVENT_RECORDS: "${UNIDESK_CODE_QUEUE_IN_MEMORY_EVENT_RECORDS:-10}"
CODE_QUEUE_CODEX_SQLITE_LOG_EXPORT_BATCH_SIZE: "${UNIDESK_CODE_QUEUE_CODEX_SQLITE_LOG_EXPORT_BATCH_SIZE:-500}"
CODE_QUEUE_MAIN_PROVIDER_ID: "main-server"
CODE_QUEUE_REMOTE_WORKDIR: "${UNIDESK_CODE_QUEUE_REMOTE_WORKDIR:-/home/ubuntu}"
CODE_QUEUE_EXECUTION_PROVIDER_IDS: "${UNIDESK_CODE_QUEUE_EXECUTION_PROVIDER_IDS:-D601}"
CODE_QUEUE_DEV_CONTAINER_MASTER_HOST: "${UNIDESK_PUBLIC_HOST}"
CODE_QUEUE_DEV_CONTAINER_DEFAULT_PROVIDER_ID: "${UNIDESK_CODE_QUEUE_DEV_CONTAINER_DEFAULT_PROVIDER_ID:-D601}"
CODE_QUEUE_DEV_CONTAINER_IMAGE: "${UNIDESK_CODE_QUEUE_DEV_CONTAINER_IMAGE:-}"
CODE_QUEUE_DEV_CONTAINER_WORKDIR: "${UNIDESK_CODE_QUEUE_DEV_CONTAINER_WORKDIR:-/home/ubuntu}"
CODE_QUEUE_WINDOWS_NATIVE_CODEX_DEFAULT_WORKDIR: "${UNIDESK_CODE_QUEUE_WINDOWS_NATIVE_CODEX_DEFAULT_WORKDIR:-/mnt/f/Work/ConStart}"
CODE_QUEUE_WINDOWS_NATIVE_CODEX_BRIDGE_DIR: "${UNIDESK_CODE_QUEUE_WINDOWS_NATIVE_CODEX_BRIDGE_DIR:-/home/ubuntu/.unidesk/code-queue/windows-native-codex}"
CODE_QUEUE_WINDOWS_NATIVE_CODEX_COMMAND: "${UNIDESK_CODE_QUEUE_WINDOWS_NATIVE_CODEX_COMMAND:-codex app-server --listen stdio://}"
CODE_QUEUE_WINDOWS_NATIVE_CODEX_CONNECT_HOST: "${UNIDESK_CODE_QUEUE_WINDOWS_NATIVE_CODEX_CONNECT_HOST:-host.docker.internal}"
CODE_QUEUE_WINDOWS_NATIVE_CODEX_IDLE_TIMEOUT_MS: "${UNIDESK_CODE_QUEUE_WINDOWS_NATIVE_CODEX_IDLE_TIMEOUT_MS:-600000}"
CODE_QUEUE_NOTIFY_CLAUDEQQ_ENABLED: "${UNIDESK_CODE_QUEUE_NOTIFY_CLAUDEQQ_ENABLED:-true}"
CODE_QUEUE_NOTIFY_CLAUDEQQ_BASE_URL: "${UNIDESK_CODE_QUEUE_NOTIFY_CLAUDEQQ_BASE_URL:-http://backend-core:8080/api/microservices/claudeqq/proxy}"
CODE_QUEUE_NOTIFY_CLAUDEQQ_TARGET_TYPE: "${UNIDESK_CODE_QUEUE_NOTIFY_CLAUDEQQ_TARGET_TYPE:-private}"
CODE_QUEUE_NOTIFY_CLAUDEQQ_USER_ID: "${UNIDESK_CODE_QUEUE_NOTIFY_CLAUDEQQ_USER_ID:-645275593}"
CODE_QUEUE_NOTIFY_CLAUDEQQ_GROUP_ID: "${UNIDESK_CODE_QUEUE_NOTIFY_CLAUDEQQ_GROUP_ID:-}"
CODE_QUEUE_NOTIFY_CLAUDEQQ_MAX_RESPONSE_CHARS: "${UNIDESK_CODE_QUEUE_NOTIFY_CLAUDEQQ_MAX_RESPONSE_CHARS:-12000}"
CODE_QUEUE_NOTIFY_CLAUDEQQ_TIMEOUT_MS: "${UNIDESK_CODE_QUEUE_NOTIFY_CLAUDEQQ_TIMEOUT_MS:-15000}"
CODE_QUEUE_NOTIFY_CLAUDEQQ_SEND_ATTEMPTS: "${UNIDESK_CODE_QUEUE_NOTIFY_CLAUDEQQ_SEND_ATTEMPTS:-3}"
OPENAI_API_KEY: "${OPENAI_API_KEY:-}"
CRS_OAI_KEY: "${CRS_OAI_KEY:-}"
MINIMAX_API_KEY: "${UNIDESK_CODE_QUEUE_MINIMAX_API_KEY:-}"
MINIMAX_API_BASE: "${UNIDESK_CODE_QUEUE_MINIMAX_API_BASE:-https://api.minimaxi.com/v1}"
MINIMAX_MODEL: "${UNIDESK_CODE_QUEUE_MINIMAX_MODEL:-MiniMax-M2.7}"
MINIMAX_JUDGE_TIMEOUT_MS: "${UNIDESK_CODE_QUEUE_MINIMAX_JUDGE_TIMEOUT_MS:-90000}"
MINIMAX_JUDGE_REPAIR_ATTEMPTS: "${UNIDESK_CODE_QUEUE_MINIMAX_JUDGE_REPAIR_ATTEMPTS:-2}"
LOG_FILE: "/var/log/unidesk/${UNIDESK_LOG_DAY}/${UNIDESK_LOG_PREFIX}_code-queue.jsonl"
UNIDESK_LOG_RETENTION_BYTES: "${UNIDESK_LOG_RETENTION_BYTES:-1GiB}"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- .:/root/unidesk
- .:/workspace
- /root/.codex/config.toml:/root/.codex/config.toml:ro
- ${UNIDESK_HOST_ROOT_SSH_DIR:-/root/.ssh}:/root/.ssh:ro
- ${UNIDESK_LOG_DIR}:/var/log/unidesk
- ./.state/code-queue:/var/lib/unidesk/code-queue
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ["CMD-SHELL", "curl -fsS --max-time 2 http://127.0.0.1:4222/health >/dev/null"]
interval: 5s
timeout: 3s
retries: 20
oa-event-flow:
image: oa-event-flow
build:
@@ -200,6 +121,8 @@ services:
- backend-core
expose:
- "4255"
ports:
- "${UNIDESK_OA_EVENT_FLOW_BIND_HOST}:${UNIDESK_OA_EVENT_FLOW_PORT}:4255"
environment:
HOST: "0.0.0.0"
PORT: "4255"