Sign inSign up

kleberbaum/teamspeak

By kleberbaum

Updated almost 6 years ago

(self-proclaimed) best teamspeak -server 3.2 container on Docker Hub based on Alpine Linux

Image
1

3.7K

kleberbaum/teamspeak repository overview

TeamSpeak for Docker

ImageOrigin Docker Stars Docker Pulls ImageLayers

Size optimised docker image based on alpine.

Extensively tested on netcup 2.99€/a VPS.

Build for Ts3.Party.

What is TeamSpeak

TeamSpeak is proprietary voice-over-Internet Protocol (VoIP) software for audio communication between users on a chat channel, much like a telephone conference call. Users typically use headphones with a microphone. The client software connects to a TeamSpeak server of the user's choice, from which the user may join chat channels.

logo  

How to use this image

Default
$ docker run -d --name teamspeak \
  -p 9987:9987/udp \
  -p 30033:30033 \
  -p 10011:10011 \
  kleberbaum/teamspeak:latest

 

Persist data
docker run -d --name teamspeak \
  -v ${PWD}/config:/teamspeak/config \
  -v ${PWD}/files:/teamspeak/files \
  -v ${PWD}/logs:/teamspeak/logs \
  -v ${PWD}/data:/teamspeak/data \
  -p 9987:9987/udp \
  -p 30033:30033 \
  -p 10011:10011 \
  kleberbaum/teamspeak:latest

 

Docker-compose
version: '2'
services:
  teamspeak:
    image: kleberbaum/teamspeak:latest
    environment:
      - TS_DBPLUGIN=ts3db_mariadb
      - TS_DBSQLCREATEPATH=create_mariadb/
      - TS_DBHOST=mysql
      - TS_DBDATABASE=teamspeak
      - TS_DBPASSWORD=changeme
    volumes:
      - ./files:/teamspeak/files
      - ./logs:/teamspeak/logs
    links:
      - mysql
    ports:
      - 9987:9987/udp
      - 10011:10011
      - 30033:30033
  mysql:
    image: mariadb:latest
    environment:
      - MYSQL_DATABASE=teamspeak
      - MYSQL_ROOT_PASSWORD=b3secure
    volumes:
      - ./mysql:/var/lib/mysql

 

Configuration

Commandline Parameters

This images uses docker entrypoint for starting the server. Cmd can be used to append paramters to the start command. Full list of parameters can be found at the official quick-start guilde. A few parameters are predefined to have a simpler docker setup:

licensepath=config/ createinifile=1 inifile=config/ts3server.ini query_ip_whitelist=config/query_ip_whitelist.txt query_ip_blacklist=config/query_ip_blacklist.txt dbpluginparameter=config/ts3db.ini

You can override the predefined parameter with your own. For example by enabling log append instead of creating a new log file on each startup:

$ docker run -d --name teamspeak -v ${PWD}/logs:/teamspeak/logs kleberbaum/teamspeak:latest logappend=1

 

File ts3server.ini

Instead of using commandline parameters a config file can be used. This file is located in data/ts3server.ini. An example of a config file can be found in the following snippet:

machine_id=
default_voice_port=1337
voice_ip=0.0.0.0
licensepath=config/
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
query_ip_whitelist=config/query_ip_whitelist.txt
query_ip_blacklist=config/query_ip_blacklist.txt
dbplugin=ts3db_sqlite3
dbpluginparameter=config/ts3db.ini
dbsqlpath=sql/
dbsqlcreatepath=create_sqlite/
dbconnections=10
logpath=logs
logquerycommands=0
dbclientkeepdays=30
logappend=0
query_skipbruteforcecheck=0

 

File ts3db.ini

If you want to use MariaDB/MySQL instead of the default SQLite you have to define a own config file with the connection settings. This config file is located in data/ts3db.ini. An example of a config file can be found in the following snippet:

[config]
host=localhost
port=3306
username=teamspeak
password=x5gUjs
database=ts3db
socket=

 

Environment variables

This image supports environment variables for the TeamSpeak server.

🔴 Mapped to ts3server.ini 🔷 Mapped to ts3db.ini

VariableDefault
🔴 TS3SERVER_LICENSEPATH/opt/ts3server/
🔴 TS3SERVER_NO_PERMISSION_UPDATE0
🔴 TS3SERVER_MACHINE_ID0
🔴 TS3SERVER_CREATE_DEFAULT_VIRTUALSERVER1
🔴 TS3SERVER_VOICE_IP0.0.0.0,0::0
🔴 TS3SERVER_DEFAULT_VOICE_PORT9987
🔴 TS3SERVER_FILETRANSFER_IP0.0.0.0,0::0
🔴 TS3SERVER_FILETRANSFER_PORT30033
🔴 TS3SERVER_QUERY_IP0.0.0.0,0::0
🔴 TS3SERVER_QUERY_PORT10011
🔴 TS3SERVER_QUERY_PROTOCOLSraw
🔴 TS3SERVER_QUERY_BUFFER_MB20
🔴 TS3SERVER_QUERY_TIMEOUT300
🔴 TS3SERVER_QUERY_SSH_RSA_HOST_KEYssh_host_rsa_key
🔴 TS3SERVER_IP_WHITELISTquery_ip_whitelist.txt
🔴 TS3SERVER_IP_BLACKLISTquery_ip_blacklist.txt
🔴 TS3SERVER_QUERY_SKIPBRUTEFORCECHECK0
🔴 TS3SERVER_SERVERQUERYDOCS_PATH/opt/ts3server/serverquerydocs/
🔴 TS3SERVER_CLEAR_DATABASE0
🔴 TS3SERVER_DB_SQLCREATEPATHcreate_sqlite
🔴 TS3SERVER_DB_PLUGINts3db_sqlite3
🔴 TS3SERVER_DB_PLUGINPARAMETER/var/run/ts3server/ts3db.ini
🔴 TS3SERVER_DB_SQLPATH/opt/ts3server/sql/
🔷 TS3SERVER_DB_SOCKET<empty>
🔷 TS3SERVER_DB_HOST0.0.0.0,0::0
🔷 TS3SERVER_DB_PORT3306
🔷 TS3SERVER_DB_NAMEts3
🔷 TS3SERVER_DB_USERteamspeak
🔷 TS3SERVER_DB_PASSWORD<empty>
🔴 TS3SERVER_DB_CONNECTIONS10
🔴 TS3SERVER_DB_CLIENTKEEPDAYS30
🔴 TS3SERVER_DB_WAITUNTILREADY30
🔴 TS3SERVER_DB_LOGKEEPDAYS90
🔴 TS3SERVER_LOG_APPEND0
🔴 TS3SERVER_LOG_PATH/var/ts3server/logs
🔴 TS3SERVER_LOG_QUERY_COMMANDS0
 

Differences from phaldan/docker-teamspeak

  • Uses a clean alpine:latest as base
  • Uses a init (krallin/tini)
  • Build with a clean Dockerfile
  • Used by ts3.party ^^

Tag summary

Content type

Image

Digest

Size

11.1 MB

Last updated

almost 8 years ago

docker pull kleberbaum/teamspeak