[[TOC]]
This repository aims at providing a Docker Container which allows interested parties to easily deploy and run a EuroScope VCCS TS3 Server in a Docker container. The Dockerfile functionality has been tested and verified with the following Docker engine platform:
- Debian 11 "Bullseye" amd64
- Windows 11 Pro amd64
It is is able to compile and run such a server automatically, while being customizable through environment variables. For other distributions and systems, refer to the respective guides on how to install the docker engine and git on your specific distribution. This Dockerfile is made to be compatible with amd64 and i686/i386 architecture and will compile the service according to the running system's host architecture. However, due to the inavailability of the docker-engine for linux x86, support for x86 cannot be provided.
The guest image uses the following components:
- Guest system: debian
- Additional OS packages:
- make
- gcc
- curl
- unzip
- libc6
- Server source: TeamSpeak3 SDK Server 3.0.4.4
- Own scripts: As provided in this repository
The installation consists of two steps: First, the docker image has to be built on the target system. Thereafter the container is run "as normal".
The target system needs to have the following packages installed to build the docker image:
- GIT
- Docker For installation of those packages, it is recommended to use the developers respective installation guides. Check the links above.
When cloning the image in Windows (recommend using PowerShell), run this command prior to cloning the repository.
git config --global core.autocrlf false
This is to keep the line breaks of UNIX instead of converting them to DOS, which breaks the script.
Clone the repository on the target system as follows, and enter it.
git clone https://lab.dutt.ch/fagi/ests3-docker.git
cd ests3-docker
When cloning the image in Windows, run this command after cloning the repository. Otherwise you may mess up other GIT projects you may have, when syncing.
git config --global core.autocrlf true
Run the build command and wait for the process to finish. The argument '-t ests' can be used to give the image a name. If changed, this has to be replaced accordingly in the docker run-command at the bottom
sudo docker build -t ests -f Dockerfile .
This creates a local docker image which you display using
sudo docker images
Those build arguments are currently in use with default values. Use them with caution.
- ESTS_NAME="EuroScope VCCS server"
- ESTS_MAXCLIENTS=32
- ESTS_EXECNAME="ests3" Build arguments have to be modified during build. To achieve this, use the following command as desired:
sudo docker build -t ests --build-arg ESTS_NAME="EuroScope VCCS server" --build-arg ESTS_EXECNAME="ests3" --build-arg ESTS_MAXCLIENTS=32 -f Dockerfile .
To run the server, there's multiple possibilities. The simplest one, using standard settings, is
sudo docker run -d -p 9988:9988/udp --restart unless-stopped --name ests ests:latest
This sets the container up and detaches it, exposing the docker containers port 9988 and mapping it to the same physical port.
The server in the docker will always run on port 9988. if you need to expose the service at another port, you may do so by altering the first occurence of the port numbers, like so:
sudo docker run -d -p 9977:9988/udp --restart unless-stopped --name ests ests:latest
The docker container is bound to 9988, where it is listening internally. However, the physically mapped port is 9977 in this case, and thus has to be entered in the VCCS dialog to connect.