From 1e5cc363aad5d811e9152a26c9502b2de92b57e0 Mon Sep 17 00:00:00 2001 From: Arjun Komath Date: Wed, 6 May 2026 08:36:16 +1000 Subject: [PATCH 1/2] Update OpenClaw --- Dockerfile | 2 +- src/server.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3799487..a7da288 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ RUN apt-get update \ zip \ && rm -rf /var/lib/apt/lists/* -RUN npm install -g openclaw@2026.5.2 +RUN npm install -g openclaw@2026.5.4 RUN npm install -g clawhub@latest WORKDIR /app diff --git a/src/server.js b/src/server.js index bbeac13..88b8b55 100644 --- a/src/server.js +++ b/src/server.js @@ -113,6 +113,8 @@ const INTERNAL_GATEWAY_PORT = Number.parseInt( process.env.INTERNAL_GATEWAY_PORT ?? "18789", 10, ); +// This is the wrapper's upstream target host, not an OpenClaw --bind mode. +// Railway exposes the Express wrapper on PORT; the gateway stays private. const INTERNAL_GATEWAY_HOST = process.env.INTERNAL_GATEWAY_HOST ?? "127.0.0.1"; const GATEWAY_TARGET = `http://${INTERNAL_GATEWAY_HOST}:${INTERNAL_GATEWAY_PORT}`; @@ -354,6 +356,8 @@ async function startGateway() { "gateway", "run", "--bind", + // Intentional for Railway: only the wrapper is public, and it proxies to the + // gateway over loopback while injecting auth. "loopback", "--port", String(INTERNAL_GATEWAY_PORT), From 208781be553504c414c377c594e6d4f3333086fc Mon Sep 17 00:00:00 2001 From: Arjun Komath Date: Wed, 6 May 2026 20:14:25 +1000 Subject: [PATCH 2/2] Update to 2026.5.5 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a7da288..fedeeef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ RUN apt-get update \ zip \ && rm -rf /var/lib/apt/lists/* -RUN npm install -g openclaw@2026.5.4 +RUN npm install -g openclaw@2026.5.5 RUN npm install -g clawhub@latest WORKDIR /app