diff --git a/docs/help/faq.md b/docs/help/faq.md index 7a5ca6ce8..aadbda9de 100644 --- a/docs/help/faq.md +++ b/docs/help/faq.md @@ -566,7 +566,6 @@ Remote access: [Gateway remote](/gateway/remote). We keep a **hosting hub** with the common providers. Pick one and follow the guide: - [VPS hosting](/vps) (all providers in one place) -- [Railway](/railway) (one‑click, browser‑based setup) - [Fly.io](/platforms/fly) - [Hetzner](/platforms/hetzner) - [exe.dev](/platforms/exe-dev) @@ -1451,7 +1450,7 @@ Have Bot A send a message to Bot B, then let Bot B reply as usual. **CLI bridge (generic):** run a script that calls the other Gateway with `clawdbot agent --message ... --deliver`, targeting a chat where the other bot -listens. If one bot is on Railway/VPS, point your CLI at that remote Gateway +listens. If one bot is on a remote VPS, point your CLI at that remote Gateway via SSH/Tailscale (see [Remote access](/gateway/remote)). Example pattern (run from a machine that can reach the target Gateway): diff --git a/docs/platforms/digitalocean.md b/docs/platforms/digitalocean.md index 1b8e1d90d..632057c84 100644 --- a/docs/platforms/digitalocean.md +++ b/docs/platforms/digitalocean.md @@ -90,10 +90,10 @@ The wizard will walk you through: clawdbot status # Check service -systemctl status clawdbot +systemctl --user status clawdbot-gateway.service # View logs -journalctl -u clawdbot -f +journalctl --user -u clawdbot-gateway.service -f ``` ## 6) Access the Dashboard @@ -108,18 +108,30 @@ ssh -L 18789:localhost:18789 root@YOUR_DROPLET_IP # Then open: http://localhost:18789 ``` -**Option B: Tailscale (easier long-term)** +**Option B: Tailscale Serve (HTTPS, loopback-only)** ```bash # On the droplet curl -fsSL https://tailscale.com/install.sh | sh tailscale up -# Configure gateway to bind to Tailscale +# Configure Gateway to use Tailscale Serve +clawdbot config set gateway.tailscale.mode serve +clawdbot gateway restart +``` + +Open: `https:///` + +Notes: +- Serve keeps the Gateway loopback-only and authenticates via Tailscale identity headers. +- To require token/password instead, set `gateway.auth.allowTailscale: false` or use `gateway.auth.mode: "password"`. + +**Option C: Tailnet bind (no Serve)** +```bash clawdbot config set gateway.bind tailnet clawdbot gateway restart ``` -Then access via your Tailscale IP: `http://100.x.x.x:18789` +Open: `http://:18789` (token required). ## 7) Connect Your Channels diff --git a/docs/platforms/index.md b/docs/platforms/index.md index d53073026..3a1e87267 100644 --- a/docs/platforms/index.md +++ b/docs/platforms/index.md @@ -24,7 +24,6 @@ Native companion apps for Windows are also planned; the Gateway is recommended v ## VPS & hosting - VPS hub: [VPS hosting](/vps) -- Railway (one-click): [Railway](/railway) - Fly.io: [Fly.io](/platforms/fly) - Hetzner (Docker): [Hetzner](/platforms/hetzner) - GCP (Compute Engine): [GCP](/platforms/gcp) diff --git a/docs/vps.md b/docs/vps.md index 23e88255b..d57205922 100644 --- a/docs/vps.md +++ b/docs/vps.md @@ -1,5 +1,5 @@ --- -summary: "VPS hosting hub for Clawdbot (Railway/Fly/Hetzner/exe.dev)" +summary: "VPS hosting hub for Clawdbot (Fly/Hetzner/GCP/exe.dev)" read_when: - You want to run the Gateway in the cloud - You need a quick map of VPS/hosting guides @@ -11,7 +11,6 @@ deployments work at a high level. ## Pick a provider -- **Railway** (one‑click + browser setup): [Railway](/railway) - **Fly.io**: [Fly.io](/platforms/fly) - **Hetzner (Docker)**: [Hetzner](/platforms/hetzner) - **GCP (Compute Engine)**: [GCP](/platforms/gcp) @@ -24,6 +23,8 @@ deployments work at a high level. - The **Gateway runs on the VPS** and owns state + workspace. - You connect from your laptop/phone via the **Control UI** or **Tailscale/SSH**. - Treat the VPS as the source of truth and **back up** the state + workspace. +- Secure default: keep the Gateway on loopback and access it via SSH tunnel or Tailscale Serve. + If you bind to `lan`/`tailnet`, require `gateway.auth.token` or `gateway.auth.password`. Remote access: [Gateway remote](/gateway/remote) Platforms hub: [Platforms](/platforms)