mirror of
https://github.com/tiennm99/composes.git
synced 2026-10-11 03:13:16 +00:00
73 lines
2.2 KiB
YAML
73 lines
2.2 KiB
YAML
# Required env vars (set in Coolify/Dokploy, or a sibling .env):
|
|
# GOCLAW_GATEWAY_TOKEN, GOCLAW_ENCRYPTION_KEY
|
|
|
|
services:
|
|
goclaw:
|
|
image: ghcr.io/nextlevelbuilder/goclaw:full
|
|
restart: unless-stopped
|
|
environment:
|
|
- GOCLAW_GATEWAY_TOKEN=${GOCLAW_GATEWAY_TOKEN:?required}
|
|
- GOCLAW_ENCRYPTION_KEY=${GOCLAW_ENCRYPTION_KEY:?required}
|
|
- GOCLAW_POSTGRES_DSN=postgres://${POSTGRES_USER:-goclaw}:${POSTGRES_PASSWORD:-goclaw}@postgres:5432/${POSTGRES_DB:-goclaw}?sslmode=disable
|
|
- GOCLAW_HOST=0.0.0.0
|
|
- GOCLAW_PORT=18790
|
|
- GOCLAW_CONFIG=/app/data/config.json
|
|
- GOCLAW_SKILLS_DIR=/app/data/skills
|
|
- GOCLAW_AUTO_UPGRADE=${GOCLAW_AUTO_UPGRADE:-true}
|
|
# - GOCLAW_MINIMAX_API_KEY=${GOCLAW_MINIMAX_API_KEY:-}
|
|
# - GOCLAW_TTS_MINIMAX_API_KEY=${GOCLAW_TTS_MINIMAX_API_KEY:-}
|
|
# - GOCLAW_TTS_MINIMAX_GROUP_ID=${GOCLAW_TTS_MINIMAX_GROUP_ID:-}
|
|
# - GOCLAW_TRACE_VERBOSE=${GOCLAW_TRACE_VERBOSE:-0}
|
|
volumes:
|
|
- goclaw-data:/app/data
|
|
- goclaw-workspace:/app/workspace
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://localhost:18790/health || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 60s
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
init: true
|
|
security_opt:
|
|
- no-new-privileges: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
|
|
|
|
# PostgreSQL 18 with pgvector, for agent memory and the knowledge vault.
|
|
postgres:
|
|
image: pgvector/pgvector:pg18
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER:-goclaw}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-goclaw}
|
|
POSTGRES_DB: ${POSTGRES_DB:-goclaw}
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-goclaw} -d ${POSTGRES_DB:-goclaw}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
volumes:
|
|
goclaw-data:
|
|
goclaw-workspace:
|
|
postgres-data:
|