Обзор развертывания Proxmox на сервере¶
Предварительные требования¶
Для корректной работы системы должны быть соблюдены следующие условия:
-
Операционная система: Debian (поддерживаются версии Bullseye, Bookworm, Trixie).
-
Права доступа: права суперпользователя (
root) для установки пакетов и изменения системных конфигураций. -
Сетевые параметры: доступ к репозиториям Proxmox VE и наличие работающего интернет-соединения для получения SSL-сертификатов.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к веб-интерфейсу используется автоматическая генерация поддомена по следующему шаблону:
| Параметр | Значение |
|---|---|
| Префикс | proxmox |
| Домен | hostkey.in |
| Полный шаблон | proxmox{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
В процессе развертывания создаются следующие директории и файлы:
-
/root/nginx/— рабочая директория для Docker Compose конфигурации Nginx. -
/data/nginx/user_conf.d/— директория для пользовательских конфигурационных файлов Nginx (включая настройки проксирования). -
/data/nginx/letsencrypt/.well-known/acme-challenge/— директория для проверки владения доменом при получении SSL-сертификатов. -
/data/nginx/— хранилище конфигурационных файлов и переменных окружения для Nginx.
Процесс установки приложения¶
Установка выполняется путем модификации текущей ОС Debian в полноценный гипервизор Proxmox VE:
-
Обновление системных пакетов
APT. -
Добавление официальных репозиториев Proxmox VE (no-subscription).
-
Установка ядра Proxmox (
pve-kernelилиproxmox-default-kernelв зависимости от версии Debian). -
Удаление стандартного ядра Debian для предотвращения конфликтов загрузки.
-
Установка пакета
proxmox-ve, а также вспомогательных сервисов (postfix,open-iscsi). -
Настройка автоматического обновления сертификатов через Docker-контейнер Nginx с использованием Certbot.
Права доступа и безопасность¶
-
Использование
os-proberудалено для повышения безопасности загрузчика. -
Конфигурационные файлы в
/data/nginx/user_conf.d/управляются системой автоматизации. -
Для работы Docker используется специализированный сервис с параметром
Delegate=yes, что позволяет контейнерам корректно использовать cgroups.
Базы данных¶
В данной конфигурации базы данных не развертываются; приложение использует системные ресурсы сервера для управления виртуализацией.
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-интерфейса через защищенное соединение (HTTPS) используется контейнер Nginx с интегрированным Certbot.
Контейнер: nginx-nginx-1
-
Имя образа:
jonasal/nginx-certbot:latest -
Сетевой режим:
host -
Тома (
volumes):-
nginx_secrets:/etc/letsencrypt(внешний том с сертификатами) -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d(пользовательские конфиги) -
/data/nginx/letsencrypt:/var/www/letsencrypt(для ACME-вызовов)
-
-
Переменные окружения:
CERTBOT_EMAIL=hkadm@hostkey.com
-
Файл переменных:
/data/nginx/nginx-certbot.env(включает параметрRENEWAL_INTERVAL=8d) -
Политика перезапуска:
unless-stopped
Инструкция по обновлению приложения¶
Обновление выполняется через стандартные механизмы управления пакетами системы и Docker:
-
Для системных компонентов: выполнение команд обновления репозиториев и пакетов.
-
Для веб-прокси: обновление контейнеров командой
docker compose pull && docker compose up -dв директории/root/nginx.
Настройки прав¶
-
Директория
/root/nginxимеет права0755(владелецroot). -
Файлы конфигурации и переменные окружения имеют права
0644(владелецroot).
Расположение конфигурационных файлов и данных¶
-
Конфигурация Nginx:
/data/nginx/user_conf.d/{prefix}{server_id}.hostkey.in.conf -
Переменные окружения Certbot:
/data/nginx/nginx-certbot.env -
Docker Compose файл:
/root/nginx/compose.yml
Доступные порты для подключения¶
| Порт | Протокол | Назначение |
|---|---|---|
443 | HTTPS | Внешний доступ к веб-интерфейсу Proxmox через прокси |
8006 | HTTPS | Внутренний порт управления Proxmox (локально) |