[June 18 Webinar] Bridging the GPU availability gap with TailscaleLearn More
Get started
WireGuard is a registered trademark of Jason A. Donenfeld.
© 2024 Tailscale Inc. All rights reserved. Tailscale is a registered trademark of Tailscale Inc.
Go back

Tailscale for developers: Connect to your resources from Coder

October 27 2021
David Crawshaw headshot
David Crawshaw

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 co-workers: 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 co-workers 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?

  • Share a staged resource with a colleague, as part of a review
  • Access a cloud or on-prem resource, like a production database
  • Pair program
  • Access a package registry
  • Complete a coding interview

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 to Tailscale’s blog

We have a deep commitment to keeping your data safe.

Too much email?RSSX

Try Tailscale for free

Schedule a demo
Contact sales
cta phone
Hugging Face