--- status: seed type: concept tags: - homelab - infrastructure - devops created: 2026-05-18 updated: 2026-06-15 source: '[[Infrastructure]]' aliases: - Infrastructure — ada-dev --- # Infrastructure — ada-dev Заметка фиксирует текущую схему homelab-инфраструктуры `ada-dev`: публичный VPS, домашние узлы, reverse proxy, overlay-сеть и пользовательские сервисы. ![[infra.excalidraw.md.md|950]] ## Общая схема Инфраструктура состоит из трех ключевых зон: - `Internet` — внешний доступ пользователей. - `ru-vps` с белым IP — публичная точка входа. - локальные узлы `mini-pc` и `cloud-pc`, связанные с VPS через ZeroTier overlay network. VPS принимает внешний трафик и проксирует его дальше. Домашние сервисы не обязаны напрямую светиться в интернет: доступ к ним можно строить через публичный [[CA и NGINX|Nginx]]/NPM и приватную overlay-сеть. ## Узлы ### Ru-vps `ru-vps` — публичный сервер с белым IP. На схеме он выполняет роль внешнего шлюза: - `NPM (публичный)` — reverse proxy для публичных доменов и маршрутов; - `Nginx (80, 443)` — входная точка HTTP/HTTPS; - `ufw` — базовый firewall; - `ZeroTier` — связь с домашним сегментом; - `Portainer Agent` — управление контейнерной средой через Portainer. Практический смысл VPS — держать наружу только минимальный набор портов и не раскрывать домашнюю сеть напрямую. ### Mini-pc `mini-pc` описан как `N150 / 12 GB / 256 GB`. По схеме это небольшой домашний узел для инфраструктурных сервисов: - `AdGuard Home`; - `NPM (локальный)`; - `Vaultwarden`; - `ZeroTier`; - `Portainer Agent`. Логика узла: локальная инфраструктура и сервисы, которым полезно быть рядом с домашней сетью. ### Cloud-pc `cloud-pc` описан как `i5 / 16 GB / 256 GB + 5 TB`. Это более крупный узел для сервисов и хранения: - `Portainer Server`; - `Cockpit`; - `Gitea + Registry`; - `Gitea Actions Runner`; - `Nextcloud`; - `SMB/BU/Files (5 TB HDD)`; - `ZeroTier`. Логика узла: сервисы разработки, файлы, backup/storage и управление контейнерами. ## Сетевой слой ZeroTier используется как overlay-сеть между VPS и домашними узлами. Это позволяет: - проксировать трафик с публичного VPS на локальные сервисы; - не открывать сервисные порты домашней сети наружу; - держать управление и межузловые соединения в приватном сегменте; - упростить маршрутизацию между VPS, `mini-pc` и `cloud-pc`. `ufw` на VPS должен ограничивать внешний периметр. Базовая модель: наружу открыты только необходимые публичные порты, а внутренние сервисы доступны через ZeroTier и reverse proxy. ## Reverse proxy На схеме есть два уровня NPM: - `NPM (публичный)` на VPS — отвечает за публичный доступ; - `NPM (локальный)` на `mini-pc` — может обслуживать локальные маршруты и внутренние сервисы. Такой подход полезен, если нужно разделить внешний и внутренний контуры. Публичный NPM принимает домены из интернета, локальный NPM может маршрутизировать сервисы внутри homelab. Смежная заметка: [[Nginx Proxy Manager под path]]. ## Сервисы Ключевые пользовательские сервисы: - `Vaultwarden` — self-hosted password manager; - `Gitea + Registry` — Git-сервер и container registry; - `Gitea Actions Runner` — CI runner; - `Nextcloud` — файловая синхронизация; - `SMB/BU/Files` — файловое хранилище и backup на 5 TB HDD; - `AdGuard Home` — DNS/ad blocking; - `Cockpit` — web-управление сервером; - `Portainer Server/Agent` — управление контейнерами. ## Замечания по устойчивости - Публичный VPS — критическая точка входа. Если он падает, внешний доступ к сервисам пропадает, даже если домашние узлы живы. - ZeroTier — критическая зависимость для связности между VPS и домашними узлами. - `cloud-pc` несет сразу несколько ролей: Git, registry, runner, Nextcloud и storage. Для важных данных нужен отдельный backup-контур. - `Vaultwarden` стоит держать максимально изолированным: отдельный volume, backup, HTTPS, минимальный доступ к админке. ## Связанные заметки - [[CA и NGINX]] — TLS-сертификаты и Nginx как входной HTTP/HTTPS-слой. - [[VPN]] — близкая идея приватного сетевого контура. - [[Docker - Дополнительные знания]] — контейнерная эксплуатация сервисов. - [[Основы - Docker]] — базовая модель контейнеризации. - [[DevOps - основы]] — инфраструктура, автоматизация и эксплуатация.