ramius86/ts3server-arm64

By ramius86

Updated 21 days ago

TeamSpeak 3 Server Docker image for ARM64 via box64

Image
Networking
0

7.0K

ramius86/ts3server-arm64 repository overview

TeamSpeak 3 Server for ARM64 (via Box64)

A lightweight and optimized unofficial Docker image to run the TeamSpeak 3 (x86_64) server on ARM64 architectures (such as Raspberry Pi 4/5, Oracle Cloud A1 servers, Apple Silicon, etc.).

Since TeamSpeak does not provide native 64-bit ARM binaries, this image leverages the excellent Box64 emulator to dynamically translate and execute x86_64 instructions with no perceptible performance loss, allowing you to host your voice server anywhere!

Key Features

  • Based on debian:trixie-slim for a minimal footprint.
  • Runs as a non-root user via configurable PUID/PGID for enhanced security.
  • Box64 Dynarec parameters are pre-configured for maximum stability and efficiency.
  • Automated multi-tag builds generated via GitHub Actions.

How to Run

Before starting the container, you must accept the TeamSpeak License by setting the TS3SERVER_LICENSE=accept environment variable.

Option 1: Docker CLI
docker run -d \
  --name teamspeak3 \
  -p 9987:9987/udp \
  -p 10011:10011/tcp \
  -p 30033:30033/tcp \
  -e TS3SERVER_LICENSE=accept \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TIME_ZONE=Europe/Rome \
  -v /local/path/data:/teamspeak/save \
  --restart unless-stopped \
  ramius86/ts3server-arm64:latest

Create a docker-compose.yml file:

services:
  teamspeak:
    image: ramius86/ts3server-arm64:latest
    container_name: teamspeak3
    restart: unless-stopped
    ports:
      - "9987:9987/udp"
      - "10011:10011/tcp"
      - "30033:30033/tcp"
    volumes:
      - ./ts3_data:/teamspeak/save
    environment:
      - TIME_ZONE=Europe/Rome
      - PUID=1000
      - PGID=1000
      - INIFILE=1
      - TS3SERVER_LICENSE=accept

Start the container with:

docker compose up -d

Volumes & Data Persistence

To avoid losing your virtual servers, users, permissions, and uploaded files when the container restarts, it is mandatory to mount a local directory inside the container.

Internal Container PathDescription
/teamspeak/saveContains the SQLite database, configuration files, SSH keys, and file transfer folders.

Environment Variables

This image supports several environment variables to customize your installation:

VariableDefaultDescription
TS3SERVER_LICENSE(Empty)Required. Set it to accept to agree to the TeamSpeak EULA.
PUID1000User ID that will run the processes.
PGID1000Group ID that will run the processes.
TIME_ZONEUTCThe server timezone (e.g., Europe/Rome).
INIFILE1Enables the generation and usage of the ts3server.ini configuration file.
DEBUG0Set to 1 to enable verbose logging for troubleshooting.
Box64 Optimizations

The image already includes advanced configuration for the emulator. You can override these if necessary, but it is not recommended:

  • BOX64_DYNAREC_STRONGMEM=1: Forces stricter memory management to prevent crashes under load.
  • BOX64_LOG=0: Disables verbose Box64 logs for a cleaner Docker output.
  • BOX64_NOBANNER=1: Hides the emulator startup banner.

Source Code & Support

The source code, Dockerfiles, and configuration scripts used to build this image are fully open source and available on GitHub.

If you encounter any issues, want to contribute, or just want to see how the image is built, feel free to visit the repository:

TeamSpeak is a registered trademark of TeamSpeak Systems GmbH. This project is not affiliated, sponsored, or officially supported by TeamSpeak Systems GmbH. The Docker image downloads the official public archive directly during the build phase. It is the end user's responsibility to accept and comply with the TeamSpeak EULA when using the software.

Tag summary

Content type

Image

Digest

sha256:671de4581

Size

48.9 MB

Last updated

21 days ago

docker pull ramius86/ts3server-arm64:3.13.8-debian-trixie