Skip to content

pottah/teamspeak-server-alpine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Teamspeak 3.12 Server on Alpine

21MB docker container running a Teamspeak 3.12 server

Docker Teamspeak 3.12

Build Status Docker Build Status

GitHub last commit GitHub commit activity GitHub issues

Docker Pulls Docker Stars Docker Automated

Image size Image version

Image size RAM usage CPU usage
22.3MB 15MB Low

It is based on:

Features

  • Low size
  • Regular healthcheck
  • Runs without root
  • Minimalist (trimmed out mariadb option)
  • Only compatible with amd64 because Teamspeak is only built for amd64

Setup

  1. (If you want persistence) Create two directories ./data and ./logs and apply the correct ownership and permissions with:

    mkdir -p data logs
    chown 1000 data logs
    chmod 700 data logs

    Note that you can set chown to another UID (i.e. 8000) provided you run the container with --user=8000.

  2. Use the following command:

    docker run -d -p 9987:9987/udp -p 10011:10011/tcp -p 30033:30033/tcp \
    -v $(pwd)/data:/teamspeak/data -v $(pwd)/logs:/teamspeak/logs \
    qmcgaw/teamspeak3-alpine license_accepted=1
    • The UDP port 9987 is used for the main voice server
    • The TCP port 10011 is used for file transfers
    • The TCP port 30033 is used for remote management
    • The data directory contains the database ts3server.sqlitedb, and IP blacklist and whitelist query_ip_blacklist.txt and query_ip_whitelist.txt
    • The logs directory contains text log files

    or use docker-compose.yml with:

    docker-compose up -d

On the first run, if your bind mounts contain no files, you will have likely to run on your host:

chmod 700 data/ts3server.sqlitedb

Connect to the server

  1. Download a client on your machine from https://www.teamspeak.com/downloads.html#client

  2. Install it and launch it

  3. On your Docker host, enter

    ip address

    You can find your host LAN IP address to use to connect to the Teamspeak server.

  4. On your Docker host, enter the following:

    docker logs teamspeak

    You should see a few lines similar to:

    2018-04-16 02:54:18.228719|WARNING |VirtualServer |1  |--------------------------------------------------------
    2018-04-16 02:54:18.228789|WARNING |VirtualServer |1  |ServerAdmin privilege key created, please use the line below
    2018-04-16 02:54:18.228825|WARNING |VirtualServer |1  |token=u3bJyR+ZcUJRxgJ+CKsJmQgygR+gMuPMz7qkyaQa
    2018-04-16 02:54:18.228855|WARNING |VirtualServer |1  |--------------------------------------------------------

    Copy the token u3bJyR+ZcUJRxgJ+CKsJmQgygR+gMuPMz7qkyaQa to identify as the administrator using the Teamspeak client.

  5. In your Teamspeak client, follow the instructions as shown on the following pictures:

    Client step 1

    Client step 2

    Enter the Docker host LAN IP address as well as your admin token you previously copied.

    Client step 3

    You are now connected as administrator to your Teamspeak server

    Client step 4

    You might want now to:

    • Set encrypted voice communication globally on (right click on server -> Edit virtual server -> Security tab -> Channel voice encryption (bottom) )
    • Set a password
    • Set permissions
    • Set up and modify channels
  6. Find your router LAN IP address and access it with your web browser, usually at http://192.168.1.1.

  7. Forward the following ports on your router:

    • TCP 10011 -> 10011 for your Docker host
    • TCP 30033 -> 30033 for your Docker host
    • UDP 9987 -> 9987 for your Docker host
  8. On your Docker host, enter

    wget -qO- https://ipinfo/ip

    This is the public IP address of your Docker host and therefore of your Teamspeak server for people outside your network

  9. In your Teamspeak client, follow the instructions as shown on the following pictures:

    Client step 5

    Client step 6

    Enter the public IP address previously found, or your domain name if you have one.

    Client step 7

    You should now be connected to your Teamspeak server as before. Note that your credentials data is stored on your computer so it won't ask you for the admin token or a password.

  10. To share it with other people, give them your public IP address or domain name, and the password to access the server

TODOs

  • Env variables
  • Ban malicious IPs
  • Scratch

About

Minimalist Teamspeak 3 server Docker container

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 61.5%
  • Dockerfile 38.5%