Обзор развертывания FASTPANEL на сервере¶
Предварительные условия и основные требования¶
Для успешного развертывания должны быть соблюдены следующие требования:
-
Операционная система: Дистрибутивы на базе Debian или RHEL.
-
Привилегии: Для установки и управления пакетами требуются права root или привилегии sudo.
-
Сеть/Порты:
-
Порт
8888(внутренний) -
Порт
443(внешний HTTPS)
-
FQDN финальной панели в домене hostkey.in¶
Панель доступна по следующему формату: fastpanel<Server ID>.hostkey.in
Структура файлов и директорий¶
При развертывании используются специфические директории для конфигурации, SSL-сертификатов и управления Nginx:
| Путь | Описание |
|---|---|
/root/nginx | Содержит Docker Compose файлы и данные оркестрации |
/data/nginx | Основная директория для конфигураций Nginx и переменных окружения |
/data/nginx/user_conf.d | Директория, содержащая файлы конфигурации Nginx для конкретных сайтов |
/data/nginx/letsencrypt | Webroot-директория для ACME-проверок Let's Encrypt |
Процесс установки приложения¶
Приложение устанавливается с помощью официального установочного скрипта FASTPANEL:
-
Обновляется кэш пакетов системы (через
aptилиyum). -
Утилита
wgetустанавливается, если она отсутствует. -
Установочный скрипт запускается командой:
Права доступа и безопасность¶
-
Управление пользователями: Для управления средой приложения создается системный пользователь с именем
fastuser. -
Безопасность паролей: Пароль для
fastuserавтоматически устанавливается во время установки с использованием безопасного хеша. -
Безопасность прокси: Nginx настроен как reverse proxy (обратный прокси), перенаправляющий трафик с порта 443 на внутренний сервис на порту 8888 с терминацией SSL и сохранением заголовков (X-Forwarded-For, X-Real-IP и т. д.).
Прокси-серверы¶
Развертывание использует контейнеризированный экземпляр Nginx в сочетании с Certbot для автоматизированного управления SSL.
-
Image:
jonasal/nginx-certbot:latest -
Управление SSL:
-
Используется Let's Encrypt через Certbot.
-
Автоматическое обновление настроено с интервалом
8d. -
Конфигурация использует метод webroot для ACME-проверок, расположенных в
/var/www/letsencrypt.
-
-
Конфигурация Nginx:
-
Двухэтапный процесс развертывания: сначала применяется конфигурация только для HTTP для облегчения прохождения ACME-проверки; затем, после получения сертификатов, применяется блок HTTPS.
-
Конфигурация прокси включает поддержку WebSockets (заголовки
UpgradeиConnection).
-
Docker-контейнеры и их развертывание¶
Nginx reverse proxy работает как Docker-контейнер со следующими характеристиками:
services:
nginx:
image: jonasal/nginx-certbot:latest
restart: unless-stopped
network_mode: host
env_file:
- /data/nginx/nginx-certbot.env
volumes:
- nginx_secrets:/etc/letsencrypt
- /data/nginx/user_conf.d:/etc/nginx/user_conf.d
- /data/nginx/letsencrypt:/var/www/letsencrypt
Расположение конфигурационных файлов и данных¶
Следующие файлы управляют рабочим состоянием прокси:
| Путь к файлу | Назначение |
|---|---|
/root/nginx/compose.yml | Файл оркестрации Docker Compose |
/data/nginx/nginx-certbot.env | Переменные окружения для контейнера Nginx (например, RENEWAL_INTERVAL) |
/data/nginx/user_conf.d/{domain}.conf | Специфические блоки server для домена в Nginx |
Доступные порты для подключения¶
Система использует следующие порты:
-
443: Внешний доступ по HTTPS через прокси Nginx.
-
80: Перенаправление HTTP на HTTPS и обработка ACME-проверок.
-
8888: Внутреннее взаимодействие сервисов (backend Fastpanel).