Using Tailscale to Access TinyPilot Remotely

Last updated June 1, 2023

If you want to access your TinyPilot over the Internet, you're in the right place.

This article explains how to connect to your TinyPilot remotely using Tailscale, a tool for creating a fast, secure, private network.

Tailscale offers free accounts, and you can configure Tailscale's software on your TinyPilot in less than 10 minutes.

Pre-requisites

  • A TinyPilot device
  • A Tailscale account (accounts are free for personal use)

Install Tailscale on your TinyPilot

SSH in to your TinyPilot device and enter the following commands to install Tailscale's client:

curl -fsSL https://tailscale.com/install.sh | sh && \
  sudo tailscale up

At the end of the installation, Tailscale will print a URL that joins your TinyPilot to your Tailscale account. Copy the URL into your web browser.

When Tailscale's web interface prompts you to log in, proceed through the login flow. When you're done, Tailscale will show a success message:

Tailscale authorization successful message

If you visit the Tailscale Machines tab, you should now see your TinyPilot device joined to your private Tailscale network:

Tailscale Machines tab

Install Tailscale on your computer

To access your TinyPilot device over the Internet, you need to join your computer to your new Tailscale network. Note that this is not the computer that TinyPilot controls but rather the computer you use to access TinyPilot in your web browser.

To add your computer, download Tailscale, and follow the installation instructions. After you add your computer to your Tailscale network, you should see your computer in Tailscale's Machines tab:

Tailscale Machines tab

Access TinyPilot remotely

Now that your computer and your TinyPilot are on the private Tailscale network, you can access your TinyPilot through its Tailscale IP address.

Copy TinyPilot's IP address from Tailscale's Machines tab:

Tailscale Find TinyPilot IP address

Paste the IP into the web browser on your computer. You should now see your TinyPilot web dashboard.

Tailscale TinyPilot View

You can access your TinyPilot from anywhere on the Internet through this IP address.

Using hostnames (optional)

It's a challenge to memorize your TinyPilot's whole IP address, so you may find it easier to access TinyPilot instead via its hostname (e.g., https://tinypilot).

To configure hostname access, add an entry to your computer's hosts file.

  • On Linux and MacOS, the hosts file is at /etc/hosts
  • On Windows, the hosts file is at %WINDIR%\System32\drivers\etc

For example, if your TinyPilot's Tailscale IP is 100.75.25.103, add the following line to your hosts file:

100.75.25.103	tinypilot

After you add the entry to your hosts file, you can access your TinyPilot by hostname:

Alternatively, you can use Tailscale's MagicDNS feature, which automatically resolves hostnames for you.

Tuning performance

When using your TinyPilot over the internet with Tailscale, you will likely see longer delays before your target machine registers your mouse or keyboard input.

You can improve your TinyPilot's performance with Tailscale by enabling H.264 video, which is a more modern video format optimized for streaming over the Internet.

To switch streaming modes, visit your TinyPilot's web UI, and click System > Video Settings. In the video settings dialog, change "Streaming Mode" to "H.264."

TinyPilot Video Settings dialog

For more information about tuning performance, see the FAQ article, "How can I reduce TinyPilot's latency?"

Other remote access options

Tailscale is just one of several ways to access your TinyPilot remotely. You can find other options in our article about accessing your TinyPilot over the Internet.

Written by Diego, TinyPilot Technical Support Engineer