datasette-tailscale 0.1a0: Run Datasette on Tailscale network
An experimental alpha plugin starts a localhost Datasette server with a Tailscale sidecar.
TL;DR
- 01An experimental alpha plugin starts a localhost Datasette server with a Tailscale sidecar.
- 02The plugin runs a local Datasette server and a Tailscale sidecar, and the sidecar bridges the local server to your Tailnet.
- 03The implementation uses the Python bindings for the experimental tailscale-rs library, and the author notes an open issue asking whether there is a cleaner way to set up the proxy mechanism.
datasette-tailscale 0.1a0, published 16th June 2026, is a very experimental alpha plugin that connects a local Datasette instance to a Tailnet so a host name like http://datasette-preview/ serves your data. The plugin runs a localhost Datasette server alongside a Tailscale sidecar and uses the Python bindings for the experimental tailscale-rs library.
What does datasette-tailscale 0.1a0 do?
datasette-tailscale 0.1a0 exposes a local Datasette process over a Tailscale network by launching a Tailscale sidecar that joins your Tailnet, allowing a Tailnet hostname to serve the Datasette UI. For example, the blog post shows a command that starts Datasette with Tailscale authentication and a chosen hostname:
datasette tailscale mydata.db \
--ts-authkey tskey-auth-xxxx --ts-hostname datasette-preview
Running that command starts a localhost Datasette server together with a Tailscale sidecar that connects to your Tailnet, such that http://datasette-preview/ serves Datasette from the machine running the plugin.
How does it work?
The plugin runs a local Datasette server and a Tailscale sidecar, and the sidecar bridges the local server to your Tailnet. The implementation uses the Python bindings for the experimental tailscale-rs library, and the author notes an open issue asking whether there is a cleaner way to set up the proxy mechanism.
The observable pieces are: a Datasette process bound to localhost, a Tailscale sidecar process that advertises a hostname on the Tailnet, and a proxy arrangement so requests to that Tailnet hostname reach the local server. The source provides the exact CLI pattern above and explicitly states the use of tailscale-rs Python bindings.
Why it matters
This plugin gives a straightforward way to put a local Datasette instance onto a private Tailscale network without modifying public DNS or reverse proxies. That matters for developers and teams who want to share internal dataset UIs across a Tailnet rather than exposing them on the public web. The approach also surfaces integration work that remains rough, because the author describes the package as "a very experimental alpha plugin" and has filed an issue about the proxy setup.
What to watch
Watch for updates to the plugin and any responses to the filed issue about the proxy mechanism, plus upstream changes to the tailscale-rs bindings that the plugin depends on. The initial release is version 0.1a0, published 16th June 2026, so subsequent releases or fixes would indicate whether the integration is hardened for broader use.
Written by The Brieftide · Source: Simon Willison
The Brieftide Daily · 06:00
Briefs like this one, in your inbox every morning.