Ich habe bereits schon hier eine Anleitung geschrieben, wie ihr Teamspeak normal “von Hand” installieren könnt. Nun zeige ich euch, wie ihr dies in wenigen Minuten mit Docker realisiert.
Update
29.05.2020 | Anleitung erweitert, damit die Einstellungen nach löschen des Containers bestehen bleiben. |
29.03.2020 | Erstellung dieser Anleitung. |
Inhaltsverzeichnis
Als Grundlage meiner Anleitung dient die offizielle Teamspeak Anleitung für Docker.
1. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/ts3/{sql,data}
2. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle Teamspeak 3 Compose genommen und diese für euch hier kommentiert.
cd /opt/containers/ts3/ nano docker-compose.yml
Inhalt:
version: '3.1' services: teamspeak: image: teamspeak restart: unless-stopped ports: - 9987:9987/udp - 10011:10011 - 30033:30033 environment: TS3SERVER_DB_PLUGIN: ts3db_mariadb TS3SERVER_DB_SQLCREATEPATH: create_mariadb TS3SERVER_DB_HOST: teamspeak-db TS3SERVER_DB_USER: root TS3SERVER_DB_PASSWORD: example <----- Hier Passwort eingeben -----> TS3SERVER_DB_NAME: teamspeak TS3SERVER_DB_WAITUNTILREADY: 30 TS3SERVER_LICENSE: accept volumes: - /opt/containers/ts3/data:/var/ts3server/ teamspeak-db: image: mariadb restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: example <----- Hier Passwort eingeben -----> MYSQL_DATABASE: teamspeak volumes: - /opt/containers/ts3/sql:/var/lib/mysql/
Notwendige Anpassungen:
- Ihr müsst an beiden Stellen das selbe Passwort eingeben.
3. Teamspeak Server starten
Dazu gebt ihr folgenden Befehl ein:
docker-compose up
Nun wartet ihr bis ihr folgende Meldung seht:
Dieses Daten solltet ihr nun abspeichern. Das “Token” aus den letzten Zeilen benötigen wir gleich noch.
Nun verbindet ihr euch mit mittels eurem Teamspeak 3 Client zu eurem Server. Ihr solltet direkt folgende Meldung sehen:
Hier kopiert ihr dann euer Token hinein.
Wenn alles korrekt war, dann sollte diese Meldung erscheinen und ihr seid nun Server Administrator.
Nun könnt ihr euren Teamspeak 3 Server mittels der Tasten “STRG+C” auf der Konsole beenden. Startet ihn nun neu und sorgt dafür, dass er im Hintergrund ausgeführt wird.
docker-compose up -d
6. Quellen
https://hub.docker.com/_/teamspeak
6 Kommentare
Super ! – Aber: Icons verschwinden – Zugriff von TS Viewer geht ncht Trotz Portfreischaltung. Was kann ich da tun?
/home/ts3/ts3priv>cat docker-compose.yml
version: ‘3.1’
services:
teamspeak:
image: teamspeak
restart: unless-stopped
ports:
– 9989:9987/udp
– 10012:10011
– 30034:30033
environment:
TS3SERVER_DB_PLUGIN: ts3db_mariadb
TS3SERVER_DB_SQLCREATEPATH: create_mariadb
TS3SERVER_DB_HOST: teamspeak-db
TS3SERVER_DB_USER:
TS3SERVER_DB_PASSWORD: example
TS3SERVER_DB_NAME: teamspeak
TS3SERVER_DB_WAITUNTILREADY: 30
TS3SERVER_LICENSE: accept
teamspeak-db:
image: mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: teamspeak
Konfig siehe Oben. Da ich Docker nicht ganz mächtig bin, wo ist denn die Ordnerstrktur – die berechtigungen sollten ja passen, da sost der Server ansich ja nicht gehen würde. Joinen kann man problemlos via ip:9989
Sollte der “teamspeak-db” nicht auch ein volume hinzugefügt werden? Bei einem kompletten Neustart (down / up) sind ansonsten alle Daten verschwunden.
Danke für den Hinweis Malte.
Ist mir selbst noch nie aufgefallen.
Habe es verbessert.
LG
Christian
Erstmal vielen Dank für die ganzen tollen Anleitungen. Habe davon nun schon einige davon umgesetzt.
Heute war dann Teamspeak dran. Leider hat das nicht ganz so einfach geklappt wie gedacht. Mit der neuesten MariaDB-Version (10.5) funktioniert es leider nicht, da irgendwas mit dem Login schiefgeht (Root kann sich nicht verbinden). Mit der Version 10.4 hat es dann aber problemlos geklappt.
Anstelle von
image: mariadb
einfach
image: mariadb:10.4
verwenden.
Ggf. muss/sollte man vorher noch das sql-Verzeichniss aufräumen.
Hey,
Kurze Frage wie kann ich dem Server eine Bestimmte IPv4&IPv6 Adresse zuweisen?
Ich habe 10 IP Adressen auf meinem Server und würde gern dem TS eine eigene IP zuweisen..