3.4 KiB
3.4 KiB
XWorkspace Console Service Port Plan
Date: 2026-06-07
This plan is based on the live host inspection of ubuntu@xworkmate-bridge.svc.plus
(jp-xhttp-contabo.svc.plus) and the local XWorkspace Console repository state.
Canonical Endpoint Map
| Component | Bind | Port | URL | Owner | Notes |
|---|---|---|---|---|---|
| XWorkspace Console | 127.0.0.1 |
17000 |
http://127.0.0.1:17000 |
xworkspace-console.service |
Canonical dashboard endpoint. Avoids macOS ControlCenter conflicts on 7000. |
| XWorkspace Status API | 127.0.0.1 |
8788 |
http://127.0.0.1:8788 |
xworkspace-api.service |
Go API for /health, /services, /metrics/simple. |
| XWorkmate Bridge | 127.0.0.1 |
8787 |
http://127.0.0.1:8787 |
xworkspace-bridge.service / live xworkmate-bridge.service |
Keep reserved for bridge control plane. Do not reuse for dashboard. |
| OpenClaw Gateway | 127.0.0.1 |
18789 |
http://127.0.0.1:18789/channels |
xworkspace-openclaw.service / live openclaw-gateway.service |
OpenClaw UI and gateway entry. |
| LiteLLM | 127.0.0.1 |
4000 |
http://127.0.0.1:4000/ui |
xworkspace-litellm.service |
Live host returns HTTP 200 after redirect. |
| Vault | 0.0.0.0 or 127.0.0.1 |
8200 |
http://127.0.0.1:8200 |
xworkspace-vault.service / system Vault |
Live host exposes Vault on 0.0.0.0:8200; tighten to loopback later if no remote clients need it. |
| Embedded Terminal | 127.0.0.1 |
7681 |
http://127.0.0.1:7681 |
ttyd.service or xworkspace-ttyd.service |
Use only one owner. Live host already has system ttyd.service; user xworkspace-ttyd.service fails due port conflict. |
| Legacy Portal | 0.0.0.0 |
7000 |
http://127.0.0.1:7000 |
xworkspace-portal.service |
Deprecated. Replace with Console on 17000. |
Live Host Findings
xworkspace-portal.serviceis active on0.0.0.0:7000usingpython3 -m http.server 7000.xworkspace-chrome.servicecurrently opens--app=http://localhost:7000.xworkspace-console.serviceexists but is inactive and still points to the old script model.xworkmate-bridge.serviceis active on127.0.0.1:8787.openclaw-gateway.serviceis active on127.0.0.1:18789.xworkspace-litellm.serviceis active on127.0.0.1:4000.- Vault is active on
0.0.0.0:8200. - System
ttyd.serviceis active on127.0.0.1:7681. - User
xworkspace-ttyd.serviceis auto-restarting because7681is already occupied.
Migration Order
- Deploy the React Console to
~/xworkspace-console/dashboard. - Replace
xworkspace-console.servicewith a long-running service on127.0.0.1:17000. - Change Chrome app mode to
http://127.0.0.1:17000and depend onxworkspace-console.service. - Disable
xworkspace-portal.serviceafter Console passes health checks. - Keep
xworkmate-bridge.serviceon127.0.0.1:8787. - Keep
ttydon127.0.0.1:7681; do not startxworkspace-ttyd.servicewhen systemttyd.serviceis already active. - Keep LiteLLM, Vault, and OpenClaw on their existing live ports.
Collision Rules
- Never assign Console to
7000; macOS may reserve it and the live host already uses it for the deprecated portal. - Never assign Console to
8787; that is the bridge control-plane port. - Treat
7681as singleton terminal ownership; systemttyd.servicewins if present. - Prefer loopback binds for all control-plane services unless a reverse proxy explicitly exposes them.