A couple of big red flags in that snippet:
- You leaked secrets in a public thread.
Please edit the message and rotate:
- the Google API key(s)
- the Gateway token
- any other passwords/keys you pasted (even if you think they’re “dev only”)
wss://host.docker.internal:18789is almost certainly wrong.
On port 18789 the Gateway is normally plain WebSocket (no TLS), so it should be:
OPENCLAW_GATEWAY_URL=ws://host.docker.internal:18789(notwss://…)- and you should remove
NODE_TLS_REJECT_UNAUTHORIZED=0(that’s a global TLS safety-off switch, and it won’t fix a wrong protocol anyway)
- Even with
host.docker.internal, the sandbox can’t reach the Gateway if the Gateway is loopback-only.
By default the Gateway binds to loopback (127.0.0.1). From inside Docker,host.docker.internalhits the host’s bridge IP (e.g.172.17.0.1), and a loopback-only server will refuse that connection.