A nice and easy way to get a TeamSpeak server up and running using docker. For help on getting started with docker see the official getting started guide. For more information on TeamSpeak and check out it's website.
Running this will build you a docker image with the latest version of both docker-teamspeak and TeamSpeak itself.
git clone https://github.com/overshard/docker-teamspeak
cd docker-teamspeak
docker build -t overshard/teamspeak .
Running the first time will set your port to a static port of your choice so
that you can easily map a proxy to. If this is the only thing running on your
system you can map the ports to 9987, 10011, 30033 and no proxy is needed. i.e.
-p=9987:9987/udp -p=10011:10011 -p=30033:30033
Also be sure your mounted
directory on your host machine is already created before running
mkdir -p /mnt/teamspeak
.
sudo docker run -d=true -p=9987:9987/udp -p=10011:10011 -p=30033:30033 -v=/mnt/teamspeak:/data overshard/teamspeak /start
With Teamspeak v3.1 Teamspeak has changed it's license and license policy, before you can start the server you have to accept the License. This you can do by having a file called .ts3server_license_accepted in the working directory or define the enviroment variable TS3SERVER_LICENSE=accept. For the later add to the docker command the following option:
-e TS3SERVER_LICENSE='accept'
E.g.
sudo docker run -d=true -p=9987:9987/udp -p=10011:10011 -p=30033:30033 -v=/mnt/teamspeak:/data -e TS3SERVER_LICENSE='accept' overshard/teamspeak /start
From now on when you start/stop docker-teamspeak you should use the container id
with the following commands. To get your container id, after you initial run
type sudo docker ps
and it will show up on the left side followed by the image
name which is overshard/teamspeak:latest
.
sudo docker start <container_id>
sudo docker stop <container_id>
Docker has no way to change file permissions at runtime without being root. Because of that you have to make sure every file you want the container to use (database or previous logs) is owned by uid and gid 1000.
Run chown 1000:1000 <filename(s)>
on every file or Run chown -R 1000:1000 /mnt/teamspeak
to fix all permissions recursively.
You can use docker-compose to simplify the process of building and running.
If you do not wish to import an existing database or logfiles just run:
sudo docker-compose up
This will build and run the container.
If you want to import existing logs or a database read File Permissions
first.
You can find the server admin token in /mnt/teamspeak/logs/, search the log files for ServerAdmin privilege key created and use that token on first connect.
Alternatively you can run docker logs <container_id>
which will display
the logfile.
-v
is the volume you are mounting-v=host_dir:docker_dir
overshard/teamspeak
is simply what I called my docker build of this image-d=true
allows this to run cleanly as a daemon, remove for debugging-p
is the port it connects to,-p=host_port:docker_port
Benjamin Denhartog has created an alternative MurMur/Mumble server if you're looking for an alternative to Teamspeak.