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

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

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

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

  • Операционная система: Debian (поддерживаются версии Bullseye, Bookworm, Trixie).

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

  • Сеть: Доступ к репозиториям Proxmox VE и официальным репозиториям Debian.

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

Для доступа к интерфейсу управления используется следующий шаблон доменного имени:

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

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

Развертывание Proxmox VE выполняется в несколько этапов и включает глубокую настройку системы:

  1. Подготовка ОС: Обновление текущих пакетов системы, настройка параметров загрузчика GRUB для корректной работы с дисками (в частности /dev/sda) и активация системных таймеров apt.

  2. Настройка репозиториев: Добавление официальных репозиториев Proxmox VE (версии без подписки) и соответствующих GPG-ключей для обеспечения безопасности загрузки пакетов.

  3. Установка ядра: Удаление стандартного ядра Debian и установка специализированного ядра Proxmox (pve-kernel или proxmox-default-kernel в зависимости от версии ОС).

  4. Установка компонентов: Установка основного пакета proxmox-ve, почтового сервера postfix и клиента open-iscsi. Для систем на базе Debian Bookworm также устанавливается пакет chrony для синхронизации времени.

  5. Настройка загрузчика: Обновление конфигурации GRUB и удаление пакета os-prober для предотвращения конфликтов при загрузке.

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

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

Контейнер Nginx с Certbot

  • Имя образа: jonasal/nginx-certbot:latest

  • Порты: Использует сетевой режим host.

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt — для хранения SSL-сертификатов.

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d — пользовательские конфигурации Nginx.

  • /data/nginx/letsencrypt:/var/www/letsencrypt — для прохождения проверки ACME (Certbot).

  • Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com, а также параметры из файла /data/nginx/nginx-certbot.env.

  • Политика перезапуска: unless-stopped.

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

В процессе развертывания выполняются автоматизированные действия по настройке веб-сервера:

  • Генерация конфигурации Nginx: Автоматическое создание файла конфигурации в /root/nginx/compose.yml на основе системных параметров.

  • Патчинг конфигурации (Python script): Скрипт динамически модифицирует файлы конфигурации Nginx для обеспечения следующих функций:

  • Добавление блока location ^~ /.well-known/acme-challenge/ для корректной работы Certbot.

  • Настройка проксирования трафика на внутренний порт Proxmox (https://127.0.0.1:8006).

  • Включение параметров proxy_ssl_server_name on; и отключение проверки сертификата proxy_ssl_verify off; для корректного взаимодействия с самоподписанным SSL-сертификатом Proxmox.

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

  • Конфигурация Nginx (пользовательская): /data/nginx/user_conf.d/{prefix}{server_id}.hostkey.in.conf

  • Данные Certbot (вебрут): /data/nginx/letsencrypt/.well-known/acme-challenge

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

  • Файл конфигурации Docker Compose: /root/nginx/compose.yml

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

Порт Протокол Назначение
443 HTTPS Внешний доступ к панели управления Proxmox через Nginx
8006 HTTPS Внутренний порт управления Proxmox (доступен локально)
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×