Without root, you generally cannot use a TUN device, so you run tailscaled in userspace networking mode.
Set XDG_DATA_HOME so state is written under the current directory:
export XDG_DATA_HOME="$PWD/.xdg"
mkdir -p "$XDG_DATA_HOME"Store the control socket in the current directory as well:
./tailscaled --tun=userspace-networking --socket="./tailscaled.sock" --verbose=1Check it’s running:
./tailscale --socket="./tailscaled.sock" statusBrowser-based login:
./tailscale --socket="./tailscaled.sock" upOr using an auth key:
./tailscale --socket="./tailscaled.sock" up --authkey tskey-auth-XXXXTCP forwarding:
./tailscale --socket="./tailscaled.sock" serve --tcp 11434 tcp://127.0.0.1:11434If you are forwarding the same port on localhost, a shorter form may work:
./tailscale --socket="./tailscaled.sock" serve --tcp 11434 11434Test from another tailnet device:
nc -vz <hostname-or-tailnet-ip> 11434./tailscale --socket="./tailscaled.sock" serve status
./tailscale --socket="./tailscaled.sock" serve off