Обзор развертывания Proxmox 9 на сервере¶
Предварительные требования и базовые условия¶
Среда развертывания требует операционную систему на базе Debian с определенными версиями выпуска. Для выполнения задач установки и конфигурирования система должна иметь привилегии суперпользователя (root). Поддерживаются следующие версии Debian:
-
Debian 11 (Bullseye)
-
Debian 12 (Bookworm)
-
Debian 13 (Trixie)
Сервер должен иметь возможность разрешать доменное имя и подключаться к домену hostkey.in. Процесс развертывания включает корректировки сетевой конфигурации, включая обновление имени хоста (hostname) и модификации файла /etc/hosts.
Конфигурация FQDN¶
Финальная панель управления приложением доступна через Fully Qualified Domain Name (FQDN, полностью квалифицированное доменное имя), структурированное в рамках домена hostkey.in. Формат FQDN следующий:
proxmox<Server ID>.hostkey.in:443
Где <Server ID> — уникальный идентификатор, присвоенный конкретному экземпляру сервера. Сервис работает через обратный прокси-сервер, который отображает внешний порт HTTPS 443 на внутренний порт Proxmox 8006.
Структура файлов и каталогов¶
В процессе развертывания создаются специфические каталоги, а файлы конфигурации размещаются в стандартных системных путях и пользовательских каталогах данных. Ключевые расположения включают:
-
Каталог конфигурации Nginx:
/root/nginx -
Файл Docker Compose:
/root/nginx/compose.yml -
Конфигурация пользователя:
/data/nginx/user_conf.d/proxmox<Server ID>.hostkey.in.conf -
Системные репозитории:
/etc/apt/sources.list.d/pve-install-repo.list -
Ключи GPG:
/etc/apt/trusted.gpg.d/proxmox-release-<debian_release>.gpg
Процесс установки приложения¶
Приложение Proxmox VE устанавливается напрямую на операционную систему хоста с использованием пакетного менеджера apt. Процесс включает добавление официального репозитория Proxmox VE, импорт соответствующего ключа GPG в зависимости от версии Debian и установку необходимых пакетов.
Для Debian 11 устанавливается пакет pve-kernel-5.15. Для Debian 12 и Debian 13 используется пакет proxmox-default-kernel. Основное приложение и зависимости устанавливаются через следующие пакеты:
-
proxmox-ve -
postfix -
open-iscsi -
chrony(на Debian 12)
В процессе установки стандартное ядро Debian удаляется для обеспечения использования ядра Proxmox в качестве ядра по умолчанию. После начальной установки ядра требуется перезагрузка системы для применения изменений.
Права доступа и безопасность¶
Доступ к интерфейсу Proxmox защищен через протокол HTTPS. Развертывание использует Nginx на базе Docker вместе с Certbot для управления SSL/TLS-сертификатами. Контейнер Nginx действует как обратный прокси-сервер, завершая SSL-соединения на стандартном порту HTTPS и пересылая трафик на внутренний порт Proxmox.
Управление межсетевым экраном (firewall) и доступом осуществляется через конфигурацию Nginx и сам сервис Docker. Сервис Nginx настроен на обработку внешних запросов на порту 443 и их пересылку на внутренний сервис, работающий на порту 8006.
Контейнеры Docker и их развертывание¶
Docker устанавливается на хосте для управления обратным прокси-сервером и обновлением SSL-сертификатов. Для оркестрации сервиса Nginx используется Docker Compose.
Контейнер Docker запускается с использованием образа jonasal/nginx-certbot:latest. Сервис настроен со следующими параметрами:
-
Образ:
jonasal/nginx-certbot:latest -
Политика перезапуска:
unless-stopped -
Режим сети:
host -
Монтирование томов:
-
nginx_secretsотображен на/etc/letsencrypt(внешний том) -
/data/nginx/user_conf.dотображен на/etc/nginx/user_conf.d
Файл сервиса Docker, расположенный по пути /lib/systemd/system/docker.service, обновляется в Debian 13 (Trixie) для обеспечения совместимости, после чего выполняется перезагрузка демона (daemon reload) и перезапуск сервиса.
Прокси-серверы¶
Система использует обратный прокси-сервер Nginx, работающий внутри контейнера Docker, для обработки завершения SSL-сессий и маршрутизации. Прокси-сервер настроен на принятие трафика для внешнего домена proxmox<Server ID>.hostkey.in и пересылку его на внутренний интерфейс Proxmox.
Конфигурация включает:
-
Email для Certbot:
hkadm@hostkey.com -
Внутренняя цель:
https://proxmox<Server ID>.hostkey.in:8006 -
Файл конфигурации:
/data/nginx/user_conf.d/proxmox<Server ID>.hostkey.in.conf
Конфигурация прокси-сервера явно задает директиву proxy_pass для маршрутизации запросов на внутренний сервис Proxmox на порт 8006.
Настройки прав доступа¶
Каталог конфигурации Nginx создается с определенным владением и правами доступа:
-
Путь:
/root/nginx -
Владелец:
root:root -
Маска прав:
0755
Файл Docker Compose создается со следующими правами:
-
Путь:
/root/nginx/compose.yml -
Владелец:
root:root -
Маска прав:
0644
Расположение файлов конфигурации и данных¶
Файлы конфигурации и данные распределены по системе следующим образом:
| Путь к файлу/каталогу | Описание |
|---|---|
/root/nginx/compose.yml | Определение Docker Compose для Nginx и Certbot |
/data/nginx/user_conf.d/proxmox<Server ID>.hostkey.in.conf | Конфигурация блока сервера Nginx |
/data/nginx/nginx-certbot.env | Переменные окружения для Certbot |
/etc/apt/sources.list.d/pve-install-repo.list | Источники репозитория Proxmox VE |
/etc/apt/trusted.gpg.d/proxmox-release-*.gpg | Ключи GPG для проверки пакетов |
/root/nginx | Базовый каталог конфигурации Docker для Nginx |
Доступные порты для подключения¶
В ходе развертывания открываются следующие конфигурации портов:
| Направление | Порт | Протокол | Описание |
|---|---|---|---|
| Внешнее | 443 | TCP | Доступ по HTTPS к интерфейсу Proxmox через Nginx |
| Внутреннее | 8006 | TCP | Прямой интерфейс управления Proxmox VE (за прокси) |
Запуск, остановка и обновление¶
Сервис Proxmox VE управляется как нативный системный сервис. Прокси-сервер Nginx управляется через Docker Compose.
Команды управления сервисами:
-
Запуск прокси-сервера Nginx:
-
Остановка прокси-сервера Nginx:
-
Перезапуск сервиса Docker:
-
Перезагрузка systemd:
Для обновления приложения используются стандартные команды apt для получения последних пакетов из репозитория Proxmox, за которым следует перезагрузка системы, если обновлены ядро или основные сервисы.