Hosting bb remotely

Verdict

Yes — and you almost certainly should not rent a server to do it.

bb already ships the exact thing you described. The server and the thing that runs your agents are separate processes that talk over an outbound WebSocket. You can move the server, or you can leave it where it is and just publish it. The second is one command and costs nothing.

Browser / phone HTTPS bb server (UI + API + bb.db) WebSocket (daemon dials out) host daemon = machine runs the agents

Two facts drive everything below:

Option B — Tailscale Serve

If you would rather not depend on getbb.app, keep bb on loopback and publish it inside your own tailnet:

tailscale serve --bg --https=443 http://127.0.0.1:38886
bb-app config set BB_APP_URL https://<machine>.<tailnet>.ts.net

Free for personal use. Tailscale ACLs are the access boundary. Works on your phone. Never expose this through Funnel — that puts the unauthenticated API on the public internet.

Option C — actually host bb-server on a free VPS

This is what you literally asked for, so here is the honest version.

The package ships a standalone bb-server entrypoint and a standalone host-daemon. So:

  1. VPS: run bb-server. Node 22.19/24/26, git, and native builds for better-sqlite3, node-pty, @parcel/watcher.
  2. Make the server reachable — pair bb connect on the VPS, or Tailscale Serve on the VPS. Do not use --server-bind-host 0.0.0.0 on a public box.
  3. Open that reachable URL, Settings -> Machines -> Add machine, run the generated one-liner on your laptop. It installs a host-only daemon under ~/.bb-machines/<server-host>/ with its own systemd user unit, joins, and never touches your existing ~/.bb.
  4. Projects, threads, and terminals now target --machine <your-laptop>.

Resource envelope is small: your entire ~/.bb is 17 MB today. Node is the constraint, not bb.

Free tiers that actually fit an always-on Node process with a persistent disk:

Verify current terms before committing; free-tier rules move.

Why Option C is probably not worth it

It earns its keep in exactly one case: you want threads to keep running against a repo that lives on an always-on box while your laptop is off. That is not “point the server at this computer” — that is moving the work itself, and the answer there is to enroll the VPS as the execution machine and check the repo out there.

Security notes

Recommendation

Run Option A today. It is one command, it is the supported path, and it gives you the phone and remote-browser access you were after. Revisit Option C only if you decide you want agents running while the laptop is off — and at that point host the checkout, not the server.