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:
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
sudo docker ps and it will show up on the left side followed by the image
name which is
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.
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.
Server Admin Token
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
Notes on the run command
-vis the volume you are mounting
overshard/teamspeakis simply what I called my docker build of this image
-d=trueallows this to run cleanly as a daemon, remove for debugging
-pis the port it connects to,
Mumble Server Alternative
Benjamin Denhartog has created an alternative MurMur/Mumble server if you're looking for an alternative to Teamspeak.