Идея моего домашнего self-hosted окружения - хочу критику и советы

Всем привет!

Сначала хочу сказать спасибо уважаемому @admin за ресурс, видео и труд - именно он вдохновил меня на запуск всего этого.

Долго экспериментировал на тестовых стендах и наконец решил собрать полноценную домашнюю self-hosted инфраструктуру. Хочу поделиться тем, как вижу свою архитектуру - буду рад советам и критике. Возможно, где-то я делаю лишние шаги или что-то упускаю. В будущем планирую вести эту тему как журнал.

Зачем всё это?

Хочу поднять свои собственные сервисы и максимально уйти от внешних подписок, облаков и ограничений. Плюс это просто интересно и, как мне кажется, будет полезно тем, кто не хочет тратить много времени на свою инфраструктуру, но при этом хочет автономности.

База - Proxmox VE 9.

На старте планирую развернуть следующие ключевые элементы:

  1. Личное облако для хранения и синхронизации файлов - планирую Nextcloud в отдельной VM.

  2. Dockeр-среда - Portainer в отдельной VM, чтобы изолировать докер-контейнеры.

  3. Реверс-прокси - Nginx Proxy Manager в LXC контейнере.

  4. Менеджер паролей - Vaultwarden в LXC контейнере.

  5. Time Machine хранилище - пока уточняю, как лучше реализовать на текущей платформе с одним SSD.

  6. Дашборд - выбираю между Homer / Heimdall / Dashy, место и тип запуска пока уточняются.

  7. Среда для VM и LXC контейнеров - сама роль Proxmox.

Понимаю, что «тру» подход - всё через консоль, но сейчас не хочу тратить много времени на рутину, поэтому предпочитаю варианты с удобным GUI.

Железо и сеть

Сейчас всё работает на Dell Latitude 5410
(i5-10310U, 16 GB RAM, SSD 512 GB) - временная платформа с одним диском.

Задача - на ней обкатать сервисы и архитектуру, чтобы затем перейти на полноценный домашний сервер с несколькими дисками и ZFS.

Сетевые особенности:

  • доступ извне - только через VPN,

  • доступ к сервисам - через reverse-proxy (локально ограничивать не планирую),

  • сеть - гигабитный LAN + Wi-Fi 6.

Программная часть

Планируемые сервисы:

  • Nextcloud - VM

  • Portainer - отдельная VM

  • Nginx Proxy Manager - LXC

  • Vaultwarden - LXC

  • Time Machine - уточняю реализацию

  • Dashboard - уточняю сервис и формат развертывания

  • Дополнительные сервисы по мере необходимости

Вопросы, которые пока неясны:

1. Бэкапы

  • Как правильно организовать резервное копирование единственного диска в облако? (rsync → S3 / rclone → Яндекс.Диск и др.)

  • Как лучше бэкапить VM и LXC при одном физическом SSD?

  • Какие легковесные варианты выбрать, чтобы не нагружать систему?

2. Мониторинг

  • Нужен ли вообще отдельный мониторинг Proxmox?

  • Если нужен - какой минимальный набор поставить, чтобы не перегрузить SSD и CPU?
    (например: только node-exporter, или ограничиться встроенным мониторингом Proxmox?)

  • Возможно какой-то базовый сервис с алертами и логами?

3. Развёртывание новых сервисов

  • Всё заворачивать в одну VM с Portainer - удобно, но единая точка отказа.

  • Разносить сервисы по LXC/VM - гибче, но тяжелее для одного SSD и 16 ГБ RAM.

  • Как лучше балансировать изоляцию и экономию ресурсов?

4. Альтернативы Proxmox

  • Есть ли смысл смотреть в сторону ZimaOS / Unraid / TrueNAS SCALE как альтернатив к Proxmox?

5. Защита физической машины

  • Каким образом защитить физическую машину?

  • Каким образом защитить диски от съема информации? Шифрование?

Что было бы полезно уточнить:

  1. Насколько жизнеспособна такая архитектура на временной платформе с одним SSD?

  2. Какие слабые места могут проявиться?

  3. Что лучше упростить или изменить на старте, пока ресурсов мало?

  4. С какими подводными камнями сталкивались в схожих сетапах?

  5. Какие сервисы стоит добавить для удобства и надёжности, не перегружая систему?

Буду рад любому фидбеку - опыту, критике, рекомендациям :slightly_smiling_face:

3 лайка

На здоровье и добро пожаловать в сообщество.

Да бростье Вы =) Это стереотипы, все в нашей с Вами голове.
Тру подход это пакеты из магазина носить, а не доставкой пользоваться (с) Шутка
Делайте так, как Вам удобнее.

В целом - все Вами описаное, выглядит как вполне жизнеспособная система.
Вы уже сильно увереннее рассуждаете, что совсем новичок, уже про zfs знаете.
Пробуйте, изучайте, все будет нормально.
Главное - не забывайте, бекап - всему голова =)

Я бы рекомендовал Вам познакомиться с PBS
Как бы странно это не звучало, но я считаю далеко не самы плохим вариантом - создать VM PBS, будь то с размещением на сетевом хранилище или внешнем диске.
И туда бекапировать все ваши контейнеры\vm

  • удобный gui
  • нативная интеграция с Proxmox
  • дедупликация\инкрементальность бекапов(т.е. вы не каждый раз бекапирете 100% исходных данных, а только то, что изменилось, сохраняя версионность и при этом не тратя пространство)

вот по памяти - хороший ролик про этом.

2 лайка

толь лучше не VM, а LXC - результат будет намного лучше

Легковесные есть только для файлов: borg, restic, rsync
Для контейнеров/виртуалок целиком самым оптимальным будет PBS
Но если ставить PBS, то он легко принимает и файлы (вот мой скрипт), работает не хуже borg

Тут обсуждались beszel и Pulse

Это очень сложный и холиварный вопрос несколько раз поднимался на форуме, рекомендую полистать темы, например раз и два

Есть и такой подход, причем, в Proxmox ставиться portainer и дальше все по накатанной, но гибкости PVE тут уже не будет и лично у меня возникали вопросы с бэкапированием этого стека
но, TrueNAS можно использовать и как timemachine

С другой стороны, PVE позволит легко мигрировать на целевую платформу, вплоть без даунтайма

Ну ZFS умеет шифрование, шифровать можно и сам диск, но надо вводить пароль при старте + тут сталкивались с тем, что надо менять порядок запуска сервисаов

Зависит от SSD и его объема, может быть есть смысл не разворачивать прям все, а сделать пока MVP

Аналогично предыдущему пункту, я однозначно за MVP
-Nextcloud съест 8 ГБ оперативки, остальное описанное еще 2-4, так, что прям в притык

  • 512 SSD, для контейнеров этого нормально, у меня столько на слабеньких N100/150 нодах, но для пользоватеьских файлов уже маловато будет, тот хе nextcloud будет нехило так кушать + еще бэкапирование

Не диска, а файлов на нем, да хоть как описали

Еще можно почитать

2 лайка

Спасибо за ответ!

ну попробую развернуть его на хосте с VE, а данные класть на внешний SSD.

поковыряем, спасибо

да это скорее легкая ирония)

спасибо за совет - возьму Proxmox VE Helper-Scripts как основу

берем значит PBS, за скрипт респект

заберем, посмотрим. пока pulse выглядит поинтереснее

изучим

ну truenas для бэкапов кажется избыточным. мб есть какое-то более легковесное решение чисто для smb шары. хочется что-то готовое, но за неимением лучшего может будет lxc просто, на которой подниму smb

звучит, что вариантов, как будто нет простых.

а так, пока подниму MVP, поделюсь успехами)

Как расшифровывается MVP ?

MVP — Minimum Viable Product (минимально жизнеспособный продукт) в IT и бизнесе, то есть тестовую версию продукта с минимумом функций для быстрой проверки гипотезы.

TrueNAS не для бэкапов, а хранилище, в контексте бэкапирования я писал про то, что приложения, развернутые в TrueNAS непонятно как бэкапировать, там вроде есть штатные средства ZFS, но как это использовать полноценно я не понял.

В PVE с этим проще – создал бэкап контейнера целиком и с этим уже можно работать + при использовании дедупликации PBS неплохо так оптимизирует место, у меня фактор дедупликации держался в районе 12, сейчас должен больше быть. При этом для виртуалок у меня следующие параметры хранения

1 лайк

имелось в виду для бэкапов TimeMachine)
не по-человечески написал

за параметры бэкапирования респект

Ну мне кажется, что с текущей конфигурацией TM можно отложить, я на старом сервере сервис и настраивал бэкапирование макбука и он у меня занимал 300-400ГБ при 128ГБ макбуке, при том, что у меня там было 2ТБ на все, не только на бэкапы.

В новой лабе уже побольше места, думал попробовать поиграться с TM

я скорее с целью протестировать целевое решение, а не для реальных бэкапов.

цель сейчас этого MVP определить стоит ли игра свеч и какие сайзинги и в целом решения применять, не более того.

вот сейчас думаю над тем, какие диски сделать в NextCloud. как-будто на текущем этапе сделать всё на одном и забить)

А зачем их бэкапить? В приложении же самое главное данные. А данные там можно хранить на zfs, причём можно настроить отдельный dataset со своими алгоритмом сжатия или же вообще без сжатия и настройками создания снэпшотов.

приветствую. тут пока затык)
как лучше подцепить внешний usb для бэкапов, подскажете?

Proxmox не принципиально, каким способом Вы диск подключили.
Он у Вас появится в дисках.
Дальше все ровно, как и не с usb.
Создаете, что Вам нужно


В Datacenter\Storage если нужно создаете хранилище

Далее LXC PBS бекап делаете в это хранилище.

И вот у Вас есть на usb хранилище, которое можно к любому Proxmox подлючить.
А с него уже восстановить LXC PBS, а внутри живут все ваши бекапы машин.

Слов много, звучит страшнее, чем в ресльности.
Пробуйте, тыкайте, быстро поймете.

сейчас потыкаем, спасибо)
сила привычки к ESXi не дает иногда быстро перестроится)

Ну к примеру, у меня есть immich, он состоит из

  1. Конфигурации приложения, его конфигов, переменных окружения с секретами
  2. Базы данных с метаданными и пользователями
  3. Собственно, самих фоток на диске

Собственно, если я что-то сломаю в админке Immich, то как я могу откатить настройки назад?

В интерфейсе есть rollback, но я так понял, что это работает только в рамках обновления версии приложения из магазина и нормально работает только с магазинными приложениями, а не с кастомными

1 лайк

Ну у меня где-то настройки хранятся в этом же датасете, к примеру в Nextcloud и по крону делаются ежедневные снэпшоты, а где-то я отдельный датасет сделал под настройки и соответсвенно отдельно делаю снэпшот. Сколько раз я откатывал снэпшот когда неправильно обновлял nextcloud) Учитывая что у меня только данные (папка data) были смонтированы как mount point, а всё остальное на lxc. И блин несколько раз я стирал все данные с mp под чистую случайно. В первый раз я такую кучу наложил… А сейчас делаю снэпшот и лишь потом начинаю обновлять)

Всем привет!

Процесс был настолько увлекательным, что я только-только заканчиваю с развертыванием и описанием всего этого великолепия - будет отдельный пост на эту тему.

Однако уже хочется развивать это дело дальше, для чего хочется что-то поприличнее старого ноута.

Пока мой фаворит Aoostar WTR Pro на Ryzen, но возможно у сообщества есть другие кандидаты?

Тут в первую очередь надо определить бюджет, потом определить нужен готовый или самосборник. Aoostar WTR Pro шикарен, так же как и Minisforum N5 Pro. Я бы взял второй так как он мощнее. Если брать самосборник, то тут всё можно сделать ещё круче. Всё только будет упираться в бюджет

Спасибо за ответ.

Да тут бюджет понятие относительное - хочется поменьше, так как задач не особо много.

А чем MINISFORUM N5 AI NAS отличается от AOOSTAR WTR PRO 5825U? Концептуально вроде бы не особо) Да там помощнее железо, да поновее процессор, но концептуально?

Основное желание - компактный корпус с корзинами под HDD. Все в одном и без жесткого оверпрайса.

все пишут что достаточно шумные агрегаты - и проц греется без хорошего охлада будет как самолёт