52 lines
1.2 KiB
YAML
52 lines
1.2 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
openclaw:
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile
|
|
platforms:
|
|
- linux/arm64
|
|
image: openclaw:custom-arm64
|
|
container_name: openclaw-gateway
|
|
restart: unless-stopped
|
|
|
|
# OpenClaw ports
|
|
ports:
|
|
- "8080:8080"
|
|
|
|
# Persistent volumes for configs and secrets
|
|
volumes:
|
|
# Your workspace (for memory, agents, etc)
|
|
- ./workspace:/home/node/.openclaw/workspace
|
|
|
|
# Configs mounted from host (not in image)
|
|
- ./config:/data/config:ro
|
|
|
|
# Secrets mounted from host (read-only, not in image)
|
|
- ./secrets:/data/secrets:ro
|
|
|
|
# gog OAuth tokens and config (persistent)
|
|
- gog-data:/data/gog
|
|
|
|
# OpenClaw runtime data
|
|
- openclaw-data:/home/node/.openclaw
|
|
|
|
environment:
|
|
- OPENCLAW_CONFIG_DIR=/data/config
|
|
- GOG_CONFIG_DIR=/data/gog
|
|
- GOOGLE_APPLICATION_CREDENTIALS=/data/secrets/google-credentials.json
|
|
- GOG_ACCOUNT=${GOG_ACCOUNT:-}
|
|
|
|
# Health check using our custom tool
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
volumes:
|
|
gog-data:
|
|
openclaw-data:
|