In order to connect your application to Tailscale, you need an authorization key:
tskey-auth-...-...
)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
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.
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
.
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.
Check the list of all available Tailscale-related config options.
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.