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

Обзор развертывания 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.

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

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

  1. Подготовка системы: Обновление кэша пакетов и установка базовых зависимостей (curl, gnupg, software-properties-common и др.).

  2. Установка среды выполнения:

  3. Добавление репозитория PHP (Ondrej) и установка PHP версии 8.3.

  4. Установка Redis из официального репозитория.

  5. Установка веб-сервера Nginx, базы данных MariaDB и инструментов управления (composer, git, unzip).

  6. Развертывание панели:

  7. Загрузка последней стабильной версии Pterodactyl с GitHub.

  8. Распаковка архива в /var/www/pterodactyl.

  9. Настройка прав доступа для пользователя www-data.

  10. Установка зависимостей через composer install.

  11. Настройка базы данных и окружения:

  12. Создание базы данных panel и пользователя pterodactyl.

  13. Генерация уникального ключа приложения (APP_KEY).

  14. Выполнение миграций базы данных и инициализация данных (seed).

  15. Настройка веб-сервера и SSL:

  16. Настройка Nginx для работы через PHP-FPM.

  17. Получение 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 необходимо выполнить следующие действия:

  1. Перейти в директорию установки:

    cd /var/www/pterodactyl
    

  2. Загрузить новую версию файлов (через git или скачивание архива).

  3. Обновить зависимости:

    php 8.3 /usr/bin/composer install --no-dev --optimize-autoloader --no-interaction
    

  4. Выполнить миграции базы данных:

    php 8.3 artisan migrate --force
    

  5. Очистить кэш приложения:

    php 8.3 artisan config:clear
    php 8.3 artisan cache:clear
    

Расположение конфигурационных файлов и данных

  • Конфигурация приложения: /var/www/pterodactyl/.env

  • Конфигурация Nginx (серверная): /etc/nginx/sites-available/pterodactyl.conf

  • Конфигурация Wings: Используется файл wings.yml.

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

Порт Назначение
80 HTTP (перенаправление на HTTPS)
443 HTTPS (панель управления)
12333 Wings (проксирование трафика)

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

Управление основными системными компонентами:

  • Запуск/перезапуск очереди задач:

    systemctl restart pteroq
    

  • Перезапуск веб-сервера:

    systemctl reload nginx
    

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