The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →The reliable way to run a TeamSpeak server in Docker on a VPS is to choose the major version first, publish only that version’s required ports, accept its license with the matching environment variable, and mount its version-specific data directory to persistent storage. TeamSpeak 3 uses the Docker Official Image teamspeak and stores data in /var/ts3server/. TeamSpeak 6 uses teamspeaksystems/teamspeak6-server:latest, stores data in /var/tsserver/, and is still beta-era software. The Compose examples below are ready starting points for either version.
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 TeamSpeak 3 or TeamSpeak 6 before creating the container
TS3 and TS6 are not interchangeable images. They use different image names, license variables, data-directory paths, and optional query services. Selecting the wrong set of values can produce a container that starts without the expected license, loses its data after recreation, or leaves clients unable to connect.
As an Amazon Associate I earn from qualifying purchases.
| Decision point | TeamSpeak 3 | TeamSpeak 6 |
|---|---|---|
| Container image | teamspeak (Docker Official Image) |
teamspeaksystems/teamspeak6-server:latest |
| License variable | TS3SERVER_LICENSE=accept |
TSSERVER_LICENSE_ACCEPTED=accept |
| Persistent data path in the container | /var/ts3server/ |
/var/tsserver/ |
| Voice service | UDP 9987 |
UDP 9987 |
| File transfer | TCP 30033 |
TCP 30033 |
| Query or web service | ServerQuery on TCP 10011 |
Web query is optional; publish TCP 10080 only when deliberately enabled and secured |
| License capacity | Current non-commercial guidance allows one virtual server and 32 slots | Larger licenses cannot yet be obtained or upgraded; an equivalent larger-license capacity is not stated |
| Product status | Established TS3 server image | Beta-era software |
| Configuration-file support | Not stated in the image notes used here | Supports command-line flags, environment variables, and tsserver.yaml |
If you need the most conservative, documented deployment path, TS3 has the simpler baseline. Choose TS6 only when you specifically need the newer server and accept its beta status and current licensing limits. Licensing terms can change, so verify the applicable TeamSpeak terms before opening a public server.
VPS, Docker, and network prerequisites
Use a Linux VPS with a public address, Docker Engine, and Docker Compose (the docker compose command). You need permission to publish both UDP and TCP ports and a persistent Docker volume or bind mount. A VPS provider firewall and the Linux host firewall are separate controls; a port must be allowed in both places when both are enabled.
#1 Best Overall
- 285G LIGHTWEIGHT BUILD — Experience superior audio and game for hours without being weighed down by the headset
- TRIFORCE 40MM DRIVERS — Cutting-edge proprietary design divides the driver into 3 parts for the individual tuning of highs, mids, and lows —producing brighter, clearer audio with richer highs and more powerful lows
- HYPERCLEAR CARDIOID MIC — An improved pickup pattern ensures more voice and less noise with the sweet spot easily placed at the mouth because of the mic’s bendable design
- HYBRID FABRIC AND MEMORY FOAM EAR CUSHIONS — Wrapped in a combination of breathable fabric and plush leatherette to provide a snug fit to ensure constant comfort for prolonged gaming
- 7.1 SURROUND SOUND — Provides accurate positional audio that lets you pinpoint intuitively where every sound is coming from. *Only available on Windows 10 64-bit
- Linux VPS: Select a distribution supported by your VPS provider and keep it updated.
- Docker and Compose: Confirm that
docker versionanddocker compose versionwork for the account that will run the stack. - Public reachability: Record the VPS public IPv4 address, and configure DNS only after the address is stable.
- Persistent storage: A named Docker volume is simplest. A bind mount is useful when you need host-level backup tooling, but the host directory must be writable by the container.
- Firewall control: Be able to add UDP and TCP rules at the VPS provider and on the host.
Do not expose administrative services merely because Docker can publish them. Start with voice and, where needed, file transfer. Add query access only for a specific administration or integration requirement.
TeamSpeak 3 Docker Compose file
Create a directory for the server and save the following as compose.yaml. This publishes the documented TS3 voice, ServerQuery, and file-transfer ports and keeps the server data in a named volume.
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:
What each TS3 setting does
image: teamspeakselects the Docker Official Image for TS3.container_namegives you a predictable name for commands such asdocker logs teamspeak3.restart: unless-stoppedbrings the service back after a daemon restart or VPS reboot unless you intentionally stopped it.- The
/udpsuffix on port 9987 is essential for voice traffic. The query and file-transfer mappings are TCP. TS3SERVER_LICENSE: acceptrecords license acceptance required for startup.- The named volume mounted at
/var/ts3serverpreserves the database, permissions, settings, and server identity when the container is recreated.
Do not change the mount target to the TS6 path. The image expects its own version-specific directory.
TeamSpeak 6 Docker Compose file
For TS6, use the image family and license variable shown below. The baseline publishes voice and file transfer. The web-query mapping remains commented out until you intentionally enable and secure that service.
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:
What changes in TS6
- The image is
teamspeaksystems/teamspeak6-server:latest, notteamspeak. - License acceptance uses
TSSERVER_LICENSE_ACCEPTED, notTS3SERVER_LICENSE. - Persistent data belongs at
/var/tsserver. - TCP 30033 is used for file transfer in the baseline. TCP 10080 is an optional web-query endpoint and should not be opened by default.
- TS6 supports command-line flags, environment variables, and a
tsserver.yamlconfiguration file. The configuration reference covers items such as the license path, database selection, query timeout, SSH and HTTP settings, logging, and IP bindings.
The latest tag follows the image’s current release stream. For a change-controlled production environment, record the image digest you deploy and review release notes before deliberately changing it; never assume a major-version image can share a TS3 data directory.
Rank #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 the selected Compose project
- Create and enter a working directory. For example,
mkdir -p ~/teamspeak && cd ~/teamspeak. - Save one Compose file. Use the TS3 file or the TS6 file, not both in the same project directory. Keep the filename exactly
compose.yamlunless you plan to pass another filename with-f. - Check the rendered configuration. Run
docker compose config. Correct indentation, quoting, and port protocol suffixes before continuing. - Start in the background. Run
docker compose up -d. Compose pulls the selected image, creates the network and named volume, and starts the container. - Follow startup output. Run
docker compose logs -f. To inspect only the named container, usedocker logs -f teamspeak3ordocker logs -f teamspeak6. - Wait for initialization to finish. The first start can take longer than later restarts while the database and server identity are created. Keep the terminal attached to the log stream until the service reports readiness or stops with an error.
- Record first-run credentials immediately. Copy the generated ServerQuery password and ServerAdmin privilege key for TS3. For TS6, record the initial administrator or privilege credential printed during first startup. Store it in a password manager; the initial value is not something to leave in shell history or a public ticket.
- Confirm the container state. In another shell, run
docker compose ps. A healthy deployment should show the selected container running with the expected published ports.
If you miss a credential in a fast-moving log, stop the stream with Ctrl+C and search the retained output with docker compose logs. Do not delete the volume while trying to recover a key; removing persistent data can create a new server identity and invalidate the original setup.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesOpen only the ports your server actually uses
Docker’s ports section makes a service reachable on the VPS, but the provider firewall and host firewall still have to permit the same traffic. Apply rules narrowly to the required protocol.
| Port | Protocol | Use | When to allow it |
|---|---|---|---|
| 9987 | UDP | TeamSpeak voice | Required for normal client voice connections |
| 10011 | TCP | TS3 ServerQuery | Allow only when you use ServerQuery administration or integrations |
| 30033 | TCP | File transfer | Allow when clients need file transfers; included in both baseline Compose files |
| 10080 | TCP | TS6 web query | Only after enabling the service and applying authentication and network restrictions |
For a host using UFW, equivalent rules are commonly written as sudo ufw allow 9987/udp, sudo ufw allow 30033/tcp, and, only when required, sudo ufw allow 10011/tcp for TS3 or sudo ufw allow 10080/tcp for an intentionally enabled TS6 web query. Use your provider’s firewall panel to add matching rules, and restrict administrative ports to trusted source addresses whenever the provider supports source filtering.
Do not open a port just because a client error mentions it. First confirm that the corresponding service is enabled in the selected version’s configuration, then publish and permit that port.
Connect from a TeamSpeak client and verify each service
- Open the TeamSpeak client’s connection dialog.
- Enter the VPS public address. Use the default voice port, UDP 9987, unless you intentionally changed the mapping.
- Connect with the server identity created during first startup.
- Use the recorded ServerAdmin privilege key or TS6 administrator credential when the client prompts for privilege elevation.
- Join a voice channel and verify two-way audio with another account.
- If file transfer is part of your use case, upload and download a small test file. A successful voice connection alone does not prove TCP 30033 is reachable.
- Test ServerQuery only on TS3 when TCP 10011 is enabled, or test TS6 web query only after you have explicitly enabled and secured TCP 10080.
When a client cannot connect, test from a network outside the VPS itself. A local connection can succeed even while the provider firewall blocks Internet traffic.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows 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 reinstallRank #3
- [Wide Compatibility] This professional gaming headset for PC gamers is compatible with PC (Windows 7/8/10), PS4/PS5 console, laptops, and other devices with a USB audio port.(Note: EKSA E1000 is not compatible with game controllers.)
- [Driver-free 7.1 Surround Sound] Enjoy an instant immersive gaming experience with its 7.1 surround sound. EKSA PC gaming headset has a built-in USB audio sound chip and 50mm magnetic neodymium driver that gives you a vivid surrounding sound field. No extra downloads or hassle to get the best experience, just plug and play.
- [Noise Cancelling Microphone] The EKSA gaming headset for PS5 reduces distracting background noise and guarantees loud and crystal-clear communication with its 120° adjustable high-sensitive microphone. The headset’s omnidirectional noise reduction tech allows you to enjoy quality sound when gaming or in-game chats.
- [Comfortable Ergonomic Design] Premium soft memory protein earmuffs ensure ultimate comfort even for a prolonged period. In addition, there’s absolute comfort during lengthy gaming sessions with an adjustable headband designed for balanced weight distribution and reduced clamping force. Short cables are also not your problem anymore as its 2.2m extremely durable cable allows you to enjoy your game with no boundary.
- [2 Years Warranty] EKSA gaming headsets are under strict quality inspection on each production line. We offer 24-hour customer support and a 2-year warranty. We will make our most incredible effort to take responsibility for your shopping experience.
Persistence, backups, and safe container changes
The named volumes in the examples are the persistence boundary. Replacing a container with docker compose down and docker compose up -d should retain data as long as you do not remove the volume. Avoid docker compose down -v unless you intentionally want to erase the server’s stored data.
Back up a named volume
Stop or quiesce the server before a filesystem-level backup so the database is in a consistent state. One generic pattern is to create a compressed archive from a temporary container:
docker run --rm
-v teamspeak3-data:/data:ro
-v "$PWD":/backup
alpine tar czf /backup/teamspeak3-data.tgz -C /data .
For TS6, substitute teamspeak6-data. Keep backups off the VPS, protect them as sensitive administrative data, and test restoring one to a separate volume before you depend on it. A backup that contains only the Compose file but not the mounted data directory will not preserve the server identity, database, or settings.
Update without changing the data path
- Read the image’s release notes and check whether the update changes the supported data format.
- Make and verify a volume backup.
- Pull the image with
docker compose pull. - Recreate with
docker compose up -d. - Follow
docker compose logs -fand confirm that the existing server identity and settings are present.
Do not use an update as an opportunity to switch from TS3 to TS6 in place. Treat that as a separate migration project with a separate volume and carefully verified compatibility.
Configure TS6 deliberately instead of exposing every interface
TS6 offers three configuration mechanisms: command-line flags, environment variables, and tsserver.yaml. Use one documented source of truth for each setting so a later restart does not silently override your intended value. The configuration areas include the license location, database selection, query timeout, SSH and HTTP listeners, logging, and IP bindings.
Rank #4
- 【Amazing Stable Connection-Quick Access to Games】Real-time gaming audio with our 2.4GHz USB & Type-C ultra-low latency wireless connection. With less than 30ms delay, you can enjoy smoother operation and stay ahead of the competition, so you can enjoy an immersive lag-free wireless gaming experience.
- 【Game Communication-Better Bass and Accuracy】The 50mm driver plus 2.4G lossless wireless transports you to the gaming world, letting you hear every critical step, reload, or vocal in Fortnite, Call of Duty, The Legend of Zelda and RPG, so you will never miss a step or shot during game playing. You will completely in awe with the range, precision, and audio quality your ears were experiencing.
- 【Flexible and Convenient Design-Effortless in Game】Ideal intuitive button layout on the headphones for user. Multi-functional button controls let you instantly crank or lower volume and mute, quickly answer phone calls, cut songs, turn on lights, etc. Ease of use and customization, are all done with passion and priority for the user.
- 【Less plug, More Play-Dual Input From 2.4GHz & Bluetooth】 Wireless gaming headset adopts high performance dual mode design. With a 2.4GHz USB dongle, which is super sturdy, lag<30ms, perfectly made for gamers. Bluetooth mode only work for phone, laptop and switch. And 3.5mm wired mode (Only support music and call).
- 【Wide Compatibility with Gaming Devices】Setup the perfect entertainment system by plugging in 2.4G USB. The convenience of dual USB work seamlessly with your PS5,PS4, PC, Mac, Laptop, Switch and saves you from swapping cables.
- Bind only required addresses: If the VPS has multiple interfaces, restrict listeners to the address or interfaces that need them.
- Separate administration from voice: Keep query and HTTP endpoints off the public interface unless a real integration requires them.
- Persist the configuration: Store configuration in the persistent server data location or mount an explicitly managed file according to the image’s configuration rules.
- Validate after changes: Restart with
docker compose up -d, then inspect logs for bind failures and confirm that the expected listener is present.
Because TS6 is beta-era software, configuration names and availability can evolve. Recheck the current configuration reference before automating a setting that is not present in the baseline Compose file.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Security practices for a public VPS server
- Use a non-root SSH account with key authentication and disable password login where appropriate for your distribution.
- Keep Docker, the host kernel, and the selected TeamSpeak image updated on a planned schedule.
- Restrict TCP 10011 and TCP 10080 to trusted source addresses or a private network whenever possible.
- Use long, unique credentials for any query or web administration account, and rotate credentials if logs or backups are exposed.
- Do not publish Docker’s management socket or unrelated host services alongside TeamSpeak.
- Monitor disk usage. File transfers and logs can fill a small VPS even when voice traffic is light.
- Back up before version changes, firewall redesigns, or edits to the database and configuration.
Troubleshoot the failure that matches the symptom
The container exits immediately with a license error
Check that the image and environment variable belong to the same major version. TS3 requires TS3SERVER_LICENSE: accept; TS6 requires TSSERVER_LICENSE_ACCEPTED: accept. Run docker compose config to verify that Compose rendered the variable, then inspect docker compose logs for the exact startup message.
Free tools Windows power users keep installed
One-click scans. No signup required.
The client cannot see or join the server
Confirm that UDP 9987 is present in the Compose file with the /udp suffix. Check the VPS provider firewall, the host firewall, and the VPS public address. Testing against a private address or allowing only TCP 9987 will not establish a normal voice connection.
Voice works but file transfer fails
Verify TCP 30033 in Docker and in both firewall layers. Test an actual upload or download after connecting; the voice port does not carry file-transfer traffic.
TS3 query administration fails
Confirm that TCP 10011 is published, permitted, and that you are using the generated ServerQuery password from the first-run logs. If you do not need ServerQuery, remove the mapping and firewall rule rather than leaving an unused administrative endpoint exposed.
Best Value
- TRIFORCE 40 MM DRIVERS — Razer patented 3-part driver design pushes out exceptional highs, mids and lows that doesn’t muddy, providing a more dynamic listening experience for deeper immersion
- RETRACTABLE HYPERCLEAR CARDIOID MIC — The improved pickup pattern in the microphone ensures more voice and less noise, while its retractable design allows for optimal positioning or protection when not in use
- 7.1 SURROUND SOUND — With our advanced 7.1 surround sound, enjoy true-to-life acoustics that optimize the game’s sound design and hear everything as if you were right in the middle of it all
- COMFORTABLE MEMORY FOAM CUSHIONS — Features hybrid fabric and leatherette cushions with close-fitting earcups that provide superior sound isolation and comfort, even during long gaming sessions
- CONVERTIBLE TYPE C & TYPE A CABLE — Enjoy immersive audio across various platforms with just a single headset; switch between PC, consoles, phones, and more with a convertible Type C and Type A cable
TS6 web query fails
The baseline TS6 file does not publish TCP 10080. First enable the web-query service in the supported configuration, then add the mapping, firewall rule, authentication, and source restrictions. If the service is not enabled, opening the port alone cannot make it work.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →The server appears to reset after recreation
Inspect docker inspect teamspeak3 or docker inspect teamspeak6 and confirm that the expected named volume is mounted at /var/ts3server or /var/tsserver. Check that you did not run docker compose down -v and that you did not start a second Compose project with a different volume name.
The initial privilege key is missing
Read the complete retained output with docker compose logs, not only the live tail. If the first-run output was discarded, avoid deleting the volume; investigate the image’s supported credential-reset procedure while preserving the existing data.
Docker reports a bind or port allocation failure
Another process may already be using the host port, or a second TeamSpeak project may be running. Use docker compose ps and the host’s socket inspection tools to identify the owner, then stop the conflicting service or choose an intentionally different host port while keeping the container port expected by TeamSpeak.
Licensing and capacity caveats
For TS3, current non-commercial guidance describes self-hosting within one virtual server and 32 slots. That is a licensing condition, not a performance guarantee: a VPS can run out of CPU, memory, bandwidth, or disk before reaching any nominal slot limit.
Recommended Free Tools
TS6 documentation describes the server as beta-era software and states that larger licenses cannot yet be obtained or upgraded. Do not promise customers a larger TS6 deployment based on TS3 licensing assumptions. Recheck the current TeamSpeak licensing terms before publishing a public service, changing slot counts, or charging for access.
Operational checklist
- Version selected and Compose image matches that version.
- Correct license environment variable is present.
- Correct persistent mount path is used.
- UDP 9987 is allowed at Docker, the host firewall, and the VPS provider.
- TCP 30033 is allowed only when file transfer is needed.
- TS3 TCP 10011 or TS6 TCP 10080 is exposed only for an enabled, secured query service.
- First-run administrator credential is stored securely.
- Volume backup exists and has been tested.
- Logs are monitored after startup and after every image update.
The Bottom Line
Use the TS3 Compose file with teamspeak, TS3SERVER_LICENSE, and /var/ts3server for a conventional TS3 deployment. Use the TS6 image with TSSERVER_LICENSE_ACCEPTED and /var/tsserver only when you accept its beta status and current license limits. In either case, persist the data volume, open UDP 9987 first, capture the first-run privilege credential from logs, and add query ports only when the corresponding service is enabled and secured.
Quick 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.

