binhex-official-teamspeak6-server

binhex-official-teamspeak6-server

Docker app from Binhex's Repository

Overview

TeamSpeak 6 Server (Beta). Tried and tested for nearly 25 years, TeamSpeak offers ideal voice communication for gaming, education and training, internal business communication, and staying in touch with friends and family. This is the official TeamSpeak 6 server Docker image from TeamSpeak Systems. NOTE: This is a Beta release. TeamSpeak 3 server licenses are NOT compatible with TeamSpeak 6, and there is currently no migration path from TeamSpeak 3 to TeamSpeak 6.

TeamSpeak 6 Server - Beta Release README

Welcome to the Beta release of the TeamSpeak 6 Server! We're excited to have you onboard as you explore the next generation of TeamSpeak. This document will guide you through getting started and highlight important details about the current Beta.

As this is a Beta version, some features are still in development, and you may come across bugs. Your feedback is important and will help us shape a more stable and complete final release.

 About TeamSpeak

Tried & tested for nearly 25 years, we have a solution that fits everyone's needs. TeamSpeak offers the ideal voice communication for 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.

ℹ️ Beta Status & Known Issues

This is a beta release. The main objective is to collect diverse feedback and identify potential issues before the stable version is launched.

Self-Hosted Server Files: The dedicated server software for TeamSpeak 6 is still under active development and is not yet fully feature-complete. We are committed to delivering the complete TS6 experience for self-hosted servers.

Feature Instability: Some of the new features may be unstable or subject to change as we continue refining them.

Feedback is Essential: Your experience is invaluable, and your input is crucial to us. Please report any issues or share your suggestions in our Community Forum or directly here on GitHub.

Limitations: Please note that TeamSpeak 3 Server licenses are not compatible with TeamSpeak 6 Servers, and currently, there is no migration path available between the two versions.

Beta License: The server includes a 32-slot Beta License that will be renewed every two months throughout the beta/evaluation period, until licensing and pricing are finalized.

Additionally, it is not yet possible to obtain or upgrade to a larger license for TeamSpeak 6.

We truly appreciate your patience and understanding as we continue to work on solutions to better support your needs in the future.

👇 Getting Started with TS6

To get started with the TeamSpeak 6 Client, please head over to our Downloads page.

For information on self-hosting, see the brief guide below. For the latest updates, announcements, and to engage with the TeamSpeak community, be sure to check out our Community Forum and follow us on Twitter.

Don't want to self-host, or simply require an easier way to get started with TeamSpeak 6? You can rent reliable and Official TeamSpeak 6 Servers directly through us at TeamSpeak Communities.

⚙️ Configuration

You can configure your server in three main ways:

  1. Command-Line Arguments Pass options directly when starting the server (e.g., ./tsserver --default-voice-port 9987). This is useful for temporary changes or for scripting.

  2. Environment Variables: Set environment variables before starting the server. This is useful for Docker or when you want to avoid command-line clutter.

  3. YAML Configuration File: For a persistent configuration, it is highly recommended to use a tsserver.yaml file. You can generate a default config file using the --write-config-file flag.

Key settings you can control include network ports (voice, file transfer), database connections (supports SQLite and MariaDB), IP bindings, and logging options.

For a complete list of available options, run the server with the --help flag or refer to the CONFIG.md.

Running the Server with Binaries

If you are not using Docker, you can run the server directly on your operating system.

 On Linux:

Make the server binary executable:

chmod +x tsserver

Run the server from your terminal, making sure to accept the license:

./tsserver --accept-license

 On Windows:

Open Command Prompt or PowerShell and navigate to the directory where you extracted the server files.

Run the server executable, making sure to accept the license:

tsserver.exe

Docker Run the Server with Docker (Recommended)

The easiest way to run the TeamSpeak 6 Server is with Docker. It provides an isolated, portable, and easily manageable environment, making setup and maintenance straightforward.

1. Simple docker run command:

For a quick start, you can use the docker run command.

# Running the TeamSpeak 6 Server container in detached mode using a docker volume
docker run -d \
  --name teamspeak-server \
  -p 9987:9987/udp \
  -p 30033:30033 \
  -e TSSERVER_LICENSE_ACCEPTED=accept \
  -v teamspeak-data:/var/tsserver/ \
  teamspeaksystems/teamspeak6-server:latest

# Check server logs (e.g. ServerAdmin privilege key)
docker logs -f teamspeak-server

# Manage the container
docker stop teamspeak-server    # Stop the server
docker start teamspeak-server   # Start it again
docker restart teamspeak-server # Restart in one step

# Clean up
docker rm -f teamspeak-server   # Remove the container (data is kept in the volume)
docker volume rm teamspeak-data # Remove the data volume (permanently deletes all server data!)

2. Using docker-compose.yaml (for more persistent setups):

For a server you intend to keep running long-term, it’s recommended to use Docker Compose instead of docker run.

Create a docker-compose.yaml file in your project directory.

You can use the following minimal example, or explore the ready-made configurations in the compose/ folder (e.g. example-compose-mariadb.yaml):

services:
  teamspeak:
    image: teamspeaksystems/teamspeak6-server:latest
    container_name: teamspeak-server
    restart: unless-stopped
    ports:
      - "9987:9987/udp"   # Voice Port
      - "30033:30033/tcp" # File Transfer
      # - "10080:10080/tcp" # Web Query
    environment:
      - TSSERVER_LICENSE_ACCEPTED=accept
    volumes:
      - teamspeak-data:/var/tsserver

volumes:
  teamspeak-data:
    name: teamspeak-data

Common Docker Compose Commands:

# Running the server in detached mode using the example compose file
docker compose -f example-compose-sqlite.yaml up -d

# Check server logs (e.g. ServerAdmin privilege key)
docker compose -f example-compose-sqlite.yaml logs -f

# Manage the compose
docker compose -f example-compose-sqlite.yaml stop     # Stop the server
docker compose -f example-compose-sqlite.yaml start    # Start it again
docker compose -f example-compose-sqlite.yaml restart  # Restart in one step

# Clean up
docker compose -f example-compose-sqlite.yaml down     # Remove the container (data is kept in the volume)
docker volume rm teamspeak-data                        # Remove the data volume (permanently deletes all server data!)

🔗 Useful Links

Official Website
Community Forum
GitHub Issues

Your participation and feedback will help us shape the future of TeamSpeak! 💙
Thank you for being a part of the TeamSpeak 6 Beta program and contributing to its progress! 🫡

Install binhex-official-teamspeak6-server on Unraid in a few clicks.

Find binhex-official-teamspeak6-server in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for binhex-official-teamspeak6-server Review the template variables and paths Click Install

Requirements

License Required: You MUST set TSSERVER_LICENSE_ACCEPTED to 'accept' to confirm you have read and accepted the TeamSpeak server license agreement — the server will NOT start without this.

Beta Status: This is a beta release. Some features may be unstable or subject to change.

TS3 Incompatibility: TeamSpeak 3 server licenses are NOT compatible with TS6. There is currently no migration path from TS3 to TS6.

Larger Licenses: It is not yet possible to obtain or upgrade to a larger license for TeamSpeak 6.

File Transfer Port: The internal container port for file transfers MUST match the external host port exactly — mismatches will cause client connectivity issues.

Categories

Download Statistics

761,664
Total Downloads
182,628
This Month
164,611
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
teamspeaksystems/teamspeak6-server:latest
Last Updated2026-06-17
First Seen2026-02-16

Runtime arguments

Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart=unless-stopped --user 99:100

Template configuration

Port: VoicePortudp

UDP port for TeamSpeak voice communication. Clients connect to this port to join the server.

Target
9987
Default
9987
Port: File TransferPorttcp

TCP port used for file transfers between clients and the server. The internal container port MUST match the external host port.

Target
30033
Default
30033
Port: Web QueryPorttcp

TCP port for the HTTP Web Query interface. Enable with TSSERVER_QUERY_HTTP_ENABLED=1.

Target
10080
Default
10080
Port: SSH QueryPorttcp

TCP port for the SSH Query interface. Enable with TSSERVER_QUERY_SSH_ENABLED=1.

Target
10022
Default
10022
Path: /configPathrw

Container path for all TeamSpeak server data including the SQLite database, logs, crash dumps, and configuration files.

Target
/var/tsserver
Default
/mnt/user/appdata/official-teamspeak6
Variable: TSSERVER_LICENSE_ACCEPTEDVariable

Set to 'accept' to confirm you have read and accepted the TeamSpeak server license agreement. The server will NOT start without this value set.

Target
TSSERVER_LICENSE_ACCEPTED
Default
accept|deny
Variable: TSSERVER_DEFAULT_PORTVariable

Permanently sets the default UDP voice port for the first virtual server created. Should match the Voice port mapping above.

Target
TSSERVER_DEFAULT_PORT
Default
9987
Variable: TSSERVER_FILE_TRANSFER_PORTVariable

TCP port used for file transfers. Must match the File Transfer port mapping above — internal and external ports MUST be identical.

Target
TSSERVER_FILE_TRANSFER_PORT
Default
30033
Variable: TSSERVER_QUERY_ADMIN_PASSWORDVariable

Override the query password for the built-in serveradmin account. If left blank, a random password is generated on first start and printed to the container logs.

Target
TSSERVER_QUERY_ADMIN_PASSWORD
Variable: TSSERVER_QUERY_HTTP_ENABLEDVariable

Set to '1' to enable the HTTP Web Query interface. Also ensure the Web Query port is published above.

Target
TSSERVER_QUERY_HTTP_ENABLED
Default
0
Variable: TSSERVER_QUERY_HTTP_PORTVariable

Port on which the HTTP Web Query interface listens. Default: 10080.

Target
TSSERVER_QUERY_HTTP_PORT
Default
10080
Variable: TSSERVER_QUERY_SSH_ENABLEDVariable

Set to '1' to enable the SSH Query interface. Also ensure the SSH Query port is published above.

Target
TSSERVER_QUERY_SSH_ENABLED
Default
0
Variable: TSSERVER_QUERY_SSH_PORTVariable

Port on which the SSH Query interface listens. Default: 10022.

Target
TSSERVER_QUERY_SSH_PORT
Default
10022
Variable: TSSERVER_DATABASE_PLUGINVariable

Database backend to use. 'sqlite3' (default, no external DB needed) or 'mariadb' for a MariaDB/MySQL database.

Target
TSSERVER_DATABASE_PLUGIN
Default
sqlite3|mariadb
Variable: TSSERVER_DATABASE_HOSTVariable

Hostname or IP address of the MariaDB database server. Only required when TSSERVER_DATABASE_PLUGIN=mariadb.

Target
TSSERVER_DATABASE_HOST
Variable: TSSERVER_DATABASE_PORTVariable

Port of the MariaDB database server. Only required when TSSERVER_DATABASE_PLUGIN=mariadb.

Target
TSSERVER_DATABASE_PORT
Default
3306
Variable: TSSERVER_DATABASE_NAMEVariable

Name of the database to use. Only required when TSSERVER_DATABASE_PLUGIN=mariadb.

Target
TSSERVER_DATABASE_NAME
Variable: TSSERVER_DATABASE_USERNAMEVariable

Username for MariaDB authentication. Only required when TSSERVER_DATABASE_PLUGIN=mariadb.

Target
TSSERVER_DATABASE_USERNAME
Variable: TSSERVER_DATABASE_PASSWORDVariable

Password for MariaDB authentication. Only required when TSSERVER_DATABASE_PLUGIN=mariadb.

Target
TSSERVER_DATABASE_PASSWORD
Variable: TSSERVER_DATABASE_CLIENT_KEEP_DAYSVariable

Number of days to retain client records in the database before pruning. Default: 30.

Target
TSSERVER_DATABASE_CLIENT_KEEP_DAYS
Default
30