Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A website running on your computer is not automatically reachable by anyone else. First decide who should be able to visit it: a few invited collaborators on a private network, anyone with a public hostname, or people who only need a temporary preview. That choice determines the setup. For private sharing, use a tailnet route such as Tailscale Serve; for a public hostname, publish a Cloudflare Tunnel route; for a short-lived preview, use a Cloudflare Quick Tunnel.

Choose the right way to share the site

A tunnel or private network route connects a visitor-facing address to the web server already running on your computer or another machine. Visitors do not need to know the machine’s local address, but the host and application must remain available. These approaches serve different audiences; none is a universal replacement for the others.

Goal Approach What it requires or means
Share with selected collaborators Tailscale Serve People who visit must belong to the same Tailscale tailnet. Tailscale’s website-hosting guide calls for an account and local installation, and recommends a Linux VM for its documented setup. The host must be online and connected. Tailscale website-hosting guide; Serve examples.
Make the site available under a public hostname Cloudflare Tunnel with a published application route Requires a Cloudflare account, a domain on Cloudflare, and a server or VM with internet access. The route connects the public hostname to the local service. Cloudflare Tunnel setup.
Show a temporary local preview Cloudflare Quick Tunnel Creates an ephemeral URL for a locally running development server. The documented preview path does not require an account, but its generated URL is not the same as configuring a named hostname. Cloudflare local preview guide.
Offer a named private service across a tailnet Tailscale Services Provides named services within tailnet routing; documented HTTPS endpoints can use a TLS certificate for the tailnet DNS name. Tailscale Services.

Choose based on audience, whether a stable named domain matters, whether access is temporary or ongoing, and whether you are prepared to keep the host maintained. A public hostname means the route is public; it does not mean the local machine itself has become a managed hosting service.

Prepare the local website

  1. Confirm it works on the host. Start the web server and open the site using its local address, such as localhost and the port configured by the application.
  2. Record the service address and port. You will need the address that the tunnel or network route can reach. Cloudflare’s setup examples cover a service on the same machine as the tunnel and one on another machine on a private network.
  3. Expose only the intended web service. Do not point a public route at an unrelated service or assume that making the website reachable is equivalent to securing the machine.
  4. Keep the application running during setup and access. A route cannot serve a site that is stopped or unreachable at its origin.

Share privately with selected people

Use Tailscale Serve for tailnet access

Tailscale Serve is the suitable route when the intended visitors are known collaborators who can join your tailnet. Tailscale’s guide, validated January 5, 2026, describes hosting a website using a tailnet device and recommends a Linux VM for its documented setup. Install and configure Tailscale on the host and ensure each visitor is a member of the same tailnet. A person outside that network should not be given a Tailscale Serve address as if it were a public website.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
DARGO Mini Server – Plug & Play Home Host with No Monthly Fees. 16GB RAM, 1TB SSD
  • TRUE PLUG-AND-PLAY HOME SERVER: Forget complex VPS setups or command lines. Simply connect power and Ethernet to start hosting immediately with zero technical skills required. This managed, all-in-one appliance is the easiest way to run blogs (compatible with WordPress), private applications, and bots directly from home using your own domain.
  • NO MONTHLY SUBSCRIPTION FEES: Stop renting server space. Enjoy a one-time hardware purchase model with absolutely no recurring hosting fees for typical usage. The system includes a generous monthly traffic allowance that covers the needs of almost all personal and small business websites, allowing the device to pay for itself quickly.
  • INSTANT ONE-CLICK APP LIBRARY: Instantly deploy over 50 curated open-source applications without hassle. The diverse ecosystem includes essential tools, compatible with WordPress, Ghost, Nextcloud (for private cloud storage), Joomla, and OpenClaw. Perfect for content management, e-commerce, private email, and business tools.
  • INCLUDES FREE SSL & ENTERPRISE SECURITY: Get professional performance and safety without the extra costs. Seamlessly integrate your existing custom domain or utilize the included free subdomain. Your sites are automatically secured with free SSL certificates, built-in DDoS protection, and global CDN acceleration.
  • TOTAL DATA PRIVACY & OWNERSHIP: Keep your digital assets secure on your own local hardware, not on third-party "big tech" servers. Designed for privacy-conscious individuals, creators, and small businesses seeking platform independence. Includes an intuitive web management portal for complete peace of mind.

For a named service across the tailnet, Tailscale Services documents tailnet routing and HTTPS endpoints that can use a TLS certificate for the tailnet DNS name. That is still private network access, not a public hostname for arbitrary visitors.

Publish a public hostname

Use a Cloudflare Tunnel published application route

For visitors who should not need to join a private network, Cloudflare documents a published application route that maps a public hostname to a local service. The documented prerequisites are a Cloudflare account, a domain on Cloudflare, and a server or VM with internet access. In practical terms, visitors request the hostname; the tunnel forwards requests to the service address and port you configure.

  1. Make sure the domain is on Cloudflare and the server or VM hosting the tunnel has internet access.
  2. In Cloudflare’s tunnel setup, create or select a tunnel and configure a published application route for the hostname you intend visitors to use.
  3. Set the route’s service destination to the local web server address and port. Use the host’s reachable address; a service on a different machine may need its private network address rather than localhost.
  4. Start the web application and tunnel, then test the hostname from a device that is not relying on the same local-only address.

Cloudflare notes that a paid Cloudflare Access plan is not needed merely to publish an application through Tunnel. If you want to restrict access with Access policies such as identity-provider login, Access seats are required; publishing a hostname and protecting it with identity-based policies are separate choices.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Provide a temporary preview

Use a Cloudflare Quick Tunnel for a development server

Cloudflare’s Pages documentation describes a Quick Tunnel that exposes a locally running development server through a generated, ephemeral URL. It is useful when someone needs to inspect a preview without setting up a persistent named hostname. The preview path described in that documentation does not require an account. Treat the URL as temporary rather than as a stable address for an ongoing site.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
ZimaBoard 2 Home Server, Intel N150, Build Your First Real Server
  • Server-Class Home Server Built for 24/7 Workloads - Designed as a purpose-built home server rather than general-purpose SBCs, Mini PCs, entry NAS systems, or routing-only devices. As a compact, pocket-sized single board server platform, ZimaBoard 2 832 combines x86 architecture, quad-core performance up to 3.6GHz, 8GB DDR5 memory, and 32GB eMMC storage for reliable always-on home servers, homelabs, and self-hosted workloads.
  • PCIe 3.0 x4 Expansion for Real Server Builds - Built as a server-class platform with native PCIe expansion, ZimaBoard 2 features a full PCIe 3.0 x4 slot for high-speed, low-latency upgrades beyond USB-based limitations. Supports 10GbE NICs, NVMe adapters, GPUs, and AI accelerators to build scalable home servers, homelabs, and advanced self-hosted systems—offering greater expansion flexibility than typical SBCs, Mini PCs, and entry-level NAS devices.
  • Native Dual SATA & Dual 2.5GbE Networking - Built with server-class storage and networking I/O, ZimaBoard 2 integrates dual SATA ports for direct HDD/SSD connectivity and dual 2.5GbE Ethernet for high-throughput, low-latency networking. This architecture enables reliable DIY NAS, fast storage, routing, and multi-service home server deployments—while avoiding USB-based performance constraints common in ARM SBCs, Raspberry Pi–based setups, Mini PCs, and entry-level NAS devices.
  • ZimaOS Preinstalled + Wide OS Compatibility - Comes preinstalled with ZimaOS for a clean, ad-free private cloud experience—centralized file dashboard, automatic backups, P2P downloads, private photo/video sharing, 500+ plug-ins, and secure on-device AI that keeps your data at home. Also supports TrueNAS, Proxmox, Debian, Ubuntu Server, pfSense, OpenWrt, and Linux containers, making it perfect for Plex media servers, Pi-hole, firewalls, backups, Docker labs, home-cloud services, and multi-service deployments.
  • All-in-One NAS, Router, Docker & Homelab Server - Replace multiple devices with one low-power, fanless system. ZimaBoard 2 can serve as a NAS, router, Docker host, firewall, media server, or homelab node—delivering a flexible, open alternative to ARM SBCs, Mini PCs, and entry-level NAS systems.

Start the local development server first, then follow Cloudflare’s Quick Tunnel instructions to connect it and share the generated URL with the intended reviewers. If you need a durable hostname or an ongoing public route, use the published application setup instead.

Keep the site available and protect it

  • Availability depends on the host. The computer or VM, network connection, tunnel, and web application need to remain available. Tailscale’s examples explicitly qualify access on the device being online and connected. The cited documentation does not establish uptime, visitor capacity, or performance for your particular host.
  • Do not confuse network protection with application security. Cloudflare describes services such as CDN caching, WAF, and DDoS protection in its network path. Those do not establish that the local host or application is secure by default. Keep the host and application maintained, expose only the intended service, and add access controls when the audience should be limited.
  • Plan for interruptions. A powered-off host, stopped application, lost internet connection, or disconnected tunnel can make the site unavailable. These options do not by themselves provide a promise of continuous service.

Which option fits?

  • Choose Tailscale Serve when access should be limited to collaborators in your tailnet.
  • Choose a Cloudflare Tunnel published route when people should reach the site through a public hostname.
  • Choose a Cloudflare Quick Tunnel when the need is a temporary preview of a local development server.
  • Choose Tailscale Services when you need a named service reachable within a tailnet.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.