Public | Automated Build

Last pushed: a month ago
Short Description
Self updating TeamSpeak3-Server
Full Description

docker-teamspeak3

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.

Usage

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"
------------------------------------------------------------------

and:

------------------------------------------------------------------
                      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.

       token=P5fO1Cbbv5DbM5kg9xR3LlfpYjlJe6cT9QeMhjY+
------------------------------------------------------------------

COPY THEM FOR LATER USE!

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.

Versions

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

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

For example, to use a specific version:

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

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

Docker Pull Command
Owner
aheil
Source Repository

Comments (16)
srlutetium
a month 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

killordee
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

vegbrasil
a year ago

Thanks a lot for this image!

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

tharmar
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-- https://www.server-residenz.com/tools/ts3versions.json
Resolving www.server-residenz.com (www.server-residenz.com)... 144.76.125.99
Connecting to www.server-residenz.com (www.server-residenz.com)|144.76.125.99|: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-3.0.12.1.tar.gz ...
/start-teamspeak3: line 28: /data/ts3server_linux_amd64: No such file or directory

nikolajandreasen
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
stdout 2016-02-05 14:19:49 (12.4 MB/s) - written to stdout [430/430]
stdout
stdout 0% [ ] 0 --.-K/s 100%[======================================>] 430 --.-K/s in 0s
stdout
stdout Saving to: `STDOUT'
stdout Length: 430 [application/json]
stdout HTTP request sent, awaiting response... 200 OK
stdout Connecting to www.server-residenz.com (www.server-residenz.com)|144.76.125.99|:443... connected.
stdout Resolving www.server-residenz.com (www.server-residenz.com)... 144.76.125.99
stdout --2016-02-05 14:19:48-- https://www.server-residenz.com/tools/ts3versions.json

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

charchess
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

spor7y
2 years ago

Works like a charm! Thank You!

aheil
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.

solamar
2 years ago

Not seeing one created. it just uses defaults are my understanding. to make any specific changes you have to manually create the '.ini' file. Normally, you have to specify on the command line inifile=ts3server.ini or whatever your ini file is named to get it to use an ini file.

I'm doing this on a Synology box; so kind of 'muddling' threw this since Docker is new to the Synology box. :)

aheil
2 years ago

just start the container with the -v option as mentioned under Attaching the data directory to host filesystem. The ts3server.ini should be in there after the first start.