70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
# OpenClaw Deployment
|
|
|
|
Custom OpenClaw Gateway build for ARM64 with Google Workspace tools.
|
|
|
|
## What's in Here
|
|
|
|
- `stack.yml` - Docker Swarm stack for Dokploy (pure named volumes)
|
|
- `docker/` - Custom image build (ARM64 + gog + gcloud)
|
|
- `AGENTS.md` - Full deployment guide
|
|
|
|
## Quick Start (Docker Compose)
|
|
|
|
```bash
|
|
# 1. Deploy (builds fresh image automatically)
|
|
docker-compose up --build -d
|
|
|
|
# 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 push registry.lan/openclaw:latest
|
|
|
|
# Then deploy
|
|
docker stack deploy -c stack.yml openclaw
|
|
```
|
|
|
|
## Custom Image Includes
|
|
|
|
- `gog` - Google Workspace CLI (Gmail, Calendar, Drive, Sheets, Docs)
|
|
- `gcloud` - Google Cloud SDK
|
|
- `jq`, `curl`, `htop`, `tree` - General utilities
|
|
- SSH key persistence in named volume
|
|
|
|
## Volumes (Named Only)
|
|
|
|
| Volume | Mount | Purpose |
|
|
|--------|-------|---------|
|
|
| `openclaw-config` | `/home/node/.openclaw` | Configs, secrets, SSH keys, gog tokens |
|
|
| `openclaw-workspace` | `/home/node/.openclaw/workspace` | Agent workspace |
|
|
| `gog-data` | `/home/node/.openclaw/gog` | gog OAuth tokens (separate for clarity) |
|
|
|
|
**To access files in volumes:**
|
|
```bash
|
|
# Copy in
|
|
docker cp localfile.txt container:/home/node/.openclaw/
|
|
|
|
# Copy out
|
|
docker cp container:/home/node/.openclaw/file.txt .
|
|
|
|
# Or exec in
|
|
docker exec -it container bash
|
|
```
|
|
|
|
See `AGENTS.md` for full deployment details.
|