Обзор развертывания 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).
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Подготовка системы: обновление кэша пакетов и установка утилиты
wget. Настраивается таймаут ожидания блокировки менеджера пакетов (dpkg lock), чтобы избежать сбоев при автоматических обновлениях. -
Установка Docker: на сервер устанавливается среда выполнения контейнеров Docker.
-
Основная установка FastPanel:
-
Для систем на базе Debian/Ubuntu: выполняется загрузка и запуск официального установочного скрипта.
-
Для систем на базе RHEL (CentOS, Rocky, AlmaLinux): скачивается файл
install_fastpanel.sh, запускается и затем удаляется из системы. -
Настройка пользователя: создается пользователь
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