Based off work from mbentley/docker-teamspeak
Docker image for TeamSpeak 3 Server based off of alpine:latest
latest
,alpine
- based on Alpine Linux
To pull this image:
docker pull ghcr.io/chadhutchins182/docker-teamspeak:latest
Note: This Dockerfile will always install the very latest version of TS3 available.
Example usage (no persistent storage; for testing only - you will lose your data when the container is removed):
docker run -d --name teamspeak \
-e TS3SERVER_LICENSE=accept \
-p 9987:9987/udp -p 30033:30033 -p 10011:10011 -p 41144:41144 \
ghcr.io/chadhutchins182/docker-teamspeak:latest
Setting the host user id and group id can help with permission issues on the host system with persistent storage and if running as non-root.
To set the UID and GID:
-e PUID=1000 -e PGID=1000
Starting with TeamSpeak 3.1.0, the license agreement must be accepted before you can run TeamSpeak. To accept the agreement, you need to do one of the following:
- Add the following to your run command:
-e TS3SERVER_LICENSE=accept
to pass an environment variable - Add a command line parameter at the end of your run command to accept the license
license_accepted=1
- Create a file named
.ts3server_license_accepted
in the persistent storage directory
In order to get the credentials for your TS server, check the container logs as it will output the serveradmin
password and your ServerAdmin
privilege key.
For additional parameters, check the Commandline Parameters
section of the TeamSpeak Server - Quickstart Guide
. You can also get Either add the parameters to ts3server.ini
or specify them after the Docker image name. The quickstart guide ships with the image and can be viewed with:
docker run -t --rm --entrypoint cat ghcr.io/chadhutchins182/docker-teamspeak:latest /opt/teamspeak/doc/server_quickstart.md
docker run -d --restart=always --name teamspeak \
-e TS3SERVER_LICENSE=accept \
-p 9987:9987/udp -p 30033:30033 -p 10011:10011 -p 41144:41144 \
-v /data/teamspeak:/data \
ghcr.io/chadhutchins182/docker-teamspeak:latest \
serveradmin_password=test1234
-
Create directory, touch the ini files, set permissions:
mkdir -p /data/teamspeak touch /data/teamspeak/ts3server.ini chown -R 503:503 /data/teamspeak
-
Add config parameters to the
ts3server.ini
:default_voice_port=9987 filetransfer_ip=0.0.0.0 filetransfer_port=30033 query_port=10011 query_ssh_port=10022
-
Start container with the
inifile=/data/ts3server.ini
parameter to tell TeamSpeak where the ini file is:docker run -d --restart=always --name teamspeak \ -e TS3SERVER_LICENSE=accept \ -p 9987:9987/udp -p 30033:30033 -p 10011:10011 -p 41144:41144 \ -v /data/teamspeak:/data \ ghcr.io/chadhutchins182/docker-teamspeak:latest \ inifile=/data/ts3server.ini