Before you start

You need three things, all on free plans:

Your browser

  • laptop or phone, anywhere
  • you sign in with Cloudflare
↓HTTPS

Cloudflare

  • 1 your domain
    term.example.com
  • 2 Zero Trust
    the login page
↑tunnel, opened by your server

3 Your Linux server

  • cloudflared
    the tunnel
  • cloudflare-tmux
    the web app
  • tmux
    your sessions

Your server connects out to Cloudflare, so you don't open any ports or need a public IP.

1. A domain on Cloudflare#

Your domain must use Cloudflare for DNS. The installer adds the term. subdomain itself.

  1. Create a Cloudflare account (free).
  2. Add your domain on the Free plan.
  3. Change its nameservers at your registrar to the two Cloudflare gives you.

Done when the domain shows Active in the dashboard (what the statuses mean).

2. Zero Trust turned on#

Zero Trust provides the login page. Follow Get started with Cloudflare Zero Trust: pick a team name and the Free plan. That's all; the installer sets up the rest.

Done when Zero Trust in the dashboard opens without asking for a team name.

3. A Linux server#

Any always-on Linux machine with systemd: a VPS, a home server, a Raspberry Pi. No public IP needed.

sudo apt install tmux nodejs npm build-essential python3 curl   # Debian / Ubuntu
sudo dnf install tmux nodejs npm gcc-c++ make python3 curl      # Fedora / RHEL

Done when node -v prints v18 or newer (if not, install Node.js). The installer checks the rest and downloads cloudflared for you.

Who logs in#

Start with just yourself. You can add people later, each with their own Linux user if you like.

Ready? Go to Install.