Files
SecondBrain/90 Library/HomeLab/Infrastructure — ada-dev.md
T
2026-05-31 10:18:48 +03:00

6.3 KiB

status, type, tags, created, updated, source, aliases
status type tags created updated source aliases
seed concept
homelab
infrastructure
devops
2026-05-18 2026-05-18 Infrastructure
Infrastructure — ada-dev

Infrastructure — ada-dev

Заметка фиксирует текущую схему homelab-инфраструктуры ada-dev: публичный VPS, домашние узлы, reverse proxy, overlay-сеть и пользовательские сервисы.

!infra.excalidraw.md.md

Общая схема

Инфраструктура состоит из трех ключевых зон:

  • Internet — внешний доступ пользователей.
  • ru-vps с белым IP — публичная точка входа.
  • локальные узлы mini-pc и cloud-pc, связанные с VPS через ZeroTier overlay network.

VPS принимает внешний трафик и проксирует его дальше. Домашние сервисы не обязаны напрямую светиться в интернет: доступ к ним можно строить через публичный CA и 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 - основы — инфраструктура, автоматизация и эксплуатация.