Поднял GIT+CI/CD дома: Forgejo, Runner, SSO и Rootless Podman. Самохостинг (HomeLab) №11

Доброго времени суток! Наш домашний дата-центр работает как швейцарские часы. Мы собрали NAS, подняли умный роутер, настроили базы данных и внедрили систему единого входа (SSO). Но любая инфраструктура требует постоянного написания скриптов, конфигураций и автоматизаций. Хранить всё это в разрозненных папках на локальном компьютере — значит рисковать потерей месяцев работы при поломке диска. Сегодня мы разворачиваем сердце инфраструктуры любого DevOps-инженера — свой собственный суверенный Git-сервер. И мы не просто организуем хранение файлов. Мы строим полноценную фабрику непрерывной интеграции и доставки (CI/CD), которая будет автоматически проверять код, запускать контейнеры и рассылать обновления. В этом выпуске мы реализуем детерминированную Enterprise-архитектуру на базе Forgejo (независимого форка Gitea): Разделение данных и хранилищ: Переносим базы данных (PostgreSQL/Valkey) на NAS. Разгружаем локальный SSD гипервизора, отправляя все тяжелые бинарные файлы (Git LFS, аватарки, релизы) напрямую в объектное S3-хранилище по сети. Zero Trust и SSO: Отключаем базовую аутентификацию по паролям. Настраиваем бесшовный и безопасный вход в систему исключительно через OpenID Connect (Authentik) и доступ по SSH-ключам. Аппаратная изоляция CI/CD: Выносим рабочие процессы (Forgejo Runner) за пределы LXC-контейнера в отдельную виртуальную машину (KVM). Rootless Podman: Обеспечиваем максимальную безопасность сборки кода. Runner запускает контейнеры без использования демона Docker, от имени системного пользователя без прав root. Авто-зеркалирование: Пишем реальный CI/CD пайплайн. Теперь при отправке кода на домашний сервер, автоматика сама доставляет копии (зеркала) в публичные облака, обеспечивая надежный бэкап. Как и обещал, теперь все мои скрипты, конфигурации Quadlets и инструкции будут лежать в открытом доступе в моем суверенном репозитории. 🔗 Официальные репозитории проекта : 🔹 Мой домашний сервер (Оригинал): 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 ⏱ Таймкоды:

Иконка канала AlexRus1234
22 подписчика
12+
22 просмотра
2 месяца назад
12+
22 просмотра
2 месяца назад

Доброго времени суток! Наш домашний дата-центр работает как швейцарские часы. Мы собрали NAS, подняли умный роутер, настроили базы данных и внедрили систему единого входа (SSO). Но любая инфраструктура требует постоянного написания скриптов, конфигураций и автоматизаций. Хранить всё это в разрозненных папках на локальном компьютере — значит рисковать потерей месяцев работы при поломке диска. Сегодня мы разворачиваем сердце инфраструктуры любого DevOps-инженера — свой собственный суверенный Git-сервер. И мы не просто организуем хранение файлов. Мы строим полноценную фабрику непрерывной интеграции и доставки (CI/CD), которая будет автоматически проверять код, запускать контейнеры и рассылать обновления. В этом выпуске мы реализуем детерминированную Enterprise-архитектуру на базе Forgejo (независимого форка Gitea): Разделение данных и хранилищ: Переносим базы данных (PostgreSQL/Valkey) на NAS. Разгружаем локальный SSD гипервизора, отправляя все тяжелые бинарные файлы (Git LFS, аватарки, релизы) напрямую в объектное S3-хранилище по сети. Zero Trust и SSO: Отключаем базовую аутентификацию по паролям. Настраиваем бесшовный и безопасный вход в систему исключительно через OpenID Connect (Authentik) и доступ по SSH-ключам. Аппаратная изоляция CI/CD: Выносим рабочие процессы (Forgejo Runner) за пределы LXC-контейнера в отдельную виртуальную машину (KVM). Rootless Podman: Обеспечиваем максимальную безопасность сборки кода. Runner запускает контейнеры без использования демона Docker, от имени системного пользователя без прав root. Авто-зеркалирование: Пишем реальный CI/CD пайплайн. Теперь при отправке кода на домашний сервер, автоматика сама доставляет копии (зеркала) в публичные облака, обеспечивая надежный бэкап. Как и обещал, теперь все мои скрипты, конфигурации Quadlets и инструкции будут лежать в открытом доступе в моем суверенном репозитории. 🔗 Официальные репозитории проекта : 🔹 Мой домашний сервер (Оригинал): 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 ⏱ Таймкоды:

, чтобы оставлять комментарии