Compare commits
2 Commits
cc87aa338a
...
f9d44c49d7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f9d44c49d7 | ||
|
|
2554e20e9d |
34
README.md
34
README.md
@@ -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
53
docker-compose.yml
Normal 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
|
||||||
Reference in New Issue
Block a user