Show HN: Expose any web application to your Tailscale Tailnet

4 months ago 6

CI

It's like tailscale serve but a standalone app that lives on your tailnet.

A tsnet app that runs a lightweight reverse proxy on your tailnet. Give it a hostname, backend, and provide an auth key. The app will appear on your tailnet as a machine.

Tailscale provides connectivity, a TLS cert, and runs the same reverse proxy as tailscale serve.

Open a web browser and point it to https://machine.your-tcd.ts.net.

Expose your service to the internet via Tailscale Funnel using the -funnel flag.

Release

Pre-built binaries are available on the releases page.

Container images are available on GitHub Container Registry at ghcr.io/shayne/tsnet-serve.

Also available on Homebrew.

To build from source and run:

# Run a binary go run . -hostname myapp -backend https://localhost:3000 # Run a container image docker run $(ko build --local .)
docker run -d \ --name=tsnet-serve \ -v /path/to/state:/state \ -e TSNS_HOSTNAME=<hostname> \ -e TSNS_BACKEND=<backend> \ # optional, enables Tailscale Funnel # -e TSNS_FUNNEL=true \ # optional, set to your control URL # leave empty for default # -e TS_CONTROL_URL=https://your.tailscale.com \ -e TS_AUTHKEY=<auth key> \ ghcr.io/shayne/tsnet-serve:latest

Initial registration requires an auth key set as the TS_AUTHKEY env var.

Contributions to this project are welcome. Please feel free to open an issue or submit a pull request if you have any improvements or bug fixes to suggest.

Licensed under the MIT License.

Read Entire Article