Skip to main content
TeamSpeak 6 Server provides flexible configuration options through three different methods. Choose the approach that best fits your deployment workflow.

Configuration Methods

Command-Line Flags

Pass options directly when starting the server

Environment Variables

Configure via environment variables (ideal for Docker)

YAML Configuration

Use a structured configuration file

Command-Line Flags

Command-line flags are passed directly when starting the TeamSpeak server binary. This method is useful for quick testing or when you need to override specific settings.
./tsserver --accept-license --default-voice-port 9987
View all available command-line options by running ./tsserver --help

Environment Variables

Environment variables provide a clean way to configure the server, especially in containerized environments. Each command-line flag has a corresponding environment variable.
services:
  teamspeak:
    image: teamspeaksystems/teamspeak6-server:latest
    environment:
      - TSSERVER_LICENSE_ACCEPTED=accept
      - TSSERVER_DEFAULT_PORT=9987
      - TSSERVER_FILE_TRANSFER_PORT=30033
      - TSSERVER_QUERY_HTTP_ENABLED=true
      - TSSERVER_QUERY_HTTP_PORT=10080

YAML Configuration

The YAML configuration file provides a structured, version-controllable way to manage complex server configurations. This is the recommended method for production deployments.
tsserver.yaml
server:
  accept-license: accept
  license-path: .
  default-voice-port: 9987
  filetransfer-port: 30033
  log-path: logs
  
  database:
    plugin: sqlite3
    sql-create-path: create_sqlite
    client-keep-days: 30
    
  query:
    pool-size: 2
    timeout: 300
    
    http:
      enable: 1
      port: 10080
To use a configuration file:
./tsserver --config-file tsserver.yaml
Or via environment variable:
export TSSERVER_CONFIG_FILE=tsserver.yaml
./tsserver
See the YAML Configuration page for the complete file structure and all available options.

Configuration Priority

When multiple configuration methods are used, the server applies them in the following order of precedence (highest to lowest):
  1. Command-line flags - Highest priority, overrides all other methods
  2. Environment variables - Overrides YAML file settings
  3. YAML configuration file - Base configuration
  4. Default values - Used when no configuration is provided
Command-line flags and environment variables will override any values set in the YAML configuration file.

Writing Configuration to File

You can generate a YAML configuration file from your current settings (command-line flags and environment variables) using the --write-config-file flag:
./tsserver --accept-license --default-voice-port 9987 --write-config-file
This will create or update the tsserver.yaml file with your current configuration.

Next Steps

Server Settings

Configure core server parameters

Database Configuration

Set up SQLite or MariaDB

Ports & Networking

Configure network ports and bindings

YAML Reference

Complete YAML file structure

Build docs developers (and LLMs) love