Teamspeak 3 Server Easy Set up Using Docker

Dulshan Ratnayake
3 min readSep 12, 2021

--

What is TeamSpeak3?

TeamSpeak (TS) is a proprietary voice-over-Internet Protocol (VoIP) application for audio communication between users on a chat channel, much like a telephone conference call. Users typically use headphones with a microphone. The client software connects to a TeamSpeak server of the user’s choice, from which the user may join chat channels.

The target audience for TeamSpeak is gamers, who can use the software to communicate with other players on the same team of a multiplayer video game. Communicating by voice gives a competitive advantage by enabling players to keep their hands on the controls

Source: Wikipedia

Teamspeak3

We are going to deploy our Teamspeak Server in your personal VPS so that you could connect with your friends and family using Teamspeak 3.

There are few requirements that has to be satisfied before progressing:

  1. VPS(Virtual Private Server) having docker and docker-compose installed
  2. Direct SSH access to VPS (Make sure the SSH keys to your VPS are present in the ~/.ssh folder)
  3. VPS running on Linux (Ubuntu Preferred)
  4. Client Machine Running Linux(Your Personal Machine)

Steps to get TS3 Running

  • Clone my TS3 Repository
  • Navigate to cloned directory and enter the following command.
bash deploy_ts3.sh <username> <IP Address of the VM>
// EG: bash deploy_ts3.sh root 139.162.xx.xxx

Entering the above command will first create the relevant directories in your vps such the docker mounting directories and another to hold the scripts including the docker compose.

The docker images would be pulled from docker hub and the containers would be initialized thus, would be leading the containers to a running state.

  • Once you deploy you will need to get the admin token to connect to the TS3 server as an admin. Enter the below command in the cloned directory to obtain the token from the logs.
bash get_key.sh <username> <IP Address of the VM>
bash get_key.sh root 139.162.xx.xxx
  • Use the unique token on your TS3 client (Once prompted), when you connect to the VPS IP addresss.

Voila !!! You just deployed your TS3 Server on your linux VPS using Docker and you are a server admin of your own TS3 server.

Additional Instructions

Imagine you want to backup your TS3 settings such as server groups, channels, permission and all the other data related to your server so that you can easily migrate your TS3 Server to another VPS if required.

  • For easy backup I have created a script named “daily_backup.sh”. You can link this script in your VPS linux cron tab to take daily backup of your TS3 server
  • All the data will be archived into a tarball on a daily basis.
  • Only the latest 3 days data will be always present.

If you want to migrate the TS3 server to a different VPS, then simply extract the tarball and copy the contents to the respective docker mounting paths in your new VPS that are defined in the docker-compose file. Then follow this guide from the beginning to deploy the server with your previous settings.

Updates

Added “Sinus Bot” to the docker compose file. Now you can use this and connect to your server to play songs.

  • UI of the bot can be accessible from your_server_ip:8087
  • User name and password is “admin” and “Password1” respectively
  • You will need to know the internal IP address of the docker ts3 container to connect to it from the bot. (Enter the found IP in the settings page of the bot)

--

--