2026-09-07 02:28:37 +08:00
|
|
|
services:
|
|
|
|
|
xingbang-app:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: Dockerfile
|
2026-09-10 11:23:55 +08:00
|
|
|
container_name: mini-openclaw-stable
|
2026-09-07 02:28:37 +08:00
|
|
|
ports:
|
2026-09-10 11:23:55 +08:00
|
|
|
- "3200:3000" # frontend
|
|
|
|
|
- "8002:8002" # backend API used by the browser client
|
2026-09-07 02:28:37 +08:00
|
|
|
environment:
|
2026-09-10 11:23:55 +08:00
|
|
|
DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-}
|
|
|
|
|
DEEPSEEK_MODEL: ${DEEPSEEK_MODEL:-deepseek-chat}
|
|
|
|
|
DEEPSEEK_BASE_URL: ${DEEPSEEK_BASE_URL:-https://api.deepseek.com}
|
2026-09-11 15:56:28 +08:00
|
|
|
CHAT_THINKING_MODE: ${CHAT_THINKING_MODE:-}
|
2026-09-14 13:18:15 +08:00
|
|
|
XINGBANG_DEMO_ROLE_LOGIN: ${XINGBANG_DEMO_ROLE_LOGIN:-0}
|
|
|
|
|
XINGBANG_DEMO_PROJECTS: ${XINGBANG_DEMO_PROJECTS:-DEMO-A,DEMO-B,DEMO-C,LAB-001,XB-2026-001}
|
2026-09-10 11:23:55 +08:00
|
|
|
ERP_DB_HOST: ${ERP_DB_HOST:-}
|
|
|
|
|
ERP_DB_PORT: ${ERP_DB_PORT:-5432}
|
|
|
|
|
ERP_DB_NAME: ${ERP_DB_NAME:-}
|
|
|
|
|
ERP_DB_USER: ${ERP_DB_USER:-}
|
|
|
|
|
ERP_DB_PASSWORD: ${ERP_DB_PASSWORD:-}
|
|
|
|
|
ERP_DB_SSL_MODE: ${ERP_DB_SSL_MODE:-require}
|
|
|
|
|
RISK_AGENT_BACKEND_URL: ${RISK_AGENT_BACKEND_URL:-http://127.0.0.1:8002}
|
2026-09-07 02:28:37 +08:00
|
|
|
volumes:
|
|
|
|
|
- xingbang-data:/app/backend/xingbang_data
|
|
|
|
|
- xingbang-logs:/app/backend/logs
|
|
|
|
|
restart: unless-stopped
|
2026-09-10 11:23:55 +08:00
|
|
|
healthcheck:
|
|
|
|
|
test:
|
|
|
|
|
- CMD
|
|
|
|
|
- node
|
|
|
|
|
- -e
|
|
|
|
|
- "Promise.all([fetch('http://127.0.0.1:3000/'), fetch('http://127.0.0.1:8002/')]).then(rs => process.exit(rs.every(r => r.ok) ? 0 : 1)).catch(() => process.exit(1))"
|
|
|
|
|
interval: 30s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
start_period: 120s
|
|
|
|
|
retries: 3
|
2026-09-07 02:28:37 +08:00
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
xingbang-data:
|
|
|
|
|
xingbang-logs:
|