Repository navigation
Home

A web interface for administering TeamSpeak servers. This wiki explains how to actually use it, and why some things behave the way they do.
The README is the short version — what this is and how to get it running. Everything longer lives here.
| I want to… | Go to |
|---|---|
| Install it on a fresh Linux server, step by step | Install on Debian 13 |
| Install it and connect my TeamSpeak server | Getting Started — then same machine or elsewhere / rented |
| See my server's live stats, bandwidth and ping at a glance | Dashboard |
| Hide, move or resize the tiles on my dashboard | Dashboard → Arranging the tiles |
| See who is connected right now, and kick, ban, move or poke them | Clients |
| Look up every client the server has ever seen, ban or delete a profile, change group memberships in bulk, export the list | Client Database |
| Give someone access without making them an admin, or turn on two-factor authentication | Users and Roles |
| Understand why a permission isn't doing what I expect | Permissions |
| Create, copy, edit, move or delete channels, or give one an icon | Channels |
| Work on server or channel groups, copy them between servers | Server and Channel Groups |
| Automate something (welcome messages, temp channels, cleanup) | Bot Flows |
| Play music or stream video into a channel | Music Bots |
| Put a live server status banner on my website or forum | Server Widgets |
| Manage bans, read complaints, send an offline message | Moderation |
| Browse, upload and download the files of a channel | Files |
| Manage the server's icon pool | Icons |
| Hand someone admin rights, or set up a temporary server password | Tokens and Passwords |
| Start, stop or create virtual servers, or change instance and server-wide settings | Virtual Servers and Instance |
| Back up, restore or reset a virtual server | Server Maintenance |
| Run any ServerQuery command, or watch what happens on a server live | Query Console |
| Read the TeamSpeak server's own log | Server Logs |
| See who signed in to the web interface and who joined a TeamSpeak server, from which address and country, who is trying passwords, and ban an address | Connection Journal |
| Change the theme, the accent colour or the language | Themes and Appearance |
| Find a setting, schedule restarts, or check whether an update is out | Administration |
| Find out why something silently isn't happening | Troubleshooting |
| Look up an environment variable | Configuration |
| Put it behind a reverse proxy | Deployment |
| Know what the interface loads and stores in a browser, or switch the storage notice | Privacy and Hosting |
| Work on the code itself | Development |
If you read only one page, make it Tips and Pitfalls. It collects the things that cost people the most time — behaviour that looks like a bug but isn't, and a few places where TeamSpeak's own documentation is wrong.
It started as a fork of clusterzx/ts6-manager, because of a persistent video-streaming stutter that was never resolved upstream and a set of untriaged security findings. Both were fixed here, and it has grown well past that since — a bot flow engine, music bots with video streaming, SSO, two-factor authentication, role-based access, and a considerably deeper permission editor.
The Changelog documents every user-visible change in the order it shipped, including the reasoning behind the more unusual decisions.
Three containers, which is worth knowing when something breaks:
- backend — talks to your TeamSpeak server, runs the bot flow engine and the music bots, holds the database
- frontend — the web interface you log into
- sidecar — a small Go service that handles WebRTC video streaming only. If you never stream video, it simply sits idle
Your TeamSpeak server itself is not part of this. It runs wherever it runs; this app connects to it over its query interface like any other admin tool would.
TeamSpeak's permission system is the single most confusing part of administering a server, and it is where this app can help the most — but only if you understand the model. The Permissions page explains the five layers and, crucially, which one wins when two of them disagree — including the skip and negate flags, which are easy to miss and change the outcome completely.
v0.17, last edited 21.10.2026
Getting started
Using the app
Running it
When something is odd
Contributing