Skip to content

bug: Gateway not starting - systemd disabled #130

@bolisaf

Description

@bolisaf

Pre-flight checks

  • I updated to the latest add-on version and restarted it.
  • I checked the docs/troubleshooting section first.

What happened?

following the steps described in the installation manual. gateway does not get started after onboarding, as implied there.

output of openclaw gateway status:
Service: systemd (disabled)
File logs: /tmp/openclaw/openclaw-2026-05-05.log

Service config looks out of date or non-standard.
Service config issue: Gateway service PATH is not set; the daemon should use a minimal PATH.
Recommendation: run "openclaw doctor" (or "openclaw doctor --repair").
Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json

Gateway: bind=loopback (127.0.0.1), port=18789 (env/config)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.

Runtime: unknown (systemctl not available; systemd user services are required on Linux.)
RPC probe: ok

systemd user services unavailable.
systemd user services are unavailable; install/enable systemd or run the gateway under your supervisor.
If you're in a container, run the gateway in the foreground instead of openclaw gateway.

Listening: 127.0.0.1:18789, [::1]:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting

What did you expect to happen?

I expect the gateway to be reachable via the button in the webui

Steps to reproduce

literally just follow these provided instructions in the installation manual

Add-on version

0.5.97

OpenClaw version (if known)

2026.4.2

Access mode

custom

Relevant add-on configuration (redacted)

{
  "gateway": {
    "mode": "local",
    "port": 18789,
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "<token>"
    },
    "controlUi": {
      "dangerouslyDisableDeviceAuth": true,
      "allowInsecureAuth": true
    },
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    }
  },
  "agents": {
    "defaults": {
      "workspace": "/config/clawd",
      "models": {
        "openrouter/auto": {
          "alias": "OpenRouter"
        }
      },
      "model": {
        "primary": "openrouter/auto"
      }
    }
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "tools": {
    "profile": "coding",
    "web": {
      "search": {
        "provider": "duckduckgo",
        "enabled": true
      }
    }
  },
  "auth": {
    "profiles": {
      "openrouter:default": {
        "provider": "openrouter",
        "mode": "api_key"
      }
    }

Add-on logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
DEBUG: enable_terminal config value: 'true'
DEBUG: terminal_port config value: '7681' (validated)
INFO: Access mode: custom (using individual gateway_bind_mode/auth_mode settings)
INFO: Enabled IPv4-first DNS ordering (NODE_OPTIONS=--dns-result-order=ipv4first)
INFO: Synced built-in skills to persistent storage at /config/.openclaw/skills
INFO: Copied Homebrew to persistent storage at /config/.linuxbrew
INFO: OpenClaw config missing; bootstrapping minimal config at /config/.openclaw/openclaw.json
INFO: Wrote minimal OpenClaw config (gateway.mode=local, auth.token generated)
INFO: Gateway settings already correct (mode=local, remoteUrl=, bind=loopback, port=18789, chatCompletions=False, authMode=token, trustedProxies=[])
INFO: Updated controlUi: dangerouslyDisableDeviceAuth: None -> True
Starting OpenClaw Assistant runtime (openclaw)...
Starting web terminal (ttyd) on 127.0.0.1:7681 ...
ttyd started with PID 170
[2026/05/05 22:08:37:2681] N: ttyd 1.7.7-40e79c7 (libwebsockets 4.3.3-unknown)
[2026/05/05 22:08:37:2684] N: tty configuration:
[2026/05/05 22:08:37:2684] N:   start command: bash
[2026/05/05 22:08:37:2684] N:   close signal: SIGHUP (1)
[2026/05/05 22:08:37:2684] N:   terminal type: xterm-256color
[2026/05/05 22:08:37:2685] N: endpoints:
[2026/05/05 22:08:37:2685] N:   base-path: /terminal
[2026/05/05 22:08:37:2685] N:   index    : /terminal/
[2026/05/05 22:08:37:2685] N:   token    : /terminal/token
[2026/05/05 22:08:37:2685] N:   websocket: /terminal/ws
[2026/05/05 22:08:37:2687] N: lws_create_context: LWS: 4.3.3-unknown, MbedTLS-2.28.5 NET SRV H1 H2 WS ConMon IPV6-off
[2026/05/05 22:08:37:2790] N: elops_init_pt_uv:  Using foreign event loop...
[2026/05/05 22:08:37:2791] N: __lws_lc_tag:  ++ [wsi|0|pipe] (1)
[2026/05/05 22:08:37:2816] N: __lws_lc_tag:  ++ [vh|0|netlink] (1)
[2026/05/05 22:08:37:2822] N: __lws_lc_tag:  ++ [vh|1|default|127.0.0.1|127.0.0.1|7681] (2)
[2026/05/05 22:08:37:2864] N: [vh|1|default|127.0.0.1|127.0.0.1|7681]: lws_socket_bind: source ads 127.0.0.1
[2026/05/05 22:08:37:2865] N: __lws_lc_tag:  ++ [wsi|1|listen|default|127.0.0.1|7681] (2)
[2026/05/05 22:08:37:2866] N:  Listening on port: 7681
INFO: Disk usage: 33G/117G (30% used, 79G free)
Starting ingress proxy (nginx) on :48099 ...
2026/05/05 22:08:41 [notice] 201#201: using the "epoll" event method
2026/05/05 22:08:41 [notice] 201#201: nginx/1.22.1
2026/05/05 22:08:41 [notice] 201#201: OS: Linux 6.12.47-haos-raspi
2026/05/05 22:08:41 [notice] 201#201: getrlimit(RLIMIT_NOFILE): 1024:524288
2026/05/05 22:08:41 [notice] 201#201: start worker processes
2026/05/05 22:08:41 [notice] 201#201: start worker process 203
nginx started with PID 201
INFO: Landing page re-rendered with gateway token (nginx reloaded).
2026/05/05 22:08:47 [notice] 201#201: signal 1 (SIGHUP) received from 204, reconfiguring
2026/05/05 22:08:47 [notice] 201#201: reconfiguring
2026/05/05 22:08:47 [notice] 201#201: using the "epoll" event method
2026/05/05 22:08:47 [notice] 201#201: start worker processes
2026/05/05 22:08:47 [notice] 201#201: start worker process 227
2026/05/05 22:08:47 [notice] 203#203: gracefully shutting down
2026/05/05 22:08:47 [notice] 203#203: exiting
2026/05/05 22:08:47 [notice] 203#203: exit
2026/05/05 22:08:47 [notice] 201#201: signal 17 (SIGCHLD) received from 203
2026/05/05 22:08:47 [notice] 201#201: worker process 203 exited with code 0
2026/05/05 22:08:47 [notice] 201#201: signal 29 (SIGIO) received
172.30.32.2 - - [05/May/2026:22:08:48 +0300] "GET / HTTP/1.1" 200 19154 "https://homeassistant.bolisaf.xyz/app/baa7a905_openclaw_assistant_dev" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15"
[2026/05/05 22:08:48:2498] N: __lws_lc_tag:  ++ [wsisrv|0|adopted] (1)
[2026/05/05 22:08:48:2501] N: HTTP /terminal/ - 127.0.0.1
172.30.32.2 - - [05/May/2026:22:08:48 +0300] "GET /terminal/ HTTP/1.1" 200 191356 "https://homeassistant.bolisaf.xyz/sw-modern.js" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15"
[2026/05/05 22:08:48:2611] N: __lws_lc_untag:  -- [wsisrv|0|adopted] (0) 11.278ms
[2026/05/05 22:08:48:4218] N: __lws_lc_tag:  ++ [wsisrv|1|adopted] (1)
[2026/05/05 22:08:48:4223] N: HTTP /terminal/token - 127.0.0.1
172.30.32.2 - - [05/May/2026:22:08:48 +0300] "GET /terminal/token HTTP/1.1" 200 13 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15"
[2026/05/05 22:08:48:4242] N: __lws_lc_untag:  -- [wsisrv|1|adopted] (0) 2.395ms
[2026/05/05 22:08:48:5778] N: __lws_lc_tag:  ++ [wsisrv|2|adopted] (1)
[2026/05/05 22:08:48:5786] N: WS   /terminal/ws - 127.0.0.1, clients: 1
[2026/05/05 22:08:48:5820] N: started process, pid: 228
2026-05-05T22:09:32.000+03:00 [canvas] host mounted at http://127.0.0.1:18789/__openclaw__/canvas/ (root /config/.openclaw/canvas)
2026-05-05T22:09:32.453+03:00 [heartbeat] started
2026-05-05T22:09:32.462+03:00 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-05T22:09:32.479+03:00 [gateway] agent model: anthropic/claude-opus-4-6
2026-05-05T22:09:32.485+03:00 [gateway] listening on ws://127.0.0.1:18789, ws://[::1]:18789 (PID 175)
2026-05-05T22:09:32.491+03:00 [gateway] log file: /tmp/openclaw/openclaw-2026-05-05.log
2026-05-05T22:09:32.497+03:00 [gateway] security warning: dangerous config flags enabled: gateway.controlUi.dangerouslyDisableDeviceAuth=true. Run `openclaw security audit`.
2026-05-05T22:09:33.151+03:00 [hooks] loaded 4 internal hook handlers
2026-05-05T22:09:33.211+03:00 [browser/server] Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-05T22:09:36.489+03:00 [gateway] update available (latest): v2026.5.4 (current v2026.4.2). Run: openclaw update
2026-05-05T22:12:19.155+03:00 [gateway] device pairing auto-approved device=7bfccd3525719c506f5ee6c5c8491e319b8739c07a90c892c483f623db7df58c role=operator
2026-05-05T22:18:07.715+03:00 [reload] config change detected; evaluating reload (agents.defaults.model, agents.defaults.models, gateway.controlUi.allowInsecureAuth, gateway.tailscale, meta, auth, tools, session, channels)
2026-05-05T22:18:08.421+03:00 [reload] config change requires gateway restart (gateway.controlUi.allowInsecureAuth, gateway.tailscale, auth, channels)
2026-05-05T22:18:08.435+03:00 [gateway] signal SIGUSR1 received
2026-05-05T22:18:08.445+03:00 [gateway] received SIGUSR1; restarting
2026-05-05T22:18:08.542+03:00 [gmail-watcher] gmail watcher stopped
2026-05-05T22:18:08.576+03:00 [gateway] restart mode: full process restart (spawned pid 333)
INFO: OpenClaw runtime active (PID 249); monitoring.
2026-05-05T22:18:28.836+03:00 [canvas] host mounted at http://127.0.0.1:18789/__openclaw__/canvas/ (root /config/.openclaw/canvas)
2026-05-05T22:18:29.111+03:00 [heartbeat] started
2026-05-05T22:18:29.120+03:00 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-05T22:18:29.179+03:00 [gateway] agent model: openrouter/openrouter/auto
2026-05-05T22:18:29.185+03:00 [gateway] listening on ws://127.0.0.1:18789, ws://[::1]:18789 (PID 333)
2026-05-05T22:18:29.192+03:00 [gateway] log file: /tmp/openclaw/openclaw-2026-05-05.log
2026-05-05T22:18:29.199+03:00 [gateway] security warning: dangerous config flags enabled: gateway.controlUi.allowInsecureAuth=true, gateway.controlUi.dangerouslyDisableDeviceAuth=true. Run `openclaw security audit`.
2026-05-05T22:18:35.914+03:00 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=baa7a905-openclaw-assistant-dev._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=unannounced)
2026-05-05T22:18:39.863+03:00 [hooks] loaded 4 internal hook handlers
2026-05-05T22:18:58.223+03:00 [bonjour] restarting advertiser (service stuck in announcing for 22314ms (gateway fqdn=baa7a905-openclaw-assistant-dev._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=announcing))
2026-05-05T22:19:02.955+03:00 [browser/server] Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-05T22:19:04.484+03:00 [discord] [default] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
2026-05-05T22:19:04.490+03:00 [discord] [default] starting provider (@Bes)
2026-05-05T22:19:11.778+03:00 [discord] logged in to discord as 1499768956712652900 (Bes)
2026-05-05T22:25:20.779+03:00 [reload] config change detected; evaluating reload (meta.lastTouchedAt, tools.web, wizard, hooks, skills, plugins)
2026-05-05T22:25:21.503+03:00 [reload] config change requires gateway restart (plugins)
2026-05-05T22:25:21.516+03:00 [gateway] signal SIGUSR1 received
2026-05-05T22:25:21.527+03:00 [gateway] received SIGUSR1; restarting
2026-05-05T22:25:21.619+03:00 [gmail-watcher] gmail watcher stopped
2026-05-05T22:25:21.666+03:00 [gateway] restart mode: full process restart (spawned pid 527)
2026-05-05T22:25:42.407+03:00 [canvas] host mounted at http://127.0.0.1:18789/__openclaw__/canvas/ (root /config/.openclaw/canvas)
2026-05-05T22:25:42.702+03:00 [heartbeat] started
2026-05-05T22:25:42.715+03:00 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-05T22:25:42.798+03:00 [gateway] agent model: openrouter/openrouter/auto
2026-05-05T22:25:42.805+03:00 [gateway] listening on ws://127.0.0.1:18789, ws://[::1]:18789 (PID 527)
2026-05-05T22:25:42.813+03:00 [gateway] log file: /tmp/openclaw/openclaw-2026-05-05.log
2026-05-05T22:25:42.820+03:00 [gateway] security warning: dangerous config flags enabled: gateway.controlUi.allowInsecureAuth=true, gateway.controlUi.dangerouslyDisableDeviceAuth=true. Run `openclaw security audit`.
2026-05-05T22:25:43.799+03:00 [hooks] loaded 4 internal hook handlers
2026-05-05T22:25:58.545+03:00 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=baa7a905-openclaw-assistant-dev._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
2026-05-05T22:25:58.563+03:00 [ws] handshake timeout conn=8412a882-fca3-487a-ae9c-0592b40e31bf remote=127.0.0.1
2026-05-05T22:25:58.573+03:00 [model-pricing] pricing bootstrap failed: TimeoutError: The operation was aborted due to timeout
2026-05-05T22:26:02.956+03:00 [ws] closed before connect conn=8412a882-fca3-487a-ae9c-0592b40e31bf remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1005 reason=n/a
2026-05-05T22:26:05.824+03:00 [browser/server] Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-05T22:26:05.847+03:00 [ws] closed before connect conn=e65f4f80-5af4-4435-b18c-661c4a4e705c remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
2026-05-05T22:26:05.899+03:00 [ws] closed before connect conn=9a9e0320-b439-4b9b-9704-7ca0f32816b8 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
2026-05-05T22:26:05.915+03:00 [ws] closed before connect conn=a9e66e27-a0a7-4bba-baf5-fb249fe6a33a remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
2026-05-05T22:26:05.927+03:00 [ws] closed before connect conn=1a201bb7-40b3-43b9-aade-882e860660a7 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
2026-05-05T22:26:05.952+03:00 [ws] closed before connect conn=da3238b6-d62d-45b8-b0be-b211b5fda84b remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
2026-05-05T22:26:05.987+03:00 [ws] closed before connect conn=01d2b4ec-0c36-49a5-afdb-ee16de1151f7 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
2026-05-05T22:26:06.006+03:00 [ws] closed before connect conn=2d6b06e1-445c-4f98-bc57-367521a53e27 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
2026-05-05T22:26:06.026+03:00 [ws] closed before connect conn=aebd278c-7bcd-47d7-acea-cb1f9bbe7958 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
2026-05-05T22:26:16.459+03:00 [discord] [default] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
2026-05-05T22:26:16.466+03:00 [discord] [default] starting provider (@Bes)
2026-05-05T22:26:21.629+03:00 [discord] client initialized as 1499768956712652900 (Bes); awaiting gateway readiness
INFO: OpenClaw runtime active (PID 527); monitoring.
2026-05-05T22:33:20.106+03:00 [ws] ⇄ res ✓ channels.status 459ms conn=fb6b2dce…7dd4 id=54601811…4a54
2026-05-05T22:33:22.124+03:00 [ws] ⇄ res ✓ doctor.memory.status 1863ms conn=45aa4b1d…acc9 id=e710450b…e241
awaiting gateway readiness
<html>
<head><title>504 Gateway Time-out</title></head>
<body>
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>openresty</center>
</body>
</html>

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions