Обзор развертывания Proxmox на сервере¶
Предварительные требования¶
Для успешного развертывания системы необходимо соблюдение следующих условий:
-
Операционная система: Debian (поддерживаются версии Bullseye, Bookworm, Trixie).
-
Права доступа: Полные права администратора (root) для установки системных пакетов и изменения конфигурации загрузчика.
-
Сеть: Доступ к репозиториям Proxmox VE и официальным репозиториям Debian.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу управления используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | proxmox |
| Домен | hostkey.in |
| Полный шаблон | proxmox{Server_ID}.hostkey.in |
Процесс установки приложения¶
Развертывание Proxmox VE выполняется в несколько этапов и включает глубокую настройку системы:
-
Подготовка ОС: Обновление текущих пакетов системы, настройка параметров загрузчика GRUB для корректной работы с дисками (в частности
/dev/sda) и активация системных таймеровapt. -
Настройка репозиториев: Добавление официальных репозиториев Proxmox VE (версии без подписки) и соответствующих GPG-ключей для обеспечения безопасности загрузки пакетов.
-
Установка ядра: Удаление стандартного ядра Debian и установка специализированного ядра Proxmox (
pve-kernelилиproxmox-default-kernelв зависимости от версии ОС). -
Установка компонентов: Установка основного пакета
proxmox-ve, почтового сервераpostfixи клиентаopen-iscsi. Для систем на базе Debian Bookworm также устанавливается пакетchronyдля синхронизации времени. -
Настройка загрузчика: Обновление конфигурации 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 (доступен локально) |