Tailscale for developers: Connect to your resources from Coder

Photo of Maya Kaczorowski
Maya Kaczorowski on

When you’re developing software, you need to access all kinds of resources, including package registries, container image registries, databases, and other network services. You want to work with those services securely and with low latency, wherever they are, even if they’re behind a firewall or don’t have a public IP address. Most importantly, though, you need to be able to access your coworkers: when you need a code review, or you’re pair programming, you want to be able to easily share your development environment with others so they can see what you’re working on. From a development workspace in Coder, you can access resources you need for development, and share what you’re working with your coworkers with Tailscale.

Using Tailscale with Coder

Coder is a developer workspace platform: it lets you develop code in a remote environment, such as a VM running on a public cloud provider. In Coder, you define your developer workspace as a Dockerfile, and installing Tailscale means that you can have bidirectional access between your developer workspace and other devices on your tailnet. Using Tailscale with Coder means that you benefit from Tailscale’s robust, fine-grained access controls and observability with the services feature, while also being able to work with the editor of your choice, whether you’re using your iPad at a coffee shop or your desktop at home.

To do so, you need to add tailscaled to your Dockerfile, ensure that Tailscale’s persistent state is stored in the workspace’s persistent home volume, and enable userspace networking. If you want to be able to have outbound connections, you also need to configure Tailscale as either a SOCKS5 or HTTP proxy. See the instructions in Coder’s or Tailscale’s docs.

Two Coder workspaces connected as part of the same tailnet can ping each other via terminal.

Two Coder workspaces connected as part of the same tailnet can ping each other—a great tool for remote pair programming.

So, what can you do with Tailscale in Coder?

Tailscale also works with code-server

Coder also maintains code-server, which is an open-source project for running VSCode in your browser. Tailscale works with code-server too!

A developer over at Render set up code-server to run VSCode locally, and using Tailscale, can connect to their private SSH server via a subnet router:

I’m feeling good. I have VS Code running remotely within a secure private network and am connecting to it using a secure protocol. All my extensions and config are there.

Read how in Render’s blog, or check out our docs.

To connect to your tailnet from a Coder developer workspace, follow the instructions in Coder’s docs.

Subscribe for monthly updates

Product updates, blog posts, company news, and more.

Too much email? RSS Twitter