iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
Choose the TeamSpeak major version before writing any Docker configuration. TeamSpeak 3 uses the Docker Official Image teamspeak, the TS3SERVER_LICENSE variable, and /var/ts3server/. TeamSpeak 6 uses teamspeaksystems/teamspeak6-server:latest, TSSERVER_LICENSE_ACCEPTED, and /var/tsserver/. Both can run persistently on a Linux VPS with Docker Compose, but their licensing, query services, and configuration options differ.
Choose TeamSpeak 3 or TeamSpeak 6 first
The image name, license variable, storage path, and some network services depend on the major version. Do not combine the examples: a TeamSpeak 3 container will not accept the TeamSpeak 6 license variable, and a TeamSpeak 6 container should not be mounted at the TeamSpeak 3 data path.
| Decision point | TeamSpeak 3 | TeamSpeak 6 |
|---|---|---|
| Container image | teamspeak (Docker Official Image) |
teamspeaksystems/teamspeak6-server:latest |
| License environment variable | TS3SERVER_LICENSE=accept |
TSSERVER_LICENSE_ACCEPTED=accept |
| Persistent data path in container | /var/ts3server/ |
/var/tsserver/ |
| Voice service | UDP 9987 | UDP 9987 |
| File transfer | TCP 30033 | TCP 30033 |
| ServerQuery | TCP 10011 is documented for the query service | Web query is optional; expose it only when deliberately enabled and secured |
| License guidance | Current non-commercial guidance allows one virtual server and 32 slots | Beta-era software; larger licenses cannot yet be obtained or upgraded |
| Configuration | Use the image’s documented environment and mounted data directory | Supports command-line flags, environment variables, and tsserver.yaml |
TeamSpeak 6 documentation identifies the server as beta-era software. Its support material also says that a larger license cannot yet be obtained or upgraded. Those statements can change, so verify the applicable terms before opening a public server. TeamSpeak’s current non-commercial TeamSpeak 3 guidance is one virtual server with up to 32 slots.
What you need on the VPS
Use a Linux VPS with a public address and enough CPU, memory, and disk for your expected users and transferred files. The deployment baseline is intentionally small, but the VPS must be able to run Docker and Docker Compose continuously.
#1 Best Overall
- Immersive 7.1 Surround Sound: This gaming headset delivering stereo surround sound for realistic audio. Whether you're in a high-speed FPS battle or losing yourself RPG adventures, this Ps5 headset provides crisp treble, punchy bass, and precise directional cues, giving you a competitive edge
- Great Humanized Design: Comfortable and breathable permeability protein over-ear pads perfectly on your head, adjustable headband distributes pressure evenly, you’ll enjoy lasting comfort during hours of gaming and suitable for all gaming players of all ages
- Sensitivity Noise-Cancelling Microphone: 360° omnidirectionally rotatable sensitive microphone, premium noise cancellation, sound localisation, your voice comes through loud and natural, ensuring your teammates catch every callout, even in chaotic battle scenes.
- Universal Compatibility: This gaming headphone support for PC, Ps5, Ps4, Xbox one, Xbox Series X/S, Switch, Laptop, Mobile Phone and other devices with 3.5mm jack.Note 1: When you use headset on your PC, be sure to connect the "1-to-2 3.5mm audio jack splitter cable" (Red-Mic, Green-audio). (Please note you need an extra Microsoft Adapter when connect with an old version Xbox One controller)
- Cool style gaming experience: Colorful RGB lights create a gorgeous gaming atmosphere, adding excitement to every match. Heightening immersion for FPS, MOBA, and action titles. These eye-catching lights give your setup a gamer-ready look while maintaining focus on performance. (*Note: The USB connector is for LED lighting only)
- Docker Engine installed and running.
- Docker Compose available through the
docker composecommand. - Permission to publish UDP and TCP ports in the VPS provider’s network firewall.
- A host firewall policy that allows the same published ports.
- Persistent storage: a named Docker volume or a bind mount.
- SSH access or another administrative path to create the Compose project and read logs.
- A TeamSpeak client for testing the public address after startup.
Check the installed tools before creating the project:
docker --version
docker compose version
docker info
If docker info fails with a daemon or permission error, fix that first. Compose can download an image and create a container only after the Docker daemon is reachable by your account.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Deploy TeamSpeak 3 with Docker Compose
TeamSpeak 3 uses the Docker Official Image named teamspeak. The following file publishes the documented voice, ServerQuery, and file-transfer services and stores the server data in a named volume.
Create the TS3 project
- Create a directory and enter it:
mkdir -p ~/teamspeak3
cd ~/teamspeak3
- Create a file named
compose.yamlwith this content:
services:
teamspeak:
image: teamspeak
container_name: teamspeak3
restart: unless-stopped
ports:
- "9987:9987/udp"
- "10011:10011/tcp"
- "30033:30033/tcp"
environment:
TS3SERVER_LICENSE: accept
volumes:
- teamspeak3-data:/var/ts3server
volumes:
teamspeak3-data:
The left side of each port mapping is the VPS port and the right side is the container port. The /udp and /tcp suffixes are significant; omitting or changing them can make a service unreachable even when the container appears healthy.
Start TS3 and read first-run credentials
- From the directory containing
compose.yaml, start the service:
docker compose up -d
- Follow the startup log:
docker compose logs -f
On first initialization, the image generates administrative information. Write down the ServerQuery password and the ServerAdmin privilege key shown in the log. The privilege key is normally used in the TeamSpeak client to grant administrative rights to your account. Treat both values as secrets. If you close the log before recording them, inspect the container output again with docker logs -f teamspeak3; a recreated container that still uses the same volume may not print a new one-time value.
Leave the service running in the background with restart: unless-stopped. It will return after a Docker daemon restart unless you explicitly stop or remove it.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteRank #2
- Enjoy expansive cinematic sound. Big 50 mm audio drivers deliver an incredible sound experience
- Hear Enemies From All Sides. DTS Headphone:X 2.0 surround sound(1) lets you hear enemies sneaking behind you, special ability cues, and immersive environments. It’s positional clarity that can make the difference between victory and defeat. Experience three-dimensional audio that goes beyond 7.1 channels to make you feel like you’re right in the middle of the action. (1) DTS Headphone:X 2.0 requires Logitech G HUB Software.
- Be Heard Loud and Clear. The big 6 mm boom mic makes sure you’re heard by gaming partners and mutes when flipped up.
- Use One Headset For Most Game Platforms. Your headphones work with your PC or Mac via USB DAC or 3.5 mm cable, mobile devices with 3.5 mm cable or with gaming consoles including PlayStationⓇ 5 and PlayStationⓇ 4 (USB wireless stereo sound only), Nintendo Switch (wireless stereo sound when docked)
- Game for Hours in Comfort. Everything about these headphones is about comfort: The deluxe lightweight leatherette ear cups and headband are made to keep pressure off your ears. Ear cups rotate up to 90 degrees for convenience.
Deploy TeamSpeak 6 with Docker Compose
TeamSpeak 6 uses a different image family, license variable, and data directory. The baseline below publishes voice and file transfer. It deliberately does not publish web query; add that service only after enabling it and deciding how it will be protected.
Create the TS6 project
- Create a separate directory. Do not point it at an existing TS3 volume:
mkdir -p ~/teamspeak6
cd ~/teamspeak6
- Save this as
compose.yaml:
services:
teamspeak:
image: teamspeaksystems/teamspeak6-server:latest
container_name: teamspeak6
restart: unless-stopped
ports:
- "9987:9987/udp"
- "30033:30033/tcp"
# Add web query only if you deliberately enable and secure it.
# - "10080:10080/tcp"
environment:
TSSERVER_LICENSE_ACCEPTED: accept
volumes:
- teamspeak6-data:/var/tsserver
volumes:
teamspeak6-data:
The TSSERVER_LICENSE_ACCEPTED value acknowledges the license at startup. It is not interchangeable with TS3SERVER_LICENSE. The persistent volume is mounted at /var/tsserver, which is also different from the TS3 path.
Start TS6 and inspect its log
- Start the container:
docker compose up -d
- Follow initialization:
docker compose logs -f
The TeamSpeak 6 documentation shows log-following as the way to monitor startup and obtain the initial administrative information printed by the server. Record the privilege key or other first-run credentials as soon as they appear. To follow this container directly, use docker logs -f teamspeak6.
Because the image tag is latest, a later image pull can bring a newer beta build. Keep a copy of the working Compose file and back up the volume before intentionally updating it. Do not delete the volume while troubleshooting; that can remove the instance’s identity and configuration.
Recommended Free Tools
Open only the ports the selected version needs
There are two firewalls to consider: the VPS provider’s network firewall and the operating system’s host firewall. A port must be allowed in both places, and it must also be published in Compose.
| Service | Protocol and port | TS3 baseline | TS6 baseline |
|---|---|---|---|
| Voice | UDP 9987 | Published | Published |
| File transfer | TCP 30033 | Published | Published |
| ServerQuery | TCP 10011 | Published in the documented Compose baseline | Not part of the baseline shown here |
| Web query | TCP 10080 | Not in this baseline | Optional; publish only when enabled and secured |
For a host firewall that uses UFW, an administrator could allow the required traffic with commands such as:
Rank #3
- JBL QUANTUMSOUND SIGNATURE: From the faintest footsteps to the loudest explosion, this wired gaming headset puts you at the center of every scene—immersive, accurate audio that turns every match into a competitive edge.
- DETACHABLE DIRECTIONAL MICROPHONE: Rally your squad without repeating yourself. The voice-focus directional microphone detaches when you're flying solo and includes a mute option—because this mic headset knows when to talk and when to stay quiet.
- MEMORY FOAM COMFORT: Marathon sessions hit different in these over-ear headphones—lightweight build, breathable fabric ear cushions, and memory foam padding keep you locked in without the fatigue. Game longer. Complain less.
- SPATIAL SOUND COMPATIBILITY: Hear exactly where sound is coming from. This wired headset is fully compatible with Windows Sonic spatial sound on Windows 10 PCs and Xbox ONE—so the game world feels like it's happening around you.
- CROSS-PLATFORM READY: One 3.5mm jack, every platform—PC, PlayStation, Xbox, Nintendo Switch, Mobile, Mac, and VR. This cross-platform gaming headset goes wherever the game is.*
sudo ufw allow 9987/udp
sudo ufw allow 30033/tcp
# TS3 ServerQuery, only if you need it:
sudo ufw allow 10011/tcp
# TS6 web query, only if enabled and intentionally protected:
# sudo ufw allow 10080/tcp
These rules are examples; apply the equivalent policy in your VPS provider’s firewall and in any other host firewall you use. Restrict administrative query ports to trusted source addresses where your environment permits it. Do not expose an optional service merely because a port number exists in documentation.
Connect from a TeamSpeak client
- Find the VPS public IPv4 address or public hostname.
- In the TeamSpeak client, create a connection using that address and UDP port
9987. - Complete the first administrative setup with the privilege key recorded from the container log.
- Test a file transfer if TCP 30033 is enabled.
- Test ServerQuery only on TS3 when TCP 10011 is published and you have a client or tool that uses it.
The client should use the VPS address, not localhost, when connecting from another machine. A local test from the VPS can use the host address, but it does not prove that the provider firewall allows external traffic.
Free tools Windows power users keep installed
One-click scans. No signup required.
Keep data and configuration persistent
A container is replaceable; the named volume is where the server’s durable state belongs. In the TS3 example, Docker stores teamspeak3-data at /var/ts3server. In the TS6 example, teamspeak6-data is mounted at /var/tsserver. Removing a container with docker compose down does not remove a named volume unless you explicitly request volume removal, but verify your command before running it.
Back up a named volume
Stop or quiesce the service before a backup when practical, then archive the volume with a temporary container. Replace the volume name if you are backing up TS6:
docker run --rm
-v teamspeak3-data:/data:ro
-v "$PWD":/backup
alpine
tar czf /backup/teamspeak3-data-$(date +%F).tar.gz -C /data .
Store the resulting archive outside the VPS as well. A backup is useful only if you know where it is and have tested restoring it to a disposable volume.
Use a bind mount when you need host-level file management
A bind mount can make the data directory visible on the host, but the host directory must exist and have permissions compatible with the container. If you switch from a named volume to a bind mount, copy the existing data first and change only the volume declaration and mount target; keep the version-specific target path unchanged.
Rank #4
- 【Multi-platform Compatible】 Gaming headset with microphone for PC, PS4, PS5, Xbox One Series X/S (older version requires adapter), Nintendo 3DS, Switch, Laptop, PSP, Tablet, iPad, Computer, Mobile Phone, 3.5mm jack device.
- 【Surrounding Stereo Subwoofer】 Gaming headset with high power 50mm neodymium magnet drivers, greatly enhance the expressiveness and sense of depth of voice playback details, powerful sound quality provide you immersive gaming experience.
- 【Noise Isolating Microphone】Headset integrated onmi-directional microphone can transmit high quality communication with its premium noise isolating function, which enables you to clearly deliver or receive messages while you are in a gamer.
- 【Humanised Design】 Soft and skin-friendly ear cushions, flexible headband with thickening pads, headset weight is only 0.77lb, lightweight and comfortable design provides you with a long-lasting excellent gaming experience.
- 【Professional Gaming Headset】Gaming headphones with 6.5ft high tensile strength, anti-tangle braided cable, rotary volume control and button microphone mute.
TS6 configuration options
TeamSpeak 6 supports command-line flags, environment variables, and a tsserver.yaml configuration file. The documented configuration areas include license path, database selection, query timeout, SSH and HTTP settings, logging, and IP bindings. Keep that configuration alongside the persistent server data and review it after image updates. Do not add an HTTP or web-query listener without deciding which interface and firewall sources may reach it.
License and capacity considerations
TeamSpeak 3
TeamSpeak’s official non-commercial guidance for TS3 states that self-hosting is free within one virtual server and 32 slots. That is a licensing limit, not a promise that a particular VPS can support 32 active users under every workload. Commercial or larger deployments require checking the current TeamSpeak terms before deployment.
TeamSpeak 6
TeamSpeak 6 is described in its documentation as beta-era software. The same support material says it is not yet possible to obtain or upgrade to a larger license. Plan a small evaluation or community deployment around the currently available license terms, and re-check them before relying on TS6 for a larger operation.
Secure the Docker deployment
- Use a non-root administrative account with controlled Docker access, and protect SSH with your normal VPS hardening policy.
- Allow UDP 9987 publicly only when the voice server must be public. Limit query and web-query ports to trusted addresses whenever possible.
- Do not publish a web-query port just to test the image. Enable the service in TS6 configuration first, then expose it intentionally.
- Keep the ServerAdmin privilege key, ServerQuery password, and any query credentials out of tickets, screenshots, and public repositories.
- Back up the named volume before changing images, configuration, or database settings.
- Monitor logs after restarts and image updates. A successful container start does not prove that every published service is reachable through both firewalls.
Troubleshoot the common failures
The container exits immediately with a license error
Check that the image and variable belong to the same major version. TS3 requires TS3SERVER_LICENSE: accept; TS6 requires TSSERVER_LICENSE_ACCEPTED: accept. Confirm indentation in YAML, recreate the container with docker compose up -d, and read the complete log:
docker compose ps
docker compose logs --tail=200
The client cannot connect
- Confirm UDP 9987 is present in
docker compose psand in the Compose file. - Confirm the VPS provider firewall and host firewall both allow UDP 9987.
- Use the VPS public address, not an internal Docker address.
- Check that another process is not already bound to the host port.
Voice works but file transfer fails
Voice uses UDP 9987, while file transfer uses TCP 30033. Verify the TCP mapping is present, that TCP 30033 is allowed in both firewalls, and that the selected server version has the service enabled.
TS3 query tools cannot connect
TS3’s documented query mapping is TCP 10011. Confirm it is published and allowed, then restrict its source addresses. Do not assume that a working voice connection proves that ServerQuery is reachable.
Best Value
- 【Multi-Platform Compatible】Support PlayStation 4, PlayStation 5, Xbox, Xbox Series X|S, Xbox One, PC, Nintendo 3DS, Laptop, PSP, Tablet, iPad, Computer, Mobile Phone. Please note you need an extra Microsoft Adapter (Not Included) when connect with an old version Xbox One controller.
- 【7.1 Surround Sound】Clear sound operating strong brass, splendid ambient noise isolation and high precision 40mm magnetic neodymium driver, acoustic positioning precision enhance the sensitivity of the speaker unit, bringing you vivid sound field, sound clarity, shock feeling sound. Perfect for various games like Halo 5 Guardians, Metal Gear Solid, Call of Duty, Star Wars Battlefront, Overwatch, World of Warcraft Legion, etc.
- 【Noise Isolating Microphone】Headset integrated onmi-directional microphone can transmits high quality communication with its premium noise-concellng feature, can pick up sounds with great sensitivity and remove the noise, which enables you clearly deliver or receive messages while you are in a game. Long flexible mic design very convenient to adjust angle of the microphone.
- 【Great Humanized Design】Superior comfortable and good air permeability protein over-ear pads, muti-points headbeam, acord with human body engineering specification can reduce hearing impairment and heat sweat.Skin friendly leather material for a longer period of wearing. Glaring LED lights desigend on the earcups to highlight game atmosphere.
- 【Effortlessly Volume Control】High tensile strength, anti-winding braided USB cable with rotary volume controller and key microphone mute effectively prevents the 49-inches long cable from twining and allows you to control the volume easily and mute the mic as effortless volume control one key mute.
TS6 web query is unreachable
The baseline TS6 file comments out TCP 10080. First enable the corresponding service in TS6 configuration, bind it to the intended interface, publish 10080:10080/tcp, and allow it through the firewalls. If you did not deliberately enable web query, an unreachable port is expected.
Data appears to have disappeared
Inspect the mount and volume names:
docker inspect teamspeak3
docker volume ls
docker volume inspect teamspeak3-data
For TS6, use teamspeak6 and teamspeak6-data. A path mismatch such as mounting TS3 data at /var/tsserver can make a new, apparently empty instance. Never remove a volume until you have confirmed that a backup exists.
The initial privilege key was missed
Follow the correct container’s logs again with docker compose logs -f or docker logs -f teamspeak3/docker logs -f teamspeak6. If the server has already initialized, the key may have been printed only during first startup; restoring the original persistent data is safer than deleting it and starting over.
Update and operate the server safely
- Read the image’s current release notes and confirm that your license and configuration remain supported.
- Back up the appropriate named volume.
- Review the Compose file, especially the image tag, published ports, license variable, and mount path.
- Pull the intended image:
docker compose pull
- Recreate the service:
docker compose up -d
- Watch the logs and make a client connection test:
docker compose logs -f
For TS6, remember that latest follows the image publisher’s current tag. For either version, retain the previous image and volume backup until you have verified voice, file transfer, administrative access, and any query service you intentionally use.
Which Compose file should you use?
Use the TS3 file when your clients and licensing requirements are for TeamSpeak 3, you need the documented ServerQuery port, or you are operating within the stated one-server, 32-slot non-commercial guidance. Use the TS6 file when you specifically need the TeamSpeak 6 server and accept its beta-era status and current license limitations. In both cases, the reliable deployment pattern is the same: acknowledge the correct license, publish only the required protocol-and-port combinations, mount the correct persistent directory, start with Compose, and capture the first-run administrative credentials from the logs.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsQuick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

