← Code Exchange

Temporal CLI Tailscale Extension

A Temporal CLI extension that exposes your local dev server on your Tailscale tailnet. Run `temporal ts-net` and your team can reach your dev server from any machine. No port forwarding, no VPN config, no infrastructure to manage.


What is it?#

temporal ts-net is a Temporal CLI extension that wraps temporal server start-dev and automatically exposes it on your Tailscale tailnet. One command gives your whole team a shared Temporal dev server accessible at temporal-dev:7233 from any device on your tailnet.

What problem does it solve?#

Running a Temporal dev server locally is great, until someone else needs to connect to it. Maybe various teams have workflows that depend on each other, maybe you want to test out Nexus, maybe you need a lightweight temporal server for your home lab.

temporal ts-net eliminates all of that. It uses Tailscale's tsnet library to join your tailnet directly from the process, Tailscale doesn't even need to be installed on the host machine. Both the gRPC frontend and the Web UI are proxied, so teammates can run workflows and check the dashboard from their own machines.

How it works#

The extension starts temporal server start-dev as a child process listening on localhost, then starts a tsnet node that listens on your tailnet. Incoming tailnet connections are proxied to the local server over TCP. Graceful shutdown, connection rate limiting, and idle timeouts are all built in.

Key features#

  • Installs as a CLI extension. Just put the binary on your PATH and run temporal ts-net
  • All temporal server start-dev flags pass through, so you can configure ports, namespaces, DB persistence, etc. as usual
  • Reads configuration from the same temporal.toml the CLI already uses
  • Use Temporal's Environment Configuration for seamless dev/prod profile switching
  • No Tailscale installation required on the host, tsnet handles everything in-process
  • Cross-platform: Linux, macOS, and Windows binaries for amd64 and arm64

Who is it for?#

  • Teams using Temporal who want a zero-friction way to share a dev server. Especially useful for distributed teams, pair programming, demos, or running workers on one machine against a server on another.
  • Temporal enthusiasts wanting to play with it in their home labs.

Language

Go

Temporal Verified

✅ Reviewed
tailscalesecurity

About the Author

mason egger

Mason Egger

Sr. Technical Curriculum Developer

Alex Stanfield

Alex Stanfield

Software Engineer II