Public | Automated Build

Last pushed: 2 years ago
Short Description
working ! this teamspeak docker install the latest release with what's needed to work with mariadb
Full Description

This is totally based on aheil/teamspeak work

Iimprovements to do :
  • (done) create a mapable /config with the config files (not puting everything in /data ...)
  • (done) maping the /data/files
  • extract the admin key in an easier way
  • add logs in mapable repository
  • (maybe) generalize this in a switch oriented way

config file are in /config (ts3server.ini and other, you will have to point
at this folder for the dbpluginparameter=/config/....)

teamspeak files are in /data/files and can be maped to

if no ts3server.ini exists, it will be created in /config/

I launch it with that line :
docker run -d -p 9987:9987/udp -p 10011:10011 -p 30033:30033 -v /mnt/docker/teamspeak/files:/data/files -v /mnt/docker/teamspeak/config:/config --name=teamspeak --restart=always -t charchess/teamspeak-mysql

original readme by aheil :


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