Files
deck-tailscale/readme.md
2025-08-29 18:15:09 +01:00

59 lines
2.9 KiB
Markdown

# Tailscale on the Steam Deck
This process is derived from the [official guide](https://tailscale.com/blog/steam-deck), but has been
tweaked to make the process smoother and produce an installation that comes up
automatically on boot (no need to enter desktop mode).
## Installing Tailscale
1. Clone this repo to your Deck, switch to root and enter the directory:
1. `git clone htps://github.com/tailscale-dev/deck-tailscale.git ~/deck-tailscale`
2. `sudo -i`
3. `cd ~deck/deck-tailscale`
2. Run `bash tailscale.sh` to install Tailscale (or update the existing
installation).
3. Run `source /etc/profile.d/tailscale.sh` to put the binaries in your path
4. Run `tailscale up --qr --operator=deck --ssh` to have Tailscale generate
a login QR code. Scan the code with your phone and authenticate with
Tailscale to bring your Deck onto your network.
## Updating Tailscale
Tailscale should be able to update itself now! Try running
`sudo tailscale update`, and if that works, `sudo tailscale set --auto-update`.
If it doesn't, keep reading.
> ⚠️ This process will most likely fail if you are accessing the terminal over
> Tailscale SSH, as it seems to be locked in a chroot jail. You should start and
> connect through the standard SSH server instead, but remember to stop it when
> you're done.
> [Suggestions for how to fix this are welcomed.](https://github.com/tailscale-dev/deck-tailscale/issues/2)
## Updating the install script
To benefit from improvements to the install script, consider rerunning it from time to time.
1. Git fetch and pull to make sure you're up to date:
1. `cd ~/deck-tailscale`
2. `git pull`
2. Run `sudo bash tailscale.sh` again.
This process overwrites the existing binaries and service file, so it's not
recommended to tweak those files directly. The configuration file at
`/etc/default/tailscaled` is left alone. The configuration file at
`/etc/systemd/system/tailscaled.service.d/override.conf` is reset every time this script is run to ensure the path to the binary is correct, but the preexisting file will be backed up in that directory as `override.conf.bak`. If something goes wrong, copy those files somewhere else and re-run the install script to get back to a working state.
## Common issues
### Broken config file
Symptom: `invalid value "" for flag -port: can't be the empty string`
Resolution: Delete `/etc/default/tailscaled` and re-run installer script.
## How it works
The Tailscale binaries `tailscale` and `tailscaled` are installed in `/opt/tailscale/`. The Tailscale systemd unit file is installed at `/etc/systemd/system/tailscale.service`. The override file to reconfigure the services `Exec` commands is installed at `/etc/systemd/system/tailscaled.service.d/override.conf`. The defaults file for the variables `PORT` and `FLAGS` is installed at `/etc/default/tailscaled`
The service is then started and enabled via `systemctl`.