diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 6af5f0c..f6f2951 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,6 +5,8 @@
+
+
@@ -84,7 +86,7 @@
-
+
@@ -230,7 +232,15 @@
1787030905479
-
+
+
+ 1787031207232
+
+
+
+ 1787031207232
+
+
diff --git a/4600Pro/OpenClaw/.env b/4600Pro/OpenClaw/.env
index 87c97e4..bc6fd34 100644
--- a/4600Pro/OpenClaw/.env
+++ b/4600Pro/OpenClaw/.env
@@ -1,18 +1,13 @@
-# 官方镜像
OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest
+# OpenClaw 内部 Gateway 端口
+OPENCLAW_GATEWAY_PORT=18789
-# 你希望 Web UI 使用 2800
-OPENCLAW_GATEWAY_PORT=2800
+# Bridge 内部端口
+OPENCLAW_BRIDGE_PORT=18790
-# Bridge 保持默认
-OPENCLAW_BRIDGE_PORT=2799
-
-# Docker 下使用 LAN
OPENCLAW_GATEWAY_BIND=lan
-# 时区
-OPENCLAW_TZ=Asia/Shanghai
+OPENCLAW_GATEWAY_TOKEN=fV3cYPabGURAEH
-# 先自己生成一个
-OPENCLAW_GATEWAY_TOKEN=fca0bf61230f9734a86872e08baed0f0747c4360fb94edb1cc39ab4cd370cd93
\ No newline at end of file
+OPENCLAW_TZ=Asia/Shanghai
\ No newline at end of file
diff --git a/4600Pro/OpenClaw/docker-compose.yml b/4600Pro/OpenClaw/docker-compose.yml
index 8d71267..68d1ae9 100644
--- a/4600Pro/OpenClaw/docker-compose.yml
+++ b/4600Pro/OpenClaw/docker-compose.yml
@@ -1,30 +1,42 @@
services:
openclaw-gateway:
- image: ${OPENCLAW_IMAGE}
+ image: ${OPENCLAW_IMAGE:-ghcr.io/openclaw/openclaw:latest}
container_name: openclaw-gateway
+ # 你的 /volume2 无法正常 chown 给 UID 1000,
+ # 因此当前环境用 root 运行,解决持久化目录写权限问题
user: "0:0"
env_file:
- .env
environment:
- HOME: /home/node
- OPENCLAW_HOME: /home/node
- TERM: xterm-256color
- OPENCLAW_STATE_DIR: /home/node/.openclaw
- OPENCLAW_CONFIG_PATH: /home/node/.openclaw/openclaw.json
- OPENCLAW_CONFIG_DIR: /home/node/.openclaw
- OPENCLAW_WORKSPACE_DIR: /home/node/.openclaw/workspace
- OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
TZ: ${OPENCLAW_TZ:-Asia/Shanghai}
+ HOME: /root
+ OPENCLAW_HOME: /root
+ TERM: xterm-256color
+
+ OPENCLAW_STATE_DIR: /root/.openclaw
+ OPENCLAW_CONFIG_PATH: /root/.openclaw/openclaw.json
+ OPENCLAW_CONFIG_DIR: /root/.openclaw
+ OPENCLAW_WORKSPACE_DIR: /root/.openclaw/workspace
+
+ # OpenClaw 内部始终认 18789
+ OPENCLAW_GATEWAY_PORT: "18789"
+ OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND:-lan}
+ OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
+
volumes:
- - /volume2/docker/docker_projects/openclaw/data:/home/node/.openclaw
+ # 所有长期数据统一持久化
+ - /volume2/docker/docker_projects/openclaw/data:/root/.openclaw
ports:
- - "${OPENCLAW_GATEWAY_PORT:-2800}:18789"
- - "${OPENCLAW_BRIDGE_PORT:-18790}:18790"
+ # 宿主机 Web UI 2800 -> 容器 Gateway 18789
+ - "2800:18789"
+
+ # 如果你希望 Bridge 外部仍用 2799
+ - "2799:18790"
extra_hosts:
- "host.docker.internal:host-gateway"
@@ -38,13 +50,19 @@ services:
"dist/index.js",
"gateway",
"--bind",
- "${OPENCLAW_GATEWAY_BIND:-lan}",
+ "lan",
"--port",
"18789"
]
healthcheck:
- test: ["CMD", "node", "dist/docker-healthcheck.js"]
+ test:
+ [
+ "CMD",
+ "node",
+ "-e",
+ "fetch('http://127.0.0.1:18789/healthz').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
+ ]
interval: 30s
timeout: 5s
retries: 5
@@ -52,7 +70,7 @@ services:
openclaw-cli:
- image: ${OPENCLAW_IMAGE}
+ image: ${OPENCLAW_IMAGE:-ghcr.io/openclaw/openclaw:latest}
container_name: openclaw-cli
user: "0:0"
@@ -60,21 +78,28 @@ services:
env_file:
- .env
+ # 官方 Compose 就是让 CLI 与 Gateway 共用 network namespace
network_mode: "service:openclaw-gateway"
environment:
- HOME: /home/node
- OPENCLAW_HOME: /home/node
- TERM: xterm-256color
- OPENCLAW_STATE_DIR: /home/node/.openclaw
- OPENCLAW_CONFIG_PATH: /home/node/.openclaw/openclaw.json
- OPENCLAW_CONFIG_DIR: /home/node/.openclaw
- OPENCLAW_WORKSPACE_DIR: /home/node/.openclaw/workspace
- OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
TZ: ${OPENCLAW_TZ:-Asia/Shanghai}
+ HOME: /root
+ OPENCLAW_HOME: /root
+ TERM: xterm-256color
+ BROWSER: echo
+
+ OPENCLAW_STATE_DIR: /root/.openclaw
+ OPENCLAW_CONFIG_PATH: /root/.openclaw/openclaw.json
+ OPENCLAW_CONFIG_DIR: /root/.openclaw
+ OPENCLAW_WORKSPACE_DIR: /root/.openclaw/workspace
+
+ OPENCLAW_GATEWAY_PORT: "18789"
+ OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND:-lan}
+ OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
+
volumes:
- - /volume2/docker/docker_projects/openclaw/data:/home/node/.openclaw
+ - /volume2/docker/docker_projects/openclaw/data:/root/.openclaw
stdin_open: true
tty: true