# General Action ## HomeLab AI анализ: > [!note]- ai prompt > Роль: девопс инженер, эксперт в области linux и сетевой инфраструктуры HomeLab. > Задача: проанализировать общую идею, текущую аппаратную и программную конфигурацию, сервисы и основные аспекты. В случае необходимости подели на подзадачи. Задавай уточняющие вопросы и найди узкие места в архитектуре. В случае спорных вариантов предложи альтернативное решение, для построения надежного HomeLab сервера. > > Общая идея: построение надежного HomeLab сервера для домашнего использования, с целью совершенствования навыков сетевого инженера. Изучение linux и клиент-серверной архитектуры, внутренних сервисов, архитектуры сетей, работа с LXC и docker контейнерами. Косвенно, при построении я получаю полезные сервисы, которые можно использовать дома и при отладки своих своих внутренних Pet проектов. Возможность подключения к своему серверу из любой точки мира, где есть интернет > > Аппаратная конфигурация: > 1. Роутер keenetic giga kn1011. > 2. Server PC - NUC на i3-8109U CPU с 16GB DDR. > 3. NAS - OpenmediaVault с RAID1 8TB на Intel(R) Celeron(R) CPU 1037U @ 1.80GHz с 4GB DDR. > 4. NAS - WD MyBook (его будем исключать из системы после полного перехода на NAS OMV) > > Соединение PC-роутер LAN1. NAS - роутер LAN2. Роутер имеет статический, "белый" IP. > Программная конфигурация Server и используемые сервисы: > 1. Poroxmox Virtual Environment 9.1.9 который имеет следующую конфигурацию: > 1. HomeAssistant OS в VM > 1. Управляет сценариями умного дома (скрипты автоматизации, zigbee устройства и тд) > 2. LXC - Gitea > 1. Основной домашний репозиторий для pet проектов и wiki obsidian > 3. LXC - adguard > 1. Использовался долгое время, как основной DNS сервер, фильтруя трафик, пока я не задумал устанвить NginxProxyserver, на время экспериментов adguard остановлен. > 4. LXC - debian > 1. предусмотрен как контейнер с ОС debian для отработки различных сценариев внутри ОС, там установлен VPN Xray vless, с панелью 3x-ui. ВПН пока не используется > 5. LXC - homepage > 1. Основная web страница HomeLab, для удобства доступа к ресурсам > 6. LXC - docker включающие следующие образы: > 1. задумывался как отдельный LXC контейнер для отработки навыков взаимодействия с docker (установка,запуск,настройка образов). Сейчас там установлены следующие images: homelable - визуализация сетевой инфраструктуры (пощупал, но пока не настроил. планирую вернуться к этому) drawio - как собственный ресурс. Практически не используется,нужен ли? и qbittorren - используется для закачки torrent образов > > 7. LXC - nginxproxymanager > 1. Пока не используется > 8. LXC - jellyfin. > 1. Стриминговый медиасервер для музыки, фильмов и сериалов используется в связке с qbittorrent докер образом, который развернут в LXC docker > 2. Все LXС контейнеры имеют тип Unprivileged. > 3. > 4. В Proxmox VE прокинута SMB Public папка c NAS WD, с автомонтированием папки mnt/share в fstab. Каталог mnt/share подключен к следующим LXC (docker и jellyfin) В docker контейнере она используется как рабочий каталог для qBittorrent. Jellyfin использует ее как медиатеку с фильмами и музыкой. Так же к NUC подключен Sonoff USB - ZigBee dongle который проброшен в VM HomeAssistan. SSH доступ к Proxmox: вход по паролю - запрещен, прописаны rsa25595 ключи, стандартный порт изменен. > > > > Основные аспекты: 1. Для доступа из внешнего мира в роутере переадресация портов: Проброшены TCP/UDP порты к UI Proxmox VE, HomeAssistant VM, Gitea и Jellyfin LXC. 2 В роутере разделение на VLAN и подсети не настроено. Роутер имеет возможность настройки системы доменных для использования сервисов. 3 NAS планирую менять на что-то более надежное с возможностью RAID-1. Резервное копирование пока не настроено. OpenMediaVault - настройка сервиса HomeLab. Я только собрал NAS на с RAID1 8TB на Intel(R) Celeron(R) CPU 1037U @ 1.80GHz с 4GB DDR. Создал Multiple Device подготовил File Systems включил SMB CIFTS сервис и подключил папку как сетевой диск. Давай подробно разберем что нужно сделать при первоначальной настройке OMV пройдемся по шагам. Определим необходимые для меня сервисы, которые я пл Улучшения: 1. Перенести Gitea на OMV  - [ ] 1. **Backup**. Настроить резервное копирование через PBS (на внешний диск или NAS?) 1. [ ] Backup - Telegram 2. [x] OMV - Backup на внешний диск 3. [x] NAS - отключить бэкапы с внешнего HDD 1. [x] Backup - настроить расписание снятие Snapshot (раз в неделю) на NAS 2. [x] Backup - синхронизация важных папок (Gitea, HomeAssistant) 3. [x] Backup - Garbage Collection. Настроить автоматическую очистку диска 4. [x] Backup - Prune. Настроить автоматическое удаление старых копий 2. **Security**. Безопасность 1. [ ] Заменить прямой проброс портов на WireGuard 2. [ ] ИЛИ использовать LXC NginxProxyManager как реверс-прокси с SSL и ограничением доступа по IP через авторизацию 1. [ ] Разобраться с SSL сертификатом 3. [ ] SSL сертификат для Proxmox - [ ] Нужна регистрация на хостинге (каком) - [ ] Нужен Nginx ? 4. [ ] Обратный прокси Traefik в LXC контейнер как systemd unit (LXC позволяет изолировать трафик от ОС) 5. [ ] Сегментация сети VLAN 1. [ ] VLAN10 - сервера, NUC, NAS 2. [ ] VLAN20 - IoT устройства 3. [ ] VLAN30 - Гостевая (обычная сеть) 4. [ ] firewall - настройка межсетевого экрана 6. [ ] Fail2ban - установка (нужна ли) 3. **Services** 1. [ ] Внедрение мониторинга 1. [ ] Netdata -  метрики в реальном времени и оповещения в Telegram. Или разверните **Prometheus + Grafana** (но это ресурсоемко). 2. [ ] Zabbix - cсистема мониторинга? - [ ] **Software**: - [ ] HomeLab - перевести на систему доменных имен от Netcrazy ??? - [ ] Медиа серверы: - [x] Jellyfin - установить - [x] Jellyfin - настроить SMB Share (NAS) + FSTAB (Youtube пример [настройки](https://www.youtube.com/watch?v=nmxj0A_1ZDo))) - [x] Jellyfin - kinopoisk добавить ([ссылка на github]()) - [ ] Jellyfin - добавить онлайн радио ([m3u плейлисты на github](https://github.com/junguler/m3u-radio-music-playlists)) - [ ] Jellyfin - добавить в HomePage - [ ] Jellyfin - настроить ssh подключение (по ключу) + добавить в конфиг - [ ] jellyseerr - подумать об использовании - [ ] Kavita - управление и чтение книгами - [ ] qBittorrent - [ ] переезд на NAS в OpenMediaVault - [x] Установить. Настроить - [ ] Вопрос с отдачей ?? - [x] Прокинуть SMB папку для закачек - [x] - [ ] Разобраться с маршрутизацией VPN на роутере - не получается - [ ] Директории Linux - изучить - [ ] **Hardware**: - [x] Rack - спроектировать кронштейн для NAS - [ ] Rack - определиться с местом - [x] NAS - подумать о использовании SSD - [ ] Подобрать что-то готовое? ## Development - [ ] Buildroot: - [ ] ## Music - The Eagles - Hotel California - #### Services - [ ] `vaultwarden` - сервис хранения паролей (установить) или выбрать другой - [ ] `traefik` - обратный прокси - [ ] [Введение в Traefic](https://habr.com/ru/articles/508636/) - [ ] `homepage` - настроить (https://gethomepage.dev/) - [ ] https://gethomepage.dev/widgets/services/booklore/ - [ ] https://www.youtube.com/watch?v=X6Aw666tA0s - [ ] `Homelable` - визуализация сетевой инфраструктуры (Zabbix) - [x] Установить в Docker - [x] Разобраться с сетью - [ ] Нормально оформить - [ ] `AdGuard` донастроить - [ ] `Immich` - сервис для управления фото и видео (наподобие Google Photo) - если будет NAS - [ ] `Alpine Nextcloude` - облачное хранилище. - [ ] `WordPress` - установить, посмотреть --- ### Closed - [x] Установить Proxmox Backup Server. 1. [x] Подключить HDD для бэкапов 2. [x] Связать PBS и PVE 3. [x] Backup - настроить расписание снятие Snapshot (раз в неделю) на внешний HDD 4. [x] Backup - Garbage Collection. Настроить автоматическую очистку диска 5. [x] Backup - Prune. Настроить автоматическое удаление старых копий - [x] Установить Kompas 3D - [x] Разобраться с репликацией и бэкапами Proxmox - [x] DrawIO - установить в docker - [x] Установить в Docker - Homelable - визуализация сетевой инфраструктуры - [x] XRAY/VLESS - каскадный VPN - работает, но при доступе через мобильный интернет - нет - [x] 3X-UI на HomeLab в Debian LXC - [ ] Настроить VPN доступ к Debian LXC - [x] Правила маршрутизации - [x] Настроить WireGuard - выполнено - настроен на роутере - [x] Описать необходимые настройки - [x] Поменять порт? - смена порта не помогло.