Teamspeak6 Server
ApplicationsTeamSpeak offers the ideal voice communication for gaming, education and training, internal business communication, and staying in touch with friends and family.
README
TeamSpeak 6 Server
[!CAUTION] TeamSpeak 6 Server is currently in beta. Expect frequent updates and potential instability
Official Website
TeamSpeak 6 is the next-generation voice communication platform for gaming and communities.
Notice
TeamSpeak 6 Server is currently in beta. Expect frequent updates and potential instability
Server Ports
You can use any available ports. The most important defaults are shown below:
| Port | Default | Description |
|---|---|---|
| Voice Port | 9987 | Main voice server port |
| File Transfer Port | 30033 | File transfers (Optional/admin) |
| Query SSH | 10022 | Server Query SSH interface (Optional/admin) |
| Query HTTP | 10080 | Server Query HTTP interface (Optional/admin) |
| Query HTTPS | 10443 | Server Query HTTPS interface (Optional/admin) |
Notes
- Admin Rights: On first launch, copy the generated key (token) from the console to claim server admin in your TeamSpeak 6 client.
- Beta Limits: TeamSpeak 6 server beta is limited to 5 users.
- Query Interfaces: Enable/disable additional query interfaces (SSH/HTTP/HTTPS) in the server variables.
- S3 File Transfer: Leave S3 variables blank unless you wish use S3-compatible storage.
- Certificates: For HTTPS query, upload your cert/key to
/home/containerand enter the filenames in their variables. - More Info: TeamSpeak 6 Beta Announcements
ARM64
- The ARM64 egg may not perform as expected due to the AMD64 to ARM64 emulaton.
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/yolks:debian | ghcr.io/ptero-eggs/yolks:debian |
Startup Command
./tsserver --default-voice-port={{SERVER_PORT}} Variables (18)
Server Query Admin Password
The password for the server query admin user.
- Environment:
TSSERVER_QUERY_ADMIN_PASSWORD- Default:
ChangeMe- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:32
Server Version
The version of Teamspeak 3 to use when running the server.
- Environment:
TS_VERSION- Default:
latest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Accept TServer License (required)
This is for accepting the license
- Environment:
TSSERVER_LICENSE_ACCEPTED- Default:
accept- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:20
File Transfer Port
The Teamspeak file transfer port (can be changed).
- Environment:
TSSERVER_FILE_TRANSFER_PORT- Default:
30033- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:10
Enable SSH Query
Enable the SSH query interface (set to 1 to enable).
- Environment:
TSSERVER_QUERY_SSH_ENABLED- Default:
0- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|between:0,1
SSH Query Port
The port for the SSH query interface (can be changed).
- Environment:
TSSERVER_QUERY_SSH_PORT- Default:
10022- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|between:1,65535
Enable HTTP Query
Enable the HTTP query interface (set to 1 to enable).
- Environment:
TSSERVER_QUERY_HTTP_ENABLED- Default:
0- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|between:0,1
HTTP Query Port
The port for the HTTP query interface (can be changed).
- Environment:
TSSERVER_QUERY_HTTP_PORT- Default:
10080- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|between:1,65535
Enable HTTPS Query
Enable the HTTPS query interface (set to 1 to enable).
- Environment:
TSSERVER_QUERY_HTTPS_ENABLED- Default:
0- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|between:0,1
HTTPS Query Port
The port for the HTTPS query interface (can be changed).
- Environment:
TSSERVER_QUERY_HTTPS_PORT- Default:
10443- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|between:1,65535
Enable S3 File Transfer
Enable S3 file transfer (set to 1 to enable).
- Environment:
TSSERVER_S3FT_ENABLED- Default:
0- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|between:0,1
S3 Access Key
S3 Access Key for file transfers.
- Environment:
TSSERVER_S3FT_ACCESS_KEY- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:100
S3 Secret Key
S3 Secret Key for file transfers.
- Environment:
TSSERVER_S3FT_SECRET_KEY- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:100
S3 Bucket
S3 Bucket name for file transfers.
- Environment:
TSSERVER_S3FT_BUCKET- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:100
S3 Domain
S3 Domain/endpoint for file transfers.
- Environment:
TSSERVER_S3FT_DOMAIN- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:100
S3 Region
S3 region for file transfers.
- Environment:
TSSERVER_S3FT_REGION- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:100
HTTPS Certificate Filename
Place the certificate file in /home/container and enter the filename here, e.g; ts6_https_cert.pem
- Environment:
TSSERVER_QUERY_HTTPS_CERT- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:255
HTTPS Private Key Filename
Place the private key file in /home/container and enter the filename here, e.g: ts6_https_key.pem
- Environment:
TSSERVER_QUERY_HTTPS_PRIVATE_KEY- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:255
Installation Script
ghcr.io/ptero-eggs/installers:debianbashcd /mnt/server
apt-get update
apt-get install -y jq bzip2
ver="$TS_VERSION"
if [ -z "$ver" ] || [ "$ver" = "latest" ]; then
json=$(curl -sSL https://api.github.com/repos/teamspeak/teamspeak6-server/releases/latest)
else
json=$(curl -sSL https://api.github.com/repos/teamspeak/teamspeak6-server/releases/tags/$ver 2>/dev/null)
if echo "$json" | grep -q "Not Found"; then
altver=$(echo "$ver" | sed 's/-/\//')
json=$(curl -sSL https://api.github.com/repos/teamspeak/teamspeak6-server/releases/tags/$altver 2>/dev/null)
fi
fi
if echo "$json" | grep -q "Not Found"; then
echo "Not found: $ver"
exit 1
fi
url=$(echo "$json" | jq -r '.assets | map(select((.name | contains("linux_amd64")) and (.name | endswith(".tar.bz2"))))[0].browser_download_url')
if [ -z "$url" ] || [ "$url" = "null" ]; then
echo "Not found: $ver"
exit 1
fi
curl -sSL "$url" | tar xj --strip-components=1
echo "Installed"