Перейти к содержанию

Обзор развертывания TeamSpeak на сервере

Предварительные требования

Для корректной работы приложения требуются следующие параметры и условия:

  • Операционная система: Ubuntu.

  • Права доступа: Права суперпользователя (root) для установки пакетов и управления Docker.

  • Сеть: Доступ к интернету для загрузки образов Docker и получения SSL-сертификатов.

  • Порты:

  • 9987/udp — голосовой трафик TeamSpeak.

  • 10011, 10022 — порты управления (Server Query).

  • 30033 — передача файлов.

  • 41144 — порт для передачи данных.

  • 80, 443 — HTTP/HTTPS трафик (через прокси).

FDQN итоговой панели на домене hostkey.in

Параметр Значение
Префикс teamspeak
Домен hostkey.in
Полный шаблон teamspeak{Server_ID}.hostkey.in

Структура файлов и каталогов

Основные данные приложения и конфигурации распределены по следующим путям:

  • /opt/teamspeak — директория для хранения данных сервера TeamSpeak.

  • /opt/tsi-web — директория для данных веб-интерфейса управления (TS3-Manager).

  • /root/nginx — конфигурационные файлы и compose.yml для прокси-сервера.

  • /data/nginx/user_conf.d — пользовательские конфигурации Nginx.

Процесс установки приложения

Развертывание выполняется в несколько этапов:

  1. Подготовка системы: Установка Docker и создание сетевого моста bridge.

  2. Генерация секретов: Создание уникального ключа JWT_SECRET для обеспечения безопасности веб-интерфейса.

  3. Развертывание контейнеров приложения: Запуск основного сервера TeamSpeak и веб-панели управления через Docker.

  4. Настройка проксирования и SSL:

  5. Создание конфигурации Nginx для перенаправления трафика с порта 80 на 443 (HTTPS).

  6. Настройка обратного прокси (Reverse Proxy) для перенаправления HTTPS-трафика на веб-интерфейс управления.

  7. Получение SSL-сертификатов через Certbot для обеспечения защищенного соединения.

Контейнеры Docker и их запуск

В системе работают три основных контейнера:

TeamSpeak Server

  • Образ: teamspeak:latest

  • Порты:

  • 9987/udp (голосовой трафик)

  • 10011, 10022, 30033, 41144 (TCP)

  • Тома: /opt/teamspeak:/data

  • Переменные окружения: TS3SERVER_LICENSE="accept"

  • Политика перезапуска: unless-stopped

TS3-Manager (Веб-интерфейс)

  • Образ: joni1802/ts3-manager:v2.2.3

  • Порты: 8080:8080

  • Тома: /opt/tsi-web:/app/data

  • Переменные окружения:

  • PORT="8080"

  • JWT_SECRET (сгенерированный случайный ключ)

  • Политика перезапуска: unless-stopped

Nginx Certbot (Прокси-сервер)

  • Образ: jonasal/nginx-certbot:latest

  • Сеть: Режим host

  • Тома:

  • nginx_secrets:/etc/letsencrypt (хранение сертификатов)

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d (пользовательские конфиги)

  • Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com

  • Политика перезапуска: unless-stopped

Базы данных

Приложение использует файловое хранилище внутри контейнеров для хранения данных TeamSpeak и настроек веб-интерфейса. Данные сохраняются в директориях /opt/teamspeak и /opt/tsi-web.

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить следующие действия:

  1. Обновить образы контейнеров с помощью команды:

    docker compose pull
    

  2. Перезапустить контейнеры для применения изменений:

    docker compose up -d
    

Доступные порты для подключения

Порт Протокол Назначение
9987 UDP Голосовой чат TeamSpeak
10011, 10022 TCP Server Query (управление)
30033 TCP Передача файлов
41144 TCP Передача данных
80/443 TCP Доступ к веб-панели управления через браузер

Запуск, остановка приложения

Управление контейнерами осуществляется через Docker:

  • Остановка всех сервисов:

    docker stop teamspeak ts3-manager nginx-certbot
    

  • Запуск сервисов:

    docker start teamspeak ts3-manager nginx-certbot
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×