Обзор развертывания Pterodactyl на сервере¶
Предварительные требования¶
Для корректной работы приложения сервер должен соответствовать следующим параметрам:
-
Операционная система: Ubuntu (рекомендуемая версия
jammy). -
Права доступа: Права суперпользователя (
root) для установки системных пакетов и управления сервисами. -
Порты:
-
80/443: HTTP/HTTPS трафик. -
12333: Порт для Wings (проксирование). -
3306: MySQL/MariaDB. -
6379: Redis.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к панели используется динамический поддомен, формируемый по следующему шаблону:
| Параметр | Значение |
|---|---|
| Префикс | pterodactyl |
| Домен | hostkey.in |
| Полный шаблон | pterodactyl{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
Основные пути к файлам и директориям приложения:
-
/var/www/pterodactyl— основная директория установки панели. -
/root/nginx— конфигурация контейнера для управления SSL-сертификатами. -
/etc/letsencrypt/live/{FQDN}/— место хранения SSL-сертификатов. -
/etc/cron.d/pterodactyl— планировщик задач (cron). -
/etc/systemd/system/pteroq.service— системный сервис очереди Pterodactyl.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системы: Обновление кэша пакетов и установка базовых зависимостей (
curl,gnupg,software-properties-commonи др.). -
Установка среды выполнения:
-
Добавление репозитория PHP (Ondrej) и установка PHP версии
8.3. -
Установка Redis из официального репозитория.
-
Установка веб-сервера Nginx, базы данных MariaDB и инструментов управления (
composer,git,unzip). -
Развертывание панели:
-
Загрузка последней стабильной версии Pterodactyl с GitHub.
-
Распаковка архива в
/var/www/pterodactyl. -
Настройка прав доступа для пользователя
www-data. -
Установка зависимостей через
composer install. -
Настройка базы данных и окружения:
-
Создание базы данных
panelи пользователяpterodactyl. -
Генерация уникального ключа приложения (
APP_KEY). -
Выполнение миграций базы данных и инициализация данных (seed).
-
Настройка веб-сервера и SSL:
-
Настройка Nginx для работы через PHP-FPM.
-
Получение SSL-сертификатов Let's Encrypt через Certbot.
Права доступа и безопасность¶
-
Все файлы приложения в
/var/www/pterodactylпринадлежат пользователюwww-data. -
Конфигурационный файл
.envимеет ограниченные права (0640) для защиты чувствительных данных. -
Настроены политики безопасности SSL (протоколы TLSv1.2 и TLSv1.3).
Базы данных¶
Приложение использует MariaDB в качестве основного хранилища:
-
Имя базы данных:
panel -
Пользователь:
pterodactyl -
Метод подключения: Локальное соединение через сокет
/run/mysqld/mysqld.sock.
Контейнеры Docker и их запуск¶
Для управления SSL-сертификатами используется Docker-контейнер:
| Параметры | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Режим сети | host |
| Тома (volumes) | nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d, /var/www/pterodactyl/public:/var/www/pterodactyl/public:ro |
| Политика перезапуска | unless-stopped |
Кастомные скрипты и дополнительные настройки¶
Для обеспечения стабильной работы очереди задач используется системный сервис pteroq:
-
Назначение: Выполнение фоновых задач Pterodactyl (Queue Worker).
-
Команда запуска:
php 8.3 artisan queue:work --queue=high,standard,low. -
Особенности: Автоматический перезапуск при сбоях (
Restart=always).
Также настроен планировщик cron для выполнения задачи schedule:run каждую минуту.
Инструкция по обновлению приложения¶
Для обновления панели Pterodactyl необходимо выполнить следующие действия:
-
Перейти в директорию установки:
-
Загрузить новую версию файлов (через
gitили скачивание архива). -
Обновить зависимости:
-
Выполнить миграции базы данных:
-
Очистить кэш приложения:
Расположение конфигурационных файлов и данных¶
-
Конфигурация приложения:
/var/www/pterodactyl/.env -
Конфигурация Nginx (серверная):
/etc/nginx/sites-available/pterodactyl.conf -
Конфигурация Wings: Используется файл
wings.yml.
Доступные порты для подключения¶
| Порт | Назначение |
|---|---|
80 | HTTP (перенаправление на HTTPS) |
443 | HTTPS (панель управления) |
12333 | Wings (проксирование трафика) |
Запуск, остановка приложения¶
Управление основными системными компонентами:
-
Запуск/перезапуск очереди задач:
-
Перезапуск веб-сервера: