Обзор развертывания FastPanel на сервере¶
Предварительные требования¶
Для успешного развертывания приложения необходимо наличие следующих условий:
-
Операционная система: Debian или RHEL (Red Hat Enterprise Linux) и совместимые дистрибутивы.
-
Права доступа: доступ к серверу с правами
rootили возможность выполнения команд черезsudo. -
Сетевые требования: открытые порты для входящего трафика, в частности порт
443для внешнего доступа. -
Доступ к интернету: для загрузки установочного скрипта и компонентов.
FQDN итоговой панели¶
Панель управления доступна по следующему адресу:
fastpanel<ID сервера>.hostkey.in:443
Где <ID сервера> — это уникальный идентификатор сервера, который подставляется в префикс адреса.
Процесс установки приложения¶
Установка приложения выполняется с помощью официального скрипта от разработчика. Процесс различается в зависимости от дистрибутива операционной системы.
Для систем на базе Debian:
-
Обновляется кэш пакетов.
-
Устанавливается утилита
wget. -
Скачивается и выполняется скрипт
install_fastpanel.shс репозиторияhttp://repo.fastpanel.direct. -
Команда установки:
Для систем на базе RHEL:
-
Устанавливается утилита
wget. -
Скрипт
install_fastpanel.shскачивается в директорию/root. -
Скрипту присваиваются права на выполнение.
-
Выполняется скрипт установки.
-
После завершения установки файл скрипта удаляется.
-
Команда установки:
После установки пароля пользователя fastuser изменяется на заданное значение.
Контейнеры Docker и их запуск¶
Приложение использует контейнеризацию для работы веб-сервера и управления SSL-сертификатами. Конфигурация контейнеров описана в файле compose.yml.
Используемый образ контейнера:
jonasal/nginx-certbot:latest
Параметры запуска контейнера nginx:
-
Режим перезапуска:
unless-stopped. -
Режим сети:
host. -
Переменная окружения для email:
CERTBOT_EMAIL=hkadm@hostkey.com. -
Файл переменных окружения:
/data/nginx/nginx-certbot.env. -
Привязка тома для секретов Let's Encrypt:
nginx_secretsмонтируется в/etc/letsencrypt. -
Привязка тома для пользовательских конфигураций Nginx:
/data/nginx/user_conf.dмонтируется в/etc/nginx/user_conf.d. -
Дополнительный хост:
host.docker.internalмаппится наhost-gateway.
Прокси серверы¶
В качестве прокси-сервера используется контейнер Nginx с поддержкой Certbot для автоматического получения и обновления SSL-сертификатов.
Настройки прокси-сервера:
-
Домен зоны:
hostkey.in. -
Префикс поддомена:
fastpanel. -
Внутренний порт приложения:
8888. -
Внешний порт для доступа:
443. -
Внутренний путь:
/. -
Внешний путь:
/.
Сертификаты хранятся в томе nginx_secrets, который является внешним и монтируется в директорию /etc/letsencrypt внутри контейнера.
Расположение конфигурационных файлов и данных¶
Основные директории и файлы конфигурации расположены в следующих местах:
| Путь к файлу или директории | Описание |
|---|---|
/data/nginx/nginx-certbot.env | Файл переменных окружения для контейнера Nginx |
/data/nginx/user_conf.d | Директория для пользовательских конфигураций Nginx |
/etc/letsencrypt | Директория для хранения SSL-сертификатов (внутри контейнера) |
/root/install_fastpanel.sh | Временное расположение установочного скрипта (удаляется после установки) |
Доступные порты для подключения¶
Для работы приложения и доступа к панели управления используются следующие порты:
| Порт | Протокол | Назначение |
|---|---|---|
8888 | TCP | Внутренний порт приложения FastPanel |
443 | TCP | Внешний порт для HTTPS-доступа к панели |
Права доступа и безопасность¶
После установки создается пользователь fastuser, пароль которого устанавливается в процессе развертывания.
Для обеспечения безопасности:
-
Контейнер Nginx работает в режиме
host, что требует осторожности при настройке брандмауэра. -
Доступ к панели осуществляется только по защищенному протоколу HTTPS через порт
443. -
Конфигурация контейнера включает автоматическое обновление сертификатов через Certbot.