Обзор развертывания Proxmox Backup Server на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания системы необходимо наличие сервера с операционной системой Debian 12 (Bookworm). Требуется наличие прав суперпользователя (root) для выполнения всех операций установки и конфигурации.
Система требует доступа к интернету для загрузки пакетов, ключей репозиториев и сертификатов безопасности. Необходимо обеспечить доступность следующих портов: - Порт 80 и 443 для веб-интерфейса и получения SSL-сертификатов. - Порт 8007 для внутреннего проксирования запросов к приложению.
Структура файлов и каталогов¶
Конфигурационные файлы и данные приложения размещаются в следующих директориях: - /etc/apt/sources.list — основной список репозиториев пакетов. - /etc/apt/sources.list.d/pbs-enterprise.list — файл репозитория Proxmox (комментирован). - /etc/apt/sources.list.d/pbs-no-subscription.list — файл репозитория Proxmox без подписки. - /root/nginx/ — каталог для конфигурации прокси-сервера и скриптов запуска. - /root/nginx/compose.yml — файл конфигурации Docker Compose для прокси-сервера. - /data/nginx/user_conf.d/ — каталог с пользовательскими конфигурациями Nginx. - /data/nginx/nginx-certbot.env — файл переменных окружения для Certbot. - /etc/letsencrypt/ — каталог для хранения SSL-сертификатов (подключается как том).
Процесс установки приложения¶
Установка программного обеспечения выполняется через пакетный менеджер apt. Процесс включает следующие этапы:
- Обновление кэша пакетов и обновление системы до последней версии дистрибутива.
- Установка необходимых утилит:
curl,wget,ca-certificates,gnupg. - Отключение репозитория Proxmox Enterprise путем комментирования всех строк в файле
/etc/apt/sources.list.d/pbs-enterprise.list. - Добавление репозиториев
contribиnon-free-firmwareв файл/etc/apt/sources.listдля поддержки проприетарных драйверов. - Импорт ключа подписи репозитория Proxmox Backup Server.
- Добавление репозитория Proxmox Backup Server (версия без подписки) в систему.
- Установка мета-пакета
proxmox-backup-serverпоследней доступной версии. - Установка модулей ядра для поддержки файловой системы ZFS:
zfs-dkmsиlinux-headers-amd64.
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-интерфейса с поддержкой HTTPS используется контейнеризация прокси-сервера.
Установка Docker выполняется через роль docker-managed-install. После установки Docker создается каталог /root/nginx с правами доступа 0755 для пользователя root.
Конфигурация контейнеров описывается в файле /root/nginx/compose.yml. Запуск контейнеров осуществляется командой:
Команда выполняется из директории /root/nginx. Контейнер nginx использует образ jonasal/nginx-certbot:latest и запускается в режиме сети host.
Конфигурация контейнера включает: - Переменную окружения CERTBOT_EMAIL со значением hkadm@hostkey.com. - Файл переменных окружения /data/nginx/nginx-certbot.env. - Подключение внешнего тома nginx_secrets в директорию /etc/letsencrypt для хранения сертификатов. - Подключение локальной директории /data/nginx/user_conf.d в /etc/nginx/user_conf.d для пользовательских конфигов.
Прокси серверы¶
Прокси-сервер Nginx настраивается для перенаправления трафика на локальный порт 8007.
В конфигурационный файл, расположенный по пути /data/nginx/user_conf.d/<prefix><server_id>.hostkey.in.conf, в блок location / добавляется директива:
Любые предыдущие строки с директивой proxy_pass в этом блоке удаляются перед добавлением новой.
Сертификаты безопасности генерируются и обновляются автоматически с помощью Certbot, работающего внутри контейнера Nginx.
Запуск, остановка и обновление¶
Сервис Proxmox Backup Server управляется через системный менеджер systemd.
После установки сервис автоматически запускается и добавляется в автозагрузку. Для управления сервисом используются следующие команды:
Запуск сервиса:
Остановка сервиса:
Перезапуск сервиса:
Проверка статуса сервиса:
Для обновления конфигурации прокси-сервера и контейнеров используется команда docker compose up -d в директории /root/nginx.