Public | Automated Build

Last pushed: 12 days ago
Short Description
Self updating TeamSpeak3-Server
Full Description


This docker image provides a TeamSpeak3 server that will automatically download the latest stable version at startup. You can also run/upgrade to any other specific version. See the Versions section below for more information.


To simply use the latest stable version, run

docker run -d -p 9987:9987/udp -p 10011:10011 -p 30033:30033 --name=ts3-server aheil/teamspeak3-server

where the default server ports will be exposed on your host machine. If you want to serve up multiple TeamSpeak3 servers or just use an alternate port, change the host-side port mapping such as

docker run -d -p 9988:9987/udp -p 10012:10011 -p 30034:30033 ...

will serve your TeamSpeak3 server on your host's port 9988/udp, 10011/tcp, 30033/tcp sind the -p syntax is host-port:container-port.

Speaking of multiple servers, it's handy to give your containers ecplicit names using --name as seen above.

If there is no ts3server.ini present in the data directory, the server will be startet with createinifile=1. Subsequent runs will start with inifile=/data/ts3server.ini.

First Run

If you are starting the server for the first time, you need the Admin-Token:

docker run -d -p 9987:9987/udp -p 10011:10011 -p 30033:30033 --name=ts3-server aheil/teamspeak3-server
docker logs -f ts3-server

There are two important sections in the logfiles:

                      I M P O R T A N T                           
               Server Query Admin Account created                 
         loginname= "serveradmin", password= "qyF2d07R"


                      I M P O R T A N T                           
      ServerAdmin privilege key created, please use it to gain 
      serveradmin rights for your virtualserver. please
      also check the doc/privilegekey_guide.txt for details.



Attaching the data directory to host filesystem

In order to readily access the TeamSpeak3 data, use the -v argument to map a directory on your host machine to the container's /data directory, such as:

mkdir -p /path/on/host
chown 1000:1000 /path/on/host
docker run -d -v /path/on/host:/data ... --name=ts3-server ...

When attached in this way you can stop the server (docker stop ts3-server), edit the configuration under your attached /path/on/host and start the server again with docker start ts3-server to pick up the new configuration.

NOTE: The files in the attached directory will be owned by the host user with UID of 1000. Be sure to create that user (such as adduser --uid 1000 ...) if you don't already have one.


To use a different TeamSpeak3 version, pass the TS_VERSION environment variable, which can have the value

  • (or a specific version, such as "")

For example, to use a specific version:

docker run -d -e TS_VERSION= ... --name=ts3-server ...

Note: a list of valid versions is available here or you may use ts3version@github by your self.

Docker Pull Command
Source Repository

Comments (18)
2 days ago

How can I import my licensekey.dat file?

2 months ago

to anyone having issues with 'does not exist' make the mounted directory that you setup with -v writable with chmod 777

3 months ago

the -v option doesn't work for me :'(
after creating /data/docker/teamspeak-server and chown it to the userid 1000 (Yes that user exists)
and starting your image with [code]docker run -d -v /data/docker/teamspeak-server -p 9987:9987/udp -p 10011:10011 -p 30033:30033 --name=ts3-server aheil/teamspeak3-server[/code]
the directory stays empty

I'm running debain 9 and Docker version 17.06.0-ce, build 02c1d87

a year ago

hello i hope you can help me im running 2 ts3 servers on my synology NAS and they are working great... but on the second ts3 server i cant use the data transfer. i made the right port and did the port forwarding right and on my first server wich is working on 9987 10011 30033 is al perfekt

a year ago

Thanks a lot for this image!

Just "dockrized" a few TS instaces to this image and worked great.

2 years ago

Hello. I just run it on Ubuntu Server 14.04.03 LTS and it crushed at the same position like @nikolajandreasen

tharmar@nuc:~$ docker logs -f ts3-server
--2016-02-13 20:13:06--
Resolving (
Connecting to (||:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 449 [application/json]
Saving to: `STDOUT'

 0K                                                       100% 11.5M=0s

2016-02-13 20:13:07 (11.5 MB/s) - written to stdout [449/449]

Downloading teamspeak3-server_linux-amd64- ...
/start-teamspeak3: line 28: /data/ts3server_linux_amd64: No such file or directory

2 years ago

Hello. Has anyone tried to run this Container on a Synology NAS? - I can't start it, just got following error.

stdout /start-teamspeak3: line 28: /data/ts3server_linux_amd64: No such file or directory
stdout Downloading teamspeak3-server_linux-amd64-3.0.12.tar.gz ...
stdout 2016-02-05 14:19:49 (12.4 MB/s) - written to stdout [430/430]
stdout 0% [ ] 0 --.-K/s 100%[======================================>] 430 --.-K/s in 0s
stdout Saving to: `STDOUT'
stdout Length: 430 [application/json]
stdout HTTP request sent, awaiting response... 200 OK
stdout Connecting to (||:443... connected.
stdout Resolving (
stdout --2016-02-05 14:19:48--

Hope that some one can help me! Thanks. :)

2 years ago

working like a charm as soon as I've read the explanation from start to end ;)

Some ideas that may help me, adding some switch to choose database (and installing prerequisite for them) like libmariadb2 for mariadb external databases

Thanks in advance

2 years ago

Works like a charm! Thank You!

2 years ago

This is fixed now in the new builds:

If there is no ts3server.ini present in the data directory, the server will be startet with createinifile=1. Subsequent runs will start with inifile=/data/ts3server.ini.