Run a TeamSpeak 6 Server with Docker
A clean way to run the official TS6 server image on a Linux VPS, keep the server data persistent and expose the ports clients actually need.
What you need
You need a Linux machine or VPS with Docker installed, enough access to publish UDP and TCP ports, and a persistent Docker volume for the server data. The official image stores its writable data under /var/tsserver/.
Start the container
This is a simple baseline for a private or test server. It publishes the default voice and file-transfer ports, accepts the server license through an environment variable and keeps the data in a named volume.
docker run -d \
--name teamspeak-server \
--restart unless-stopped \
-p 9987:9987/udp \
-p 30033:30033/tcp \
-e TSSERVER_LICENSE_ACCEPTED=accept \
-v teamspeak-data:/var/tsserver/ \
teamspeaksystems/teamspeak6-server:latestCheck the first startup
Use the container logs after launch. The first startup is where you will notice configuration errors, port conflicts or information you need to administer the new server.
docker logs -f teamspeak-serverDocker Compose example
If you plan to keep the server around, Compose is easier to read and update than a long command in shell history.
services:
teamspeak:
image: teamspeaksystems/teamspeak6-server:latest
container_name: teamspeak-server
restart: unless-stopped
ports:
- "9987:9987/udp"
- "30033:30033/tcp"
environment:
TSSERVER_LICENSE_ACCEPTED: accept
volumes:
- teamspeak-data:/var/tsserver/
volumes:
teamspeak-data:Optional query ports
Do not publish query ports just because an example contains them. The TS6 configuration supports HTTP Query on TCP 10080 and SSH Query on TCP 10022, but they are optional. Enable and expose them only when you actually use those interfaces and restrict access appropriately.
Keep the port mapping consistent
File transfer is sensitive to mismatched container and host ports. If the server listens on TCP 30033 inside the container, map it consistently unless you also change the server configuration. The same principle applies when you change the default voice port.
Useful next steps
Read the TeamSpeak 6 port reference before changing your firewall, or go back to the complete TS6 server guide for Linux, Windows and configuration options.
Official source
For the current image, configuration variables and release notes, use the official TeamSpeak 6 Server repository.
