Построил ОБЩАГУ для контейнеров и начало GitOps. Самохостинг (HomeLab) №13.2
Продолжаем проект! Практическая реализация Инфраструктуры как Код (IaC). В этом видео мы разворачиваем 5 полезных сервисов (Dashy, LinkStack, Memos, NORA, Webhook), используя Pull-модель доставки и нативные .container файлы. Все исходные коды, пайплайны и конфигурации из видео доступны в моем публичном репозитории! 🔗 Официальные репозитории проекта : 🔹 Мой домашний сервер (Оригинал): https://git.alexrus1234.ru/AlexRus1234/AlexRus1234-HomeLab-Commands 🔹 Зеркало на GitHub: https://github.com/AlexRus1234/AlexRus1234-HomeLab-Commands 🔹 Зеркало на Mos.Hub: https://hub.mos.ru/AlexRus1234/AlexRus1234-HomeLab-Commands 🔹 Зеркало на Codeberg: https://codeberg.org/AlexRus1234/AlexRus1234-HomeLab-Commands 🔗 Социальные сети: 🔹 Мой Телеграм (Анонсы и обсуждения): https://t.me/AlexRus1234Chanel 🔹 Группа в ВК: https://vk.com/club195345569 Таймкоды: Вступление и работа над ошибками 00:00 — Вступление, план на видео: создание ВМ для контейнеров, инфраструктура как код (IaC). 01:24 — Работа над ошибками прошлого видео: вынесение сборки бинарников в отдельный репозиторий (bin_build). 02:06 — Перенос CI/CD пайплайнов (Caddy, SFTPGo) в новый репозиторий. 02:51 — Ошибка пайплайна (пакет уже существует) и её исправление через удаление старого пакета в Forgejo. 04:12 — Итоги создания единого репозитория для сборки всех бинарников. Унификация процесса. Создание и базовая настройка Виртуальной Машины (Proxmox) 05:32 — Переход в Proxmox. Клонирование шаблона ВМ для создания хоста под контейнеры (название "общага"). 06:17 — Настройка "железа" ВМ: изменение размера диска, добавление второго диска под данные, настройка CPU и RAM. 07:05 — Первый запуск ВМ и подключение по SSH. 08:33 — Инициализация ключей pacman и базовое обновление Arch Linux. 09:00 — Разметка, форматирование и монтирование второго диска (создание директорий /opt/appdata/db и /opt/appdata/config). Добавление в fstab. 10:08 — Установка локального корневого сертификата (Root CA) на новую ВМ. Установка Podman и подготовка среды 10:34 — Установка Podman. 10:44 — Настройка пользователя app-runner для запуска контейнеров без прав root (rootless). 11:58 — Создание структуры директорий для Quadlets и настройка символической ссылки. 12:43 — Активация и запуск сокета Podman для пользователя. Развертывание контейнеров (Quadlets) 12:51 — Подготовка к запуску первого контейнера — дашборда Dashy. Создание конфигурационного файла conf.yml. 13:36 — Написание файла .container (Quadlet) для Dashy: разбор параметров (образ, сеть, автообновление, порты, тома с флагом :Z). 14:56 — Запуск контейнера Dashy через systemd и проверка логов. 15:52 — Проверка работы Dashy в браузере. 16:21 — Подготовка к запуску Athens (прокси для Go модулей). Создание .env файла с доступами к S3. 17:08 — Написание Quadlet-файла для Athens и его запуск. 18:05 — Модификация CI/CD пайплайна сборки бинарников для использования локального прокси Athens. 18:52 — Проверка работы Athens: пакеты успешно кэшируются в (S3 бакет). Оптимизация: Переход на Nora и Инфраструктура как Код 20:19 — Создание отдельного репозитория container-build для сборки кастомных Docker-образов. 23:33 — Остановка старого контейнера Athens (подготовка к замене). 23:55 — Разбор ошибки запуска Athens (проблема с локальным DNS) и решение через принудительное указание DNS в настройках сети systemd. 26:28 — Обзор структуры репозитория homelab-deploy: как организовано хранение конфигураций серверов, quadlets и манифестов (IaC). 28:03 — Удаление старых пайплайнов (Verdaccio, Athens) в пользу нового универсального решения. 28:54 — Презентация Nora — универсального реестра артефактов (заменяет Docker Registry, NPM, Go Proxy, RPM и т.д.). Обзор поддерживаемых форматов. Автоматизация выдачи доменов 33:36 — Демонстрация работы самописного плагина Pomen для панели Intermasq. 34:25 — Как работает Pomen: автоматическая привязка локальных доменных имен к контейнерам Podman через Webhook. 35:42 — Заключение и анонс следующего видео про Intermasq.
Продолжаем проект! Практическая реализация Инфраструктуры как Код (IaC). В этом видео мы разворачиваем 5 полезных сервисов (Dashy, LinkStack, Memos, NORA, Webhook), используя Pull-модель доставки и нативные .container файлы. Все исходные коды, пайплайны и конфигурации из видео доступны в моем публичном репозитории! 🔗 Официальные репозитории проекта : 🔹 Мой домашний сервер (Оригинал): https://git.alexrus1234.ru/AlexRus1234/AlexRus1234-HomeLab-Commands 🔹 Зеркало на GitHub: https://github.com/AlexRus1234/AlexRus1234-HomeLab-Commands 🔹 Зеркало на Mos.Hub: https://hub.mos.ru/AlexRus1234/AlexRus1234-HomeLab-Commands 🔹 Зеркало на Codeberg: https://codeberg.org/AlexRus1234/AlexRus1234-HomeLab-Commands 🔗 Социальные сети: 🔹 Мой Телеграм (Анонсы и обсуждения): https://t.me/AlexRus1234Chanel 🔹 Группа в ВК: https://vk.com/club195345569 Таймкоды: Вступление и работа над ошибками 00:00 — Вступление, план на видео: создание ВМ для контейнеров, инфраструктура как код (IaC). 01:24 — Работа над ошибками прошлого видео: вынесение сборки бинарников в отдельный репозиторий (bin_build). 02:06 — Перенос CI/CD пайплайнов (Caddy, SFTPGo) в новый репозиторий. 02:51 — Ошибка пайплайна (пакет уже существует) и её исправление через удаление старого пакета в Forgejo. 04:12 — Итоги создания единого репозитория для сборки всех бинарников. Унификация процесса. Создание и базовая настройка Виртуальной Машины (Proxmox) 05:32 — Переход в Proxmox. Клонирование шаблона ВМ для создания хоста под контейнеры (название "общага"). 06:17 — Настройка "железа" ВМ: изменение размера диска, добавление второго диска под данные, настройка CPU и RAM. 07:05 — Первый запуск ВМ и подключение по SSH. 08:33 — Инициализация ключей pacman и базовое обновление Arch Linux. 09:00 — Разметка, форматирование и монтирование второго диска (создание директорий /opt/appdata/db и /opt/appdata/config). Добавление в fstab. 10:08 — Установка локального корневого сертификата (Root CA) на новую ВМ. Установка Podman и подготовка среды 10:34 — Установка Podman. 10:44 — Настройка пользователя app-runner для запуска контейнеров без прав root (rootless). 11:58 — Создание структуры директорий для Quadlets и настройка символической ссылки. 12:43 — Активация и запуск сокета Podman для пользователя. Развертывание контейнеров (Quadlets) 12:51 — Подготовка к запуску первого контейнера — дашборда Dashy. Создание конфигурационного файла conf.yml. 13:36 — Написание файла .container (Quadlet) для Dashy: разбор параметров (образ, сеть, автообновление, порты, тома с флагом :Z). 14:56 — Запуск контейнера Dashy через systemd и проверка логов. 15:52 — Проверка работы Dashy в браузере. 16:21 — Подготовка к запуску Athens (прокси для Go модулей). Создание .env файла с доступами к S3. 17:08 — Написание Quadlet-файла для Athens и его запуск. 18:05 — Модификация CI/CD пайплайна сборки бинарников для использования локального прокси Athens. 18:52 — Проверка работы Athens: пакеты успешно кэшируются в (S3 бакет). Оптимизация: Переход на Nora и Инфраструктура как Код 20:19 — Создание отдельного репозитория container-build для сборки кастомных Docker-образов. 23:33 — Остановка старого контейнера Athens (подготовка к замене). 23:55 — Разбор ошибки запуска Athens (проблема с локальным DNS) и решение через принудительное указание DNS в настройках сети systemd. 26:28 — Обзор структуры репозитория homelab-deploy: как организовано хранение конфигураций серверов, quadlets и манифестов (IaC). 28:03 — Удаление старых пайплайнов (Verdaccio, Athens) в пользу нового универсального решения. 28:54 — Презентация Nora — универсального реестра артефактов (заменяет Docker Registry, NPM, Go Proxy, RPM и т.д.). Обзор поддерживаемых форматов. Автоматизация выдачи доменов 33:36 — Демонстрация работы самописного плагина Pomen для панели Intermasq. 34:25 — Как работает Pomen: автоматическая привязка локальных доменных имен к контейнерам Podman через Webhook. 35:42 — Заключение и анонс следующего видео про Intermasq.
