Setting up Tailscale on Terramaster NAS for your DIY Cloud

Setting up Tailscale on Terramaster NAS for your DIY Cloud

Tailscale on TerraMaster NAS (Persistent + Auto-Start via GUI)

This setup avoids tmpfs resets and ensures the tunnel reconnects automatically after reboot.

Key fixes:

  • /var is tmpfs → state was being wiped on reboot
  • moved state to persistent storage (/Volume1)
  • used TOS Task Scheduler for reliable startup

STEP 1 — Install Tailscale (CLI)

Download

ter_wget https://pkgs.tailscale.com/stable/tailscale_latest_amd64.tgz

Extract

tar xzf tailscale_latest_amd64.tgz
cd tailscale_*

(Optional) remove archive

cd ..
rm tailscale_latest_amd64.tgz
cd tailscale_*

Install binaries

cp tailscale /usr/bin/
cp tailscaled /usr/sbin/
chmod +x /usr/bin/tailscale
chmod +x /usr/sbin/tailscaled

STEP 2 — Create persistent state location

(/var is RAM → do NOT use)

mkdir -p /Volume1/tailscale
chmod 700 /Volume1/tailscale

STEP 3 — Start daemon using persistent state

killall tailscaled 2>/dev/null

/usr/sbin/tailscaled \
  --state=/Volume1/tailscale/tailscaled.state &

Wait a few seconds.


STEP 4 — Login & enable auto-connect

/usr/bin/tailscale up

Approve in browser.


STEP 5 — Verify

tailscale ip
tailscale status
tailscale debug prefs | grep WantRunning

Expect:

WantRunning: true

STEP 6 — Enable auto-start (GUI method — recommended)

Control Panel → Task Scheduler → Create

Trigger

✔ At system startup

Task Type

✔ User-defined script

Command

sleep 15
/usr/sbin/tailscaled --state=/Volume1/tailscale/tailscaled.state &

Use Volume1 permanent mount option

✔ ensures storage is mounted before execution


STEP 7 — Reboot test

reboot

After reboot:

ps aux | grep '[t]ailscaled'
tailscale ip
tailscale status

Should show:

✔ daemon running
✔ 100.x address
✔ peers visible


WHY THIS WORKS

Before:

/var/lib/tailscale → tmpfs → wiped on reboot

Now:

/Volume1/tailscale → disk → persistent

Tailscale retains:

✔ device identity
✔ login
✔ keys
✔ WantRunning preference
✔ auto-connect behavior


IMPORTANT COMMAND BEHAVIOR

Connect & enable auto-connect

tailscale up

Disconnect tunnel

tailscale down

Stops tunnel & disables auto-connect.

Log out completely

tailscale logout

Removes credentials & requires login.


FUTURE UPDATES

ter_wget https://pkgs.tailscale.com/stable/tailscale_latest_amd64.tgz
tar xzf tailscale_latest_amd64.tgz
cp tailscale /usr/bin/
cp tailscaled /usr/sbin/
killall tailscaled
/usr/sbin/tailscaled --state=/Volume1/tailscale/tailscaled.state &

No login required.


QUICK HEALTH CHECK

tailscale ip && echo "✓ tunnel active"

NOTES

State & identity stored in:

/Volume1/tailscale/tailscaled.state

Deleting it resets the device identity.


✔ Persistent
✔ Auto-connects after reboot
✔ No re-login needed
✔ Secure remote access