Skip to content

TeamSpeak 3

Homepage | Repository

Tags: Voice Chat

TeamSpeak offers the ideal voice communication for online gaming, education and training, internal business communication, and staying in touch with friends and family. Our primary focus is delivering a solution that is easy to use, with high security standards, excellent voice quality, and low system and bandwidth usage.

inventories/homelab/group_vars/homelab.yml
teamspeak3_enabled: true

The first time you start the TeamSpeak 3 server, it will generate a random Server Query Admin Account password, api key, and ServerAdmin privilege key. Make sure you write these down! The Server Query Admin Account will let you manage the server remotely, and the ServerAdmin privilege key will let you make yourself the Server Admin when you connect with your TeamSpeak client.

By default, TeamSpeak 3 can be accessed at http://[your_server_ip]:9987 or https://teamspeak3.[your_domain].com if you have DNS access configured.

Telegraf can scrape metrics from TeamSpeak 3 for monitoring through ServerQuery. To enable this integration, set telegraf_teamspeak3_serverquery_username and telegraf_teamspeak3_serverquery_password to the Server Query Admin Account credentials.

inventories/homelab/group_vars/homelab.yml
# By default these are generated on the first run of the TeamSpeak 3 server
telegraf_teamspeak3_serverquery_username: serverqueryuser
telegraf_teamspeak3_serverquery_password: serverquerypass

See the default configuration options for TeamSpeak 3 at roles/teamspeak3/defaults/main.yml. Add any overrides to your inventories/[your_inventory]/group_vars/homelab.yml file.

The ServerQuery interface is rate-limited by flood protection, which can interfere with tools that poll it frequently (for example a web viewer). Add their IPs to teamspeak3_ip_whitelist to exempt them from flood protection; use teamspeak3_ip_blacklist to bar IPs from ServerQuery entirely. Both are comma separated and rendered into the query_ip_allowlist.txt / query_ip_blocklist.txt files the server reads. Localhost is included in the allowlist by default — keep it so local queries (such as Telegraf) keep working.

inventories/homelab/group_vars/homelab.yml
# e.g. exempt a containerized viewer reaching TeamSpeak from the Docker bridge
teamspeak3_ip_whitelist: "127.0.0.1,::1,172.17.0.0/16"

A TeamSpeak server requires a license file when using more then 1 virtual server with 32 slots. Once you have a license file, place it in the teamspeak3_data_directory defined in your configuration (default: {{ docker_home }}/teamspeak3/) and restart the server.

Most individuals will not need a license file, but if you do, you can obtain a license from the TeamSpeak website: https://teamspeak.com/en/features/licensing/