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

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

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

Для успешного развертывания приложения должны быть соблюдены следующие условия:

  • Операционная система: Debian, Ubuntu, CentOS, Rocky Linux или AlmaLinux.

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

  • Доступ к сети: наличие возможности загрузки файлов с репозитория repo.fastpanel.direct.

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

Если в процессе развертывания не указан пользовательский домен, используется автоматический шаблон:

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

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

В процессе работы создаются следующие директории для хранения конфигураций и данных:

  • /root/nginx — рабочая директория прокси-сервера (содержит compose-файл).

  • /data/nginx — основная директория конфигураций Nginx.

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

  • /data/nginx/letsencrypt — каталог для проверки сертификатов (ACME challenge).

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

Процесс развертывания включает в себя несколько этапов:

  1. Подготовка системы: обновление кэша пакетов и установка утилиты wget. Настраивается таймаут ожидания блокировки менеджера пакетов (dpkg lock), чтобы избежать сбоев при автоматических обновлениях.

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

  3. Основная установка FastPanel:

  4. Для систем на базе Debian/Ubuntu: выполняется загрузка и запуск официального установочного скрипта.

  5. Для систем на базе RHEL (CentOS, Rocky, AlmaLinux): скачивается файл install_fastpanel.sh, запускается и затем удаляется из системы.

  6. Настройка пользователя: создается пользователь fastuser с паролем, соответствующим учетным данным сервера.

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

Для обеспечения работы веб-сервера и автоматического получения SSL-сертификатов используется контейнер:

Имя образа Порты (в режиме host) Тома (volumes) Переменные окружения Политика перезапуска
jonasal/nginx-certbot:latest 80, 443 nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d, /data/nginx/letsencrypt:/var/www/letsencrypt CERTBOT_EMAIL=hkadm@hostkey.com unless-stopped

Контейнер работает в режиме network_mode: host для обеспечения прямой работы с сетевыми интерфейсами хоста.

Кастомные скрипты и дополнительные настройки

В процессе развертывания выполняются следующие действия по настройке окружения:

  • Настройка SSL (Certbot):

  • Создается временная конфигурация Nginx, разрешающая только HTTP-трафик для прохождения проверки ACME.

  • Выполняется запрос сертификата через certbot внутри контейнера.

  • После получения сертификатов конфигурация Nginx обновляется и переключается на использование HTTPS (порт 443) с проксированием трафика на внутренний порт панели (8888).

  • Настройка параметров обновления: В файле /data/nginx/nginx-certbot.env устанавливается интервал проверки сертификатов RENEWAL_INTERVAL=8d.

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

  • Конфигурация прокси-сервера: /data/nginx/user_conf.d/{domain}.conf.

  • Переменные окружения контейнера: /data/nginx/nginx-certbot.env.

  • Файл развертывания Docker: /root/nginx/compose.yml.

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

Порт Назначение Протокол
8888 Управление FastPanel (внутренний) HTTPS
443 Веб-интерфейс через прокси HTTPS
80 Перенаправление на HTTPS HTTP

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

Управление прокси-сервером осуществляется через Docker Compose в директории /root/nginx:

  • Запуск: docker compose up -d

  • Остановка: docker compose down

  • Перезагрузка конфигурации Nginx (после изменений): docker exec nginx-nginx-1 nginx -s reload

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