# Installation

# Get Started

There is an executable for all three platforms, which runs inside a terminal window. There is no extra webserver like Apache or NGINX needed. However it is recommended to use a reverse proxy because the app does not support HTTPS. Example configuration files can be found here

# Options

The TS3-Manager has optional command line arguments to start with. It is suggested to manually set the secret in a producation environment. This prevents losing the saved login credentials of your TeamSpeak servers if the application gets restarted.

Parameter Description Default
-p, --port port the server is listening on 3000
-s, --secret secret for decrypting and encrypting the token random value generated on each server start
-w, --whitelist comma separated list of TeamSpeak servers you can connect to (ip or domain) all TeamSpeak servers are allowed

# Example

/path/to/ts3-manager-executable -p 8080 -s XXX -w 183.23.45.23,myts3server.com

# Windows

Go to Download and download the file for Windows. Run it by double clicking it. On the first startup the windows firewall will probably show you a security alert. Just click on "More informations" and hit "Allow Access". The app should start now as seen in the picture below. Open up a browser of your choice and go to http://localhost:3000 (opens new window). windows-cmd

# macOS

Go to Download and download the file for Mac. Open a terminal and navigate to the downloaded file (e.g. your downloads folder).

cd ./Downloads

Make the file executable.

chmod +x ts3-manager-macos

Run the executable.

./ts3-manager-macos

Open up a browser of your choice and go to http://localhost:3000 (opens new window).

# Linux

Get the direct download url on Sourceforge (Copy the link of the download button). Download the file in your terminal session.

wget https://github.com/joni1802/ts3-manager/releases/download/v2.0.0/ts3-manager-linux-x64-vX.X.X

Make the file executable.

chmod +x start_ts3-manager

Now you can simply run the executable. However the recommended way is to run the application as systemd service.

./start_ts3-manager

With systemd (opens new window) you can run the application in the background and enable it to automatically start up when the machine boots.

For security reasons we will create a new user ts3-manager. This user will run the application.

adduser --system --no-create-home --group --disabled-password ts3-manager

Create a new work directory for the application.

cd /var/www

mkdir /var/www/ts3-manager

Copy the previously downloaded file start_ts3-manager to the work directory.

cp /path/to/downloaded/file/start_ts3-manager /var/www/ts3-manager/

Add the needed permissions for the user ts3-manager. The user needs write permissions to create log files.

chown -R ts3-manager:ts3-manager /var/www/ts3-manager

chmod -R 755 /var/www/ts3-manager

Create a systemd service file.

nano /etc/systemd/system/ts3-manager.service

Copy the following content into the file and save it:

[Unit]
Description=TeamSpeak 3 Server Manager
After=network.service

[Service]
User=ts3-manager
Group=ts3-manager
Type=simple
WorkingDirectory=/var/www/ts3-manager/
Environment=PORT=8080
ExecStart=/var/www/ts3-manager/start_ts3-manager
RestartSec=15
Restart=always
StandardOutput=journal
StandardError=inherit

[Install]
WantedBy=multi-user.target

Enable the created unit file.

systemctl enable ts3-manager

Start the application.

systemctl start ts3-manager

Verify if the service is running.

systemctl status ts3-manager

Thanks to dionysius (opens new window), who wrote the systemd unit file. (#11 (opens new window))

# Docker

Try in PWD (opens new window)

Pull the latest image from Docker Hub.

docker pull joni1802/ts3-manager

Start the container. Other than the executable the docker image is using the port 8080 by default.

docker run -p 8080:8080 --name ts3-manager joni1802/ts3-manager

# Configuration

The Docker image can be configured via environment variables which are correspondig to the options for the executables.

Environment Variable Description Default
PORT port the server is listening on 8080
JWT_SECRET secret for decrypting and encrypting the token random value generated on each server start
WHITELIST comma separated list of TeamSpeak servers you can connect to (ip or domain) all TeamSpeak servers are allowed

# Compose File Example

version: "3.8"

services:
  ts3-manager:
    image: "joni1802/ts3-manager"
    ports:
      - 9999:8080
    environment:
      - WHITELIST=183.23.45.23,myts3server.com
      - JWT_SECRET=XXX