Runway
Runway is built and operated in the EU!

Connect

Quickstart

Get Tailscale Auth Key

In order to connect your application to Tailscale, you need an authorization key:

Configure the Runway app

Then, in the directory of your Runway app, configure the TS_AUTHKEY:

runway app config set TS_AUTHKEY=tskey-auth-...-...
runway app restart

Once your application is restarted, it appears in the list of machines on the Tailscale admin console. Try to ping it with its Tailscale DNS name, that should all work now.

ping my-runway-app
PING my-runway-app.tailnet-name.ts.net (100.126.230.105): 56 data bytes
64 bytes from 100.126.230.105: icmp_seq=0 ttl=64 time=116.968 ms
64 bytes from 100.126.230.105: icmp_seq=1 ttl=64 time=43.248 ms
^C
--- my-runway-app.tailnet-name.ts.net ping statistics ---
3 packets transmitted, 2 packets received, 33.3% packet loss
round-trip min/avg/max/stddev = 43.248/80.108/116.968/36.860 ms

Advanced settings

Setting the Hostname

By default, your Runway app will appear under its native hostname in Tailscale (something like my-app-on-runway-cmd-4079148f-rzjs).

You can set a custom Tailscale hostname via:

runway app config set TS_HOSTNAME=my-cool-api`
runway app restart

That enables you to keep the Tailscale DNS name stable - and restart, change or replace the underlying Runway app as you see fit.

Authorize with an Oauth client

You can also connect your Runway app with an OAuth client secret instead of a normal auth key. The Runway side of things works exactly the same, you would just do runway config set TS_AUTHKEY=tskey-client-... followed by runway app restart.

Setting tags

Tags are used on Tailscale to group devices/nodes and manage access control policies.

To set a tag on your Runway app, check our guide on working with tags.

More

Check the list of all available Tailscale-related config options.

Troubleshooting

Should your Runway app not appear in Tailscale after the runway app restart, check your runway app logs - Tailscale’s error messages also end up there.

Also try runway app config ls and check especially the TS_AUTHKEY and TS_TAG (if used) for typos.