Skip to content

Instantly share code, notes, and snippets.

@amanjuman
Last active March 26, 2024 11:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save amanjuman/fcc98f0b8bfb696edc0cf77e24e51e10 to your computer and use it in GitHub Desktop.
Save amanjuman/fcc98f0b8bfb696edc0cf77e24e51e10 to your computer and use it in GitHub Desktop.
TailScale Derper Install on Linux
## Download Go
sudo wget --output-document /opt/go.tar.gz https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
## Remove Existing Go and Extract Downloaded Go
sudo rm -rf /usr/local/go && sudo tar --directory /usr/local --extract --gzip --file /opt/go.tar.gz && sudo rm /opt/go.tar.gz
## Delete & Recreate user for Derper
sudo userdel -r derp && sudo useradd --system --create-home --home-dir /opt/derp --shell /bin/bash derp
## Export Profile path
echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee -a /opt/derp/.profile
## Install/Upgrade Derper Package
sudo -u derp -i go install tailscale.com/cmd/derper@main
## Provide network Permission
sudo setcap 'cap_net_bind_service=+ep' /opt/derp/go/bin/derper
## Install Derper Service
sudo tee /etc/systemd/system/derper.service <<'EOF'
[Unit]
Description=DERP Server
After=network.target
[Service]
User=derp
Group=derp
Environment=DOMAIN=fqdn.domain.tld
Environment=DIRECTORY=/opt/derp
ExecStart=/bin/bash -c "${DIRECTORY}/go/bin/derper -c ${DIRECTORY}/derp.conf --hostname ${DOMAIN} --http-port -1"
Restart=always
[Install]
WantedBy=multi-user.target
EOF
## Reload Systemctl Daemon
sudo systemctl daemon-reload
## Enable Derper Auto Start
systemctl enable --now derper
## Check Derper Status
sudo systemctl status derper
@TeroKeso
Copy link

Line 5 is missing a sudo before rm "sudo rm -rf /usr/local/go && sudo tar --directory /usr/local --extract --gzip --file /opt/go.tar.gz && sudo rm /opt/go.tar.gz"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment