Skip to content

Tailscale setup

Tailscale is how we recommend exposing a self-hosted Gray to your phone. It’s free for personal use, takes 5 minutes, and gives you a real HTTPS URL that only your devices can reach.

Today, self-hosted Gray requires Tailscale. We plan to support Cloudflare Tunnel, WireGuard, and existing VPNs later, but v1 is Tailscale-only.

Terminal window
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Sign in with the account you’ll use on your phone.

Install the Tailscale app. Sign in with the same account.

In the Tailscale admin console:

  1. Enable MagicDNS.
  2. Enable HTTPS Certificates.

Now your server has a https://<host>.<tailnet>.ts.net URL that resolves on every device in your tailnet — including your phone.

sudo ./install.sh does all of this for you and prints the final URL.

Open the native app → Settings → I run my own instance → paste your tailnet URL.

  • tailscale serve failed — enable HTTPS Certificates and MagicDNS in the admin console, then re-run the printed command.
  • Port 443 busy — re-run with --https-port 8443.
  • Can’t reach from phone — check the Tailscale app is on and signed into the same account. Tap the server in your machine list.