Published
Cloudflare Tunnel: Put a Home Service Online Without Opening Ports
A Cloudflare Tunnel publishes a service on your home network at your own domain, with HTTPS, without port forwarding or exposing your home IP.
1. Create the tunnel
Cloudflare dashboard > Zero Trust > Networks > Tunnels > Create a tunnel > Cloudflared. Name it.
Zero Trust > Networks > Tunnels > Create
2. Install the connector
Copy the install command Cloudflare shows for your OS and run it on the server. It installs cloudflared as a service with your token.
sudo cloudflared service install <TOKEN>
3. Add a public hostname
In the tunnel add a public hostname, for example app.yourdomain.com, pointing to the local service.
app.yourdomain.com -> http://localhost:8080
4. Protect it
For admin pages add a Cloudflare Access policy (Zero Trust > Access > Applications) so only your email can log in.
Zero Trust > Access > Applications
FAQ
Do I need a domain?
Yes, the domain's DNS must be on Cloudflare (the free plan works).
Is it safe to publish admin panels?
Only behind an Access policy. A tunnel makes a service reachable; it doesn't add a login by itself.