Files
homelab-docs/docs/containers/host-proxmox.md
Andrey 604f0c705f Update container documentation to reflect disk space adjustments and Docker log management
Expand the root disk size from 35 GB to 50 GB and implement log size limits for Docker containers. Add details about the new monitoring dashboard for homelab services, including deployment instructions and access URL. Ensure clarity on log rotation policies and risks associated with disk space usage.
2026-02-28 17:10:34 +03:00

7.7 KiB
Raw Permalink Blame History

Хост Proxmox (192.168.1.150)

Описание хоста Proxmox VE: скрипты, systemd-сервисы, пути и демоны. Контейнеры и ВМ описаны в отдельных статьях (container-100.md и т.д.).


Общие сведения

  • IP: 192.168.1.150/24
  • Доступ: ssh root@192.168.1.150
  • Роль: гипервизор (LXC + KVM), точка запуска бэкапов, деплой секретов в контейнеры

Диски

Устройство Тип Размер Использование
/dev/nvme0n1 NVMe 256 GB LVM (система, local-lvm)
/dev/sda HDD 2 TB ZFS
/dev/sdb SSD 2 TB ext4, /mnt/backup
/dev/sdc HDD 2 TB ZFS (RAID1 с sda)
/dev/sdd HDD 8 TB ext4 (внешний)

Каталог скриптов: /root/scripts/

Скрипты копируются из репозитория в /root/scripts/ на хосте.

Бэкапы (backup-*)

Скрипт Таймер Назначение
backup-vps-miran.sh 01:00 VPS Миран: БД бота, voice_users, S3
backup-ct101-pgdump.sh 01:15 Nextcloud PostgreSQL
backup-immich-photos.sh 01:30 rsync фото Immich с VM 200
backup-vps-mtproto.sh 01:45 Конфиги MTProto (VPS DE)
backup-etc-pve.sh 02:15 /etc/pve, interfaces, hosts, resolv.conf
backup-ct104-pgdump.sh 02:30 Paperless PostgreSQL
backup-vaultwarden-data.sh 02:45 Данные Vaultwarden
backup-ct103-gitea-pgdump.sh 03:00 Gitea PostgreSQL
backup-vm200-pgdump.sh 03:15 Immich PostgreSQL (SSH на VM 200)
backup-ct105-vectors.sh 03:30 Векторы RAG (vectors.npz)
backup-restic-yandex.sh 04:00 restic → Yandex (без photos)
backup-restic-yandex-photos.sh 04:10 restic → Yandex (только photos)

Дашборд мониторинга

Компонент Назначение
homelab-dashboard.service Дашборд homelab (хост, контейнеры, сервисы) на порту 19998
/root/scripts/dashboard/ Скрипты: dashboard-exporter.py, dashboard-server.py, index.html
deploy-dashboard.sh Деплой дашборда на хост
add-to-homepage.sh Добавить ссылку в Homepage (CT 103)

URL: http://192.168.1.150:19998

Мониторинг и уведомления

Скрипт Назначение
healthcheck-ping.sh Ping Healthchecks (04:35) — Dead man's switch
watchdog-timers.sh Проверка .ok файлов (12:00), алерт в Telegram при отсутствии
smartd-notify.sh Вызывается smartd при проблемах с дисками
notify-telegram.sh Общий шлюз уведомлений в Telegram
notify-vzdump-success.sh Уведомление после успешного vzdump (по systemd path)

Деплой (deploy-*)

Скрипты разворачивают секреты из Vaultwarden в контейнеры и на VPS:

Скрипт Куда
deploy-beget-credentials.sh CT 100 (certbot)
deploy-nextcloud-credentials.sh CT 101
deploy-gitea-credentials.sh CT 103
deploy-paperless-credentials.sh CT 104
deploy-rag-credentials.sh CT 105
deploy-invidious-credentials.sh CT 107
deploy-galene-credentials.sh CT 108
deploy-wireguard-credentials.sh CT 109
deploy-immich-credentials.sh VM 200
deploy-vpn-route-check.sh CT 100 (vpn-route-check)

Прочее

Скрипт Назначение
immich-pgdump-remote.sh Копируется на VM 200, вызывается backup-vm200-pgdump.sh по SSH
restore-one-vzdump-from-restic.sh Восстановление одного vzdump из Yandex
verify-restore-level1.sh, verify-vzdump-level2.sh Проверка восстановления
backup-setup-sdb1-mount.sh Монтирование /dev/sdb1 в /mnt/backup
setup-vps-miran-backup-on-proxmox.sh Настройка бэкапа VPS Миран на хосте
npm-add-proxy.sh, npm-add-proxy-vault.sh, npm-cert-cloud.sh Вспомогательные для NPM

Systemd: таймеры и сервисы

Unit-файлы лежат в репозитории в scripts/systemd/, на хосте — в /etc/systemd/system/.

Бэкапы (backup-*.timer)

Все бэкапы запускаются через systemd timers (cron не используется). Расписание: backup-howto.md.

После успешного выполнения сервис создаёт файл /var/run/backup-<name>.ok с timestamp.

Watchdog (backup-watchdog-timers.timer)

Ежедневно в 12:00 запускается watchdog-timers.sh: проверяет, что все .ok файлы свежие (не старше 24 ч). При отсутствии или устаревании — уведомление в Telegram.

Healthcheck ping (backup-healthcheck-ping.timer)

Ежедневно в 04:35 — ping в Healthchecks (Dead man's switch). Если бэкапы не прошли и ping не отправился, Healthchecks шлёт алерт.

Vzdump (notify-vzdump-success)

Задание vzdump настраивается в Proxmox UI. После успешного выполнения срабатывает path-юнит notify-vzdump-success.service → уведомление в Telegram.

Проверка восстановления (verify-*)

Таймеры для периодической проверки restic и vzdump: verify-restore-level1-*, verify-vzdump-level2.


Ключевые пути

Путь Назначение
/mnt/backup/ Локальные бэкапы (см. backup-howto)
/var/run/backup-*.ok Healthcheck-файлы для watchdog (timestamp последнего успешного запуска)
/root/.healthchecks.env URL и UUID для healthcheck-ping
/root/.bw-master Мастер-пароль Bitwarden CLI (chmod 600; для restic, pg_dump)
/root/.restic-yandex.env Переменные restic (репозиторий, ключи)
/etc/smartd.conf Конфигурация smartd
/etc/pve/ Конфиги Proxmox (бэкапятся в backup-etc-pve)

Демоны и сервисы

Сервис Назначение
smartd Мониторинг SMART дисков, при проблемах — smartd-notify.sh → Telegram
pveproxy, pvedaemon Proxmox API и веб-интерфейс
corosync, pve-cluster Кластер Proxmox (при одномузловой установке — локально)

Связанные документы