Skip to content

Administration

DomeNinchen edited this page Oct 14, 2026 · 8 revisions

Administration

The installation-wide admin tasks that don't belong to any one server. Almost all of them are under Settings; the Connection Journal has its own place in the navigation.

Settings, tab by tab

Tab Who What it is for
Connections admins The TeamSpeak servers the manager talks to — below, and the setup guides (same machine, elsewhere or rented)
Account everyone Your own password and two-factor authentication — Users and Roles
WebGui everyone Your theme, accent and language; for admins also the installation defaults and the storage notice — Themes and Appearance, Privacy and Hosting
Users admins Accounts, roles, server access and sessions — Users and Roles
YouTube admins Cookies for age-restricted video, and whether songs played from chat are kept — Music Bots
Streaming admins The resolution, frame rate, bitrate and volume a video stream starts with, and when an unwatched one ends — Music Bots
Network admins Which visitor address the backend sees — below
Debug admins Logging switches, and a danger zone — below
Restart admins Scheduled restarts — below
SSO admins Sign-in through an OpenID Connect provider — Users and Roles
Update Status admins Whether a newer version exists — below

Connections

Settings → Connections lists the TeamSpeak servers as cards, each with a Test button (which names the real reason when it fails), Edit, the Bot Identity button and a bin. A card shows the host, the protocol and the SSH port, an Enabled or Disabled badge and, for a connection without an API key, a Voice only badge. The Add Connection / Edit Connection dialog has:

Field
Name, Host Required. The host has to be reachable from inside the backend container, not from your browser.
WebQuery Port, Use HTTPS Default port 10080. TeamSpeak's HTTPS interface defaults to 10443; switching HTTPS on does not change the port — see WebQuery over HTTPS.
API Key Optional. Without one only the music bots and what runs over the voice connection work, and the pages that need WebQuery are hidden. When editing, a blank field keeps the stored key; Remove the API key takes it away.
Dashboard Ping Target Optional; what the Dashboard's ping measures instead of the host.
Record history Whether this connection's user counts, bandwidth and ping are recorded for Statistics → History. On by default.
Record who joins Whether the Connection Journal records who joins its virtual servers. On by default.
SSH Port, SSH User, SSH Password Optional; default port 10022. For event triggers, the Query Console's live events, the Files page and the icon picker — see Getting Started. Stored encrypted; when editing, they show (unchanged).

Bot Identity gives bot flows a ServerQuery login of their own, so their actions appear under a name of their own in TeamSpeak's logs; if flow actions fail with "out of scope", Fix Permissions in the same dialog reissues its key (Tips and Pitfalls). Deleting a connection asks first, and the bots linked to it stop working.

Scheduled restarts

Settings → Restart lets you restart this application's own containers on a schedule — a cheap way to keep a long-running deployment healthy, because it clears accumulated state and reconnects everything cleanly. It never restarts your TeamSpeak server.

  • Restart Backend and Restart Sidecar are separate switches, both off by default; switch on only what your setup has (the sidecar is only restarted when the backend knows its address, SIDECAR_URL).
  • Time (default 04:00) and Days (all of them by default). The time is the clock of the backend container — compose does not set a time zone for it, so it normally runs in UTC. Save it with the button below; nothing changes until you do.
  • How it works: at the set time the backend (and/or the sidecar) shuts down cleanly and Docker's restart: unless-stopped policy, which both shipped compose files set, starts it again. A backend that is not run by something that restarts it would simply stay down. Because the process shuts down cleanly on the signal, the query session and the music bots disconnect properly and reconnect on their own right after (this is the fix described in the Changelog under Reliability).

Update status

Settings → Update Status compares your running backend, frontend and sidecar against the latest on each component's main branch and shows, per component, the current and latest version and whether an update is available. The three are versioned independently, so it's normal for one to have an update while the others don't. It only tells you — nothing updates automatically. Actually applying an update is a deployment step, covered in Deployment → Updating. A GitHub token for the check is described under Configuration.

Users and sessions

User accounts, roles, per-server access and active-session revocation are on the Users and Roles page.

Runtime debug toggles

Settings → Debug has three logging switches that take effect immediately, no restart or environment variable needed — ServerQuery, Voice Bot and Rank Check logging. What they're for and how to read the output is in Troubleshooting. Leave them off during normal operation; they can produce a lot of output.

Under them sits a Danger Zone with two buttons, Reset Radio Station IDs and Reset Music Bot IDs. They do not reset a counter and nothing else: the first deletes every radio station on every server connection, the second stops and deletes every music bot on every server connection, so that the next one starts again at #1. Each asks for confirmation first, and neither can be undone.

Visitor address

Settings → Network shows how the request that opened the page reached the backend: every address in the chain (the connection itself, then the X-Forwarded-For entries, nearest to the backend first), which of them the backend takes for you, the TRUST_PROXY setting in effect, and the number of proxies that would make the first public address the visitor. Use it behind a reverse proxy to check that the backend sees the real visitor and not your proxy; what to set and why is in Deployment.

Connection journal

Connection Journal (sidebar, Security) lists every sign-in event at the web interface and every client that joins a TeamSpeak server - successful or not, with the address it came from - and lets you sort, filter, see it by address, ban an address, set how long the journal is kept and empty it. It is described on its own page: Connection Journal.

yt-dlp cookies

Age-restricted and members-only video needs YouTube cookies, managed under Settings → YouTube — see Music Bots.

Storage notice

Settings → WebGui has a switch for the small notice about what the interface keeps in the browser. It is on by default, applies to everyone including the login page, and is purely informational. What it says, what it is not, and what your own hosting adds are on Privacy and Hosting.


v0.8, last edited 14.10.2026

Getting started

Home
Getting Started
Install on Debian 13
Setup: same machine
Setup: elsewhere / rented
Users and Roles

Using the app

Dashboard
Virtual Servers and Instance
Channels
Clients
Client Database
Permissions
Server and Channel Groups
Moderation
Tokens and Passwords
Files
Icons
Bot Flows
Music Bots
Server Widgets
Server Maintenance
Server Logs
Query Console
Connection Journal
Themes and Appearance

Running it

Administration
Configuration
Deployment
Privacy and Hosting

When something is odd

Tips and Pitfalls
Troubleshooting

Contributing

Development

Repository · Changelog

Clone this wiki locally