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

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

  1. Обновляется кэш пакетов системы (через apt или yum).

  2. Утилита wget устанавливается, если она отсутствует.

  3. Установочный скрипт запускается командой:

    wget http://repo.fastpanel.direct/install_fastpanel.sh -O - | bash -
    

Права доступа и безопасность

  • Управление пользователями: Для управления средой приложения создается системный пользователь с именем 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).

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