Compare commits

..

2 Commits

Author SHA1 Message Date
Klaatu
f9d44c49d7 Merge branch 'master' of ssh://192.168.2.130:2222/sirtimbly/openclaw 2026-02-20 19:12:12 +00:00
Klaatu
2554e20e9d Add docker-compose.yml for build-on-deploy workflow 2026-02-20 19:12:04 +00:00
2 changed files with 75 additions and 12 deletions

View File

@@ -8,25 +8,35 @@ Custom OpenClaw Gateway build for ARM64 with Google Workspace tools.
- `docker/` - Custom image build (ARM64 + gog + gcloud) - `docker/` - Custom image build (ARM64 + gog + gcloud)
- `AGENTS.md` - Full deployment guide - `AGENTS.md` - Full deployment guide
## Quick Start ## Quick Start (Docker Compose)
```bash ```bash
# 1. Build the custom image # 1. Deploy (builds fresh image automatically)
cd docker && ./build-arm64.sh docker-compose up --build -d
# 2. Push to your registry # 2. Copy in your Google client secret
docker cp /path/to/client_secret.json openclaw-gateway:/home/node/.openclaw/google-client-secret.json
# 3. Setup gog (Google Workspace)
docker exec -it openclaw-gateway setup-gog.sh
docker exec -it openclaw-gateway gog auth add you@gmail.com --services gmail,calendar,drive
# Rebuild and redeploy after code changes:
docker-compose up --build -d
```
## Docker Swarm (stack.yml)
If you prefer Swarm orchestration (replicas, rolling updates, placement constraints):
```bash
# Build and push first
cd docker && ./build-arm64.sh
docker tag openclaw:custom-arm64 registry.lan/openclaw:latest docker tag openclaw:custom-arm64 registry.lan/openclaw:latest
docker push registry.lan/openclaw:latest docker push registry.lan/openclaw:latest
# 3. Deploy # Then deploy
docker stack deploy -c stack.yml openclaw docker stack deploy -c stack.yml openclaw
# 4. Copy in your Google client secret
docker cp /path/to/client_secret.json $(docker ps -q -f name=openclaw-gateway):/home/node/.openclaw/google-client-secret.json
# 5. Setup gog (Google Workspace)
docker exec -it $(docker ps -q -f name=openclaw-gateway) setup-gog.sh
docker exec -it $(docker ps -q -f name=openclaw-gateway) gog auth add you@gmail.com --services gmail,calendar,drive
``` ```
## Custom Image Includes ## Custom Image Includes

53
docker-compose.yml Normal file
View File

@@ -0,0 +1,53 @@
version: "3.8"
services:
openclaw-gateway:
build:
context: ./docker
dockerfile: Dockerfile
platforms:
- linux/arm64
image: openclaw:custom-arm64
container_name: openclaw-gateway
restart: unless-stopped
environment:
HOME: /home/node
TERM: xterm-256color
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
MOONSHOT_API_KEY: ${MOONSHOT_API_KEY}
GOG_ACCOUNT: ${GOG_ACCOUNT:-}
volumes:
- openclaw-config:/home/node/.openclaw
- openclaw-workspace:/home/node/.openclaw/workspace
- gog-data:/home/node/.openclaw/gog
ports:
- "${OPENCLAW_GATEWAY_PORT:-18789}:18789"
- "${OPENCLAW_BRIDGE_PORT:-18790}:18790"
init: true
networks:
- dokploy-network
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"${OPENCLAW_GATEWAY_BIND:-lan}",
"--port",
"18789",
]
healthcheck:
test: ["CMD", "healthcheck.sh"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
volumes:
openclaw-config:
openclaw-workspace:
gog-data:
networks:
dokploy-network:
external: true