Blog

Tutorials, guides and product news.

How to set up a TeamSpeak server

3 November 2026 5 min read
Share this post

You can set up a TeamSpeak 3 server with a single Docker command, and it runs on very little. TeamSpeak's support page recommends a minimum of 1 GB of RAM, and a bare installation takes about 15 MB of disk. The free use is limited to one virtual server and 32 slots. All it needs to work is for ports 9987/UDP and 30033/TCP to be open.

To become the admin, you use a one-time privilege key generated on the server's first start. This article is about the TeamSpeak 3 server. We cover resource needs, the ports, the license limit, a manual install with Docker and how to get the key.

How many resources does it need?

According to TeamSpeak's official support article, any recent Linux distribution (32 and 64 bit) will do, the CPU must support SSE2, and 1 GB of RAM is recommended. A bare installation takes about 15 MB, and file transfers and icons need extra space. Memory needs grow with the number of users and virtual servers. Because the official recommendation is small, it makes sense to start with a small size and scale up if you need to.

Which ports do you need?

PortWhat for?Required?
9987/UDPVoiceYes
30033/TCPFile transferYes
10011/TCPServerQuery (command interface)Optional, keep it closed to the outside
10022, 10080, 10443, 41144SSH ServerQuery, WebQuery, TSDNSOptional

These are the default ports, and all of them except TSDNS can be changed. If you run a second server on the same machine, it needs different ports.

Licensing and the slot limit

A slot is one user connected at the same time. TeamSpeak's free use is limited to one virtual server and 32 slots, and it is meant for non-commercial groups and individuals. For more slots or for commercial use, you need a license from TeamSpeak. License types and prices can change, so check TeamSpeak's website. The license fee isn't part of the server price, and you buy the license from TeamSpeak yourself.

What is a virtual server?

In TeamSpeak, a single installation can host several virtual servers. Each virtual server has its own port, channels, permissions and users. With free use you can open only one virtual server. The first one uses port 9987 by default, and later ones take different ports.

Manual install with Docker

  1. Prepare an Ubuntu server with Docker installed.
  2. Start the server: docker run -d --name teamspeak --restart unless-stopped -p 9987:9987/udp -p 30033:30033 -e TS3SERVER_LICENSE=accept -v ts_veri:/var/ts3server teamspeak:3.13
  3. Take the privilege key from the log: look for the line starting with token= in the output of docker logs teamspeak.
  4. In the TeamSpeak client, open Connections > Connect, type the server's IP address and connect.
  5. If the client asks for the privilege key, paste the value. If it doesn't, use Permissions > Use Privilege Key.

The value TS3SERVER_LICENSE=accept in the command means you accept the TeamSpeak license agreement, so read it first. We deliberately left port 10011 out. Docker opens every port you publish and skips your ufw rules, so publish only the ports you really need with -p. If you'd rather not use Docker, you can download the Linux server archive from TeamSpeak's website and run it.

How does the privilege key work?

  • The key is generated on the server's first start and appears in the log of the first virtual server.
  • It can be used once. After that it is no use.
  • For other admins, create a new key in the client under Permissions > Privilege Keys.

First settings

  • If you use the default port 9987, you don't type a port in the client. If you chose another port, write the address as 203.0.113.5:9500.
  • Organize the channels from the start: open sub-channels such as chat, games and a lounge under the main channel.
  • Give permissions to groups, not to individual users. When someone new joins the right group, the permissions come with it, and later changes are easier.
  • If the container exits right after starting, check that TS3SERVER_LICENSE=accept is in the command.

Running other things on the same server

TeamSpeak is a small load, so it can run next to a website. In that case, size the server for the other application. Note each application's ports so they don't clash, and open only what is needed in the firewall.

If you can't connect

  1. Check with docker ps that the container is running. If it isn't, docker logs teamspeak shows why.
  2. Make sure no firewall blocks ports 9987/UDP and 30033/TCP. If you use the panel's firewall, allow these two ports.
  3. Check that you typed the right IP address in the client.
  4. Some networks block UDP traffic. Try another network, for example your phone's mobile data.

Backups and security

  • The server has no password by default, so anyone who knows the address can connect. To set one, right-click the server name in the client and open Edit Virtual Server.
  • Don't open the ServerQuery port (10011) to the internet.
  • Settings and channels live in the ts_veri volume. To back the volume up: docker run --rm -v ts_veri:/veri -v "$PWD":/yedek alpine tar czf /yedek/ts-yedek.tgz -C /veri .
  • For security updates, pull the image regularly and recreate the container. Your data sits in the volume, so your settings aren't lost.
  • If you want your friends to type a domain name instead of an IP, see how to connect your own domain.

A ready-made TeamSpeak server on Seturack

If you pick TeamSpeak when you order, the server is ready in about 3-4 minutes. In the panel you see the Connection address and Admin key rows. Port 9987/UDP for voice and 30033/TCP for file transfer are open, and ServerQuery is closed to the outside. You accept the TeamSpeak license agreement when you order. The connection steps are in the TeamSpeak help article.

If you'd rather skip the manual setup, see the TeamSpeak server page.

Comments0

No Comments Yet

Be the first to share your thoughts.

Join the Discussion

Please sign in or sign up to leave a comment.

Never Miss a Post

Get our latest tutorials, guides and product news in your inbox.

You're subscribed to our newsletter.