NOTE: This project is still in development. The current priority is a stable SQLite-first MVP for single-instance self-hosted deployments.
Tairitsu is a web-based controller interface for ZeroTier, providing a user-friendly GUI to manage ZeroTier networks, members, and configurations. It consists of a Golang backend that interfaces with the ZeroTier client API and a React-based web frontend.
- Network Management: Create, edit, and delete ZeroTier networks
- Member Administration: Manage network members, authorize devices, and assign IPs
- Configuration Control: Configure network settings including IP ranges, routes, and rules
- Real-time Status: Monitor network and member status
- SQLite-first MVP: SQLite is the only Phase 1 database with formal support
- Secure Authentication: JWT-based authentication for secure access
- Responsive Design: Modern, responsive Material Design interface
- Admin Tools: Import existing ZeroTier networks and generate custom Planet files when needed
- Supported: SQLite, single-instance self-hosted ZeroTier controller, small admin teams
- In progress: broader account settings and Planet tooling
- Not currently supported as a Phase 1 promise: MySQL, PostgreSQL
-
Create a
local.conffile in ZeroTier's home directory (Usually/var/lib/zerotier-one). If you already have alocal.conffile, skip this step. -
Configure
allowManagementFromin ZeroTier'slocal.conf:{ "settings": { "allowManagementFrom": [ "0.0.0.0/0", "::/0" ] } }This will make ZeroTier controller accessible from any IP address.
Or for more restrictive access, but make sure this IP can be accessed by Tairitsu container:
{ "settings": { "allowManagementFrom": [ "<local-ip-cidr>", ] } }After modifying the configuration, restart the ZeroTier container.
-
Run Tairitsu container
docker run -d \ --name tairitsu \ -p 3000:3000 \ -v /var/lib/zerotier-one:/var/lib/zerotier-one \ -v path/to/tairitsu/data:/app/data \ ghcr.io/gt-610/tairitsu:latestOr through Compose:
services: tairitsu: image: ghcr.io/gt-610/tairitsu:latest ports: - 3000:3000 volumes: - /var/lib/zerotier-one:/var/lib/zerotier-one - path/to/tairitsu/data:/app/data
Not ready yet.
- Go 1.25 or later with CGO enabled
- Bun 1.3 or later
- ZeroTier controller running locally or in Docker
GOCACHE=/tmp/go-build GOMODCACHE=/tmp/go-mod go build -o ./build/tairitsu ./cmd/tairitsucd web
bun install
bun run devThe frontend development server will start on port 3000 by default, and will proxy API requests to the backend server.
For production builds:
cd web
bun run buildAdditional internal docs:
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
Since version 1.16.0, ZeroTier's controller component is licensed under a commercial source-available non-free license. Tairitsu does not redistribute any ZeroTier controller code and is fully compliant with ZeroTier's licensing terms.
Tairitsu is a standalone management interface for ZeroTier networks. This project DOES NOT include, distribute, or modify any ZeroTier source code or binaries.
This software communicates with a separately installed ZeroTier controller via its official API. Users must deploy their own ZeroTier controller under the terms of its license.
The "Generate Planet" feature is modified from ztnodeid-go under GNU GPL v3 License, not from ZeroTier itself.
Tairitsu is NOT a ZeroTier product. It is NOT affiliated with, endorsed by, or supported by ZeroTier, Inc.