Skip to content

Remote access

Homestead never opens ports to the internet by itself. To use it away from home, on your phone or from an agent on another machine, put one of these in front of it. The project recommends them in this order.

The simplest choice, and it works for the phone app too. Your devices join a private network, and nothing is exposed to the public internet.

  1. Install Tailscale on the Homestead machine and on each phone or computer that should reach it, following Tailscale’s own documentation.

  2. Reach Homestead at the machine’s Tailscale address (the API and phone app use port 8080), or at a Tailscale HTTPS name if you’ve set one up. The agent examples in the app’s docs use a name like https://homestead.example.ts.net.

  3. Set HOMESTEAD_BASE_URL to that address so links and QR codes carry it.

HOMESTEAD_BASE_URL is the public address of your Homestead, without a trailing slash, for example https://home.example.com. Set it whenever Homestead sits behind a proxy or tunnel. It is used for:

  • share links and their QR codes,
  • invite links, and the server address inside phone pairing QR codes,
  • the MCP URL in agent setup snippets,
  • signed media URLs.

It also changes how the server treats browsers. With an https:// base URL, sign-in cookies are marked Secure, and writes from the web app must come from that exact origin. That’s what you want behind TLS, but it means the base URL must match the address people actually type. Without it, Homestead uses the address from each request.

With docker run, pass it with -e:

Terminal window
docker run -d --name homestead -p 8080:8080 -v homestead-data:/data -e HOMESTEAD_BASE_URL=https://home.example.com homestead

HOMESTEAD_TRUSTED_PROXIES takes a comma-separated list of CIDRs, such as 172.18.0.0/16, that are allowed to set X-Forwarded-* headers. It’s empty by default. Each entry must be a valid CIDR or the server refuses to start.

If Homestead is reachable from the internet, use HTTPS. Session cookies are only Secure over HTTPS, and while media URLs are signed, everything else rides on the connection. Nothing in Homestead phones home, so the only traffic is yours.

From a machine outside your home network (or a phone with Wi-Fi off), ask the health endpoint at your public address:

Terminal window
curl https://home.example.com/api/v1/health

Then sign in in a browser and add a note to someone. If saving fails, recheck the base URL.