fix gateway ssh and tailscale serve config

This commit is contained in:
2026-04-17 21:44:03 -04:00
parent 9844d756ce
commit 2250b25319
4 changed files with 16 additions and 50 deletions

View File

@@ -33,7 +33,7 @@ services:
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
MOONSHOT_API_KEY: ${MOONSHOT_API_KEY}
OPENAI_API_KEY: ${OPENAI_API_KEY}
OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND:-lan}
OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND:-}
OPENCLAW_TAILSCALE_MODE: ${OPENCLAW_TAILSCALE_MODE:-off}
OPENCLAW_ENABLE_TAILSCALE: ${OPENCLAW_ENABLE_TAILSCALE:-0}
GOG_ACCOUNT: ${GOG_ACCOUNT:-}

View File

@@ -45,7 +45,7 @@ RUN echo '#!/bin/sh' > /home/node/.local/bin/tailscale-start.sh && \
echo 'sleep 3' >> /home/node/.local/bin/tailscale-start.sh && \
echo 'if [ -n "$TAILSCALE_AUTH_KEY" ]; then tailscale --socket=/tmp/tailscale.sock up --authkey="$TAILSCALE_AUTH_KEY" --hostname="${TAILSCALE_HOSTNAME:-openclaw-gateway}" || true; fi' >> /home/node/.local/bin/tailscale-start.sh && \
echo 'sleep 2' >> /home/node/.local/bin/tailscale-start.sh && \
echo 'tailscale --socket=/tmp/tailscale.sock serve --bg 18789 || true' >> /home/node/.local/bin/tailscale-start.sh && \
echo 'if [ "${OPENCLAW_TAILSCALE_MODE:-off}" = "serve" ]; then tailscale --socket=/tmp/tailscale.sock serve --bg 18789 || true; fi' >> /home/node/.local/bin/tailscale-start.sh && \
chmod +x /home/node/.local/bin/tailscale-start.sh
# Copy custom tools into the image
@@ -57,9 +57,9 @@ RUN chmod +x /usr/local/bin/*
RUN mkdir -p /var/tmp/openclaw-compile-cache /home/node/.openclaw/ssh /home/node/.openclaw/gog /home/node/.openclaw/gws /opt/openclaw/defaults \
&& chown -R node:node /home/node/.openclaw /opt/openclaw/defaults /var/tmp/openclaw-compile-cache
# Link ssh to standard locations
RUN mkdir -p /home/node/.ssh \
&& ln -sf /home/node/.openclaw/ssh /home/node/.ssh
# Link ssh to the persistent volume location
RUN rm -rf /home/node/.ssh \
&& ln -s /home/node/.openclaw/ssh /home/node/.ssh
# Copy default config into the image
COPY config/openclaw.json /opt/openclaw/defaults/openclaw.json

View File

@@ -4,9 +4,17 @@ set -eu
CONFIG_DIR="${HOME:-/home/node}/.openclaw"
CONFIG_FILE="${CONFIG_DIR}/openclaw.json"
DEFAULT_CONFIG="/opt/openclaw/defaults/openclaw.json"
BIND="${OPENCLAW_GATEWAY_BIND:-lan}"
TAILSCALE_MODE="${OPENCLAW_TAILSCALE_MODE:-off}"
PORT="${OPENCLAW_GATEWAY_PORT:-18789}"
RAW_BIND="${OPENCLAW_GATEWAY_BIND:-}"
if [ -n "${RAW_BIND}" ]; then
BIND="${RAW_BIND}"
elif [ "${TAILSCALE_MODE}" = "serve" ]; then
BIND="loopback"
else
BIND="lan"
fi
mkdir -p "${CONFIG_DIR}"
@@ -29,7 +37,9 @@ jq \
.gateway.bind = $bind |
.gateway.tailscale.mode = $tailscale_mode |
.gateway.auth.mode = "token" |
.gateway.auth.allowTailscale = ($tailscale_mode == "serve") |
.gateway.auth.token = (if $token == "" then (.gateway.auth.token // "${OPENCLAW_GATEWAY_TOKEN}") else $token end) |
.gateway.trustedProxies = (((.gateway.trustedProxies // []) + (if $tailscale_mode == "serve" then ["127.0.0.1", "::1"] else [] end)) | unique) |
.gateway.controlUi.allowInsecureAuth = true |
.models.providers.openai = {
baseUrl: "https://api.openai.com/v1",

View File

@@ -1,44 +0,0 @@
version: "3.8"
services:
openclaw-gateway:
image: ${OPENCLAW_IMAGE:-registry.lan/openclaw:latest}
environment:
HOME: /home/node
TERM: xterm-256color
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
MOONSHOT_API_KEY: ${MOONSHOT_API_KEY}
OPENAI_API_KEY: ${OPENAI_API_KEY}
OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND:-lan}
OPENCLAW_TAILSCALE_MODE: ${OPENCLAW_TAILSCALE_MODE:-off}
OPENCLAW_ENABLE_TAILSCALE: ${OPENCLAW_ENABLE_TAILSCALE:-0}
GOG_ACCOUNT: ${GOG_ACCOUNT:-}
volumes:
- openclaw-config:/home/node/.openclaw
- openclaw-workspace:/home/node/.openclaw/workspace
ports:
- target: 18789
published: ${OPENCLAW_GATEWAY_PORT:-18789}
protocol: tcp
mode: host
- target: 18790
published: ${OPENCLAW_BRIDGE_PORT:-18790}
protocol: tcp
mode: host
init: true
deploy:
replicas: 1
placement:
constraints:
- node.hostname == tpi-n1
networks:
- dokploy-network
command: ["/usr/local/bin/start-gateway.sh"]
volumes:
openclaw-config:
openclaw-workspace:
networks:
dokploy-network:
external: true