Files
goclaw/docker-compose.yml
T
Duy /zuey/ ef829c1ab4 fix(bitrix24): resolve PR 8-10 stack findings
Resolve the PR #8/#9/#10 stack on current dev, including Bitrix24 install callback hardening, migration renumbering, duplicate-domain fail-closed routing, UI textarea/mobile cleanup, and review hardening.
2026-05-22 20:53:01 +07:00

90 lines
2.9 KiB
YAML

# Base docker-compose — shared service definition.
# Pre-built images: ghcr.io/nextlevelbuilder/goclaw (also on Docker Hub: digitop/goclaw)
#
# The default `latest` image includes an embedded web dashboard (no separate nginx needed).
# Web UI is served at the same port as the API (default: 18790).
#
# Quick start:
# docker compose -f docker-compose.yml -f docker-compose.postgres.yml up -d
# # Dashboard: http://localhost:18790
#
# Optional nginx (for custom SSL, reverse proxy, caching):
# make up WITH_WEB_NGINX=1
# # or: docker compose -f docker-compose.yml -f docker-compose.postgres.yml -f docker-compose.selfservice.yml up -d
# # Dashboard via nginx: http://localhost:3000
#
# Docker image variants:
# latest — Backend + embedded web UI + Python (recommended)
# latest-base — Backend API-only, no web UI, no runtimes
# latest-full — All runtimes + skill dependencies pre-installed
# latest-otel — Latest + OpenTelemetry tracing
#
# With OTel tracing: add -f docker-compose.otel.yml
# With Claude CLI: add -f docker-compose.claude-cli.yml
services:
goclaw:
image: ghcr.io/nextlevelbuilder/goclaw:latest
build:
context: ${GOCLAW_DIR:-.}
dockerfile: Dockerfile
args:
ENABLE_OTEL: "${ENABLE_OTEL:-false}"
ENABLE_EMBEDUI: "${ENABLE_EMBEDUI:-true}" # set to false when using WITH_WEB_NGINX
ENABLE_PYTHON: "${ENABLE_PYTHON:-true}"
ENABLE_FULL_SKILLS: "${ENABLE_FULL_SKILLS:-false}"
VERSION: "${GOCLAW_VERSION:-dev}"
# Uncomment to test update UI: GOCLAW_VERSION=v1.0.0
ports:
- "${GOCLAW_PORT:-18790}:18790"
env_file:
- path: .env
required: false
environment:
- GOCLAW_HOST=0.0.0.0
- GOCLAW_PORT=18790
- GOCLAW_CONFIG=/app/data/config.json
- GOCLAW_GATEWAY_TOKEN=${GOCLAW_GATEWAY_TOKEN:?run ./prepare-env.sh or set GOCLAW_GATEWAY_TOKEN}
- GOCLAW_ENCRYPTION_KEY=${GOCLAW_ENCRYPTION_KEY:-}
- GOCLAW_SKILLS_DIR=/app/data/skills
# Debug
- GOCLAW_TRACE_VERBOSE=${GOCLAW_TRACE_VERBOSE:-0}
- BITRIX24_LOG_RAW_EVENT=${BITRIX24_LOG_RAW_EVENT:-0}
- BITRIX24_FORCE_REREGISTER=${BITRIX24_FORCE_REREGISTER:-0}
- BITRIX24_DEBUG_UNREDACTED_TOKEN=${BITRIX24_DEBUG_UNREDACTED_TOKEN:-0}
volumes:
- goclaw-data:/app/data
- goclaw-workspace:/app/workspace
extra_hosts:
- "host.docker.internal:host-gateway"
security_opt:
- no-new-privileges:true
init: true
cap_drop:
- ALL
cap_add:
- SETUID
- SETGID
- CHOWN
tmpfs:
- /tmp:rw,noexec,nosuid,size=256m
deploy:
resources:
limits:
memory: 1G
cpus: '2.0'
pids: 200
networks:
- default
- goclaw-net
restart: unless-stopped
volumes:
goclaw-data:
goclaw-workspace:
networks:
goclaw-net:
name: goclaw-net
driver: bridge