diff --git a/README.md b/README.md new file mode 100644 index 0000000..acefae9 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# Домашний сервер zailon.ru + +Документация по инфраструктуре домашнего сервера, работающего под управлением Proxmox VE, с набором LXC-контейнеров и виртуальных машин. Основная цель — создание независимой мультимедийной платформы с доступом из внешней сети через домен `zailon.ru`. + +## 📖 Содержание + +Подробная документация разбита на тематические разделы: + +- [Железо](docs/01-hardware.md) +- [Гипервизор Proxmox](docs/02-hypervisor.md) +- [Виртуальные машины и LXC](docs/03-vms-lxcs.md) +- [Сеть и доступ](docs/04-network.md) +- [Samba – файловые шары](docs/05-samba.md) +- [Сервисы и порты](docs/06-services.md) *(в разработке)* +- [Проксирование и SSL (NPM)](docs/07-proxy-ssl.md) *(в разработке)* +- [Мониторинг и логирование](docs/08-monitoring.md) *(в разработке)* +- [Управление конфигурацией (Ansible)](docs/09-ansible.md) *(в разработке)* +- [Безопасность](docs/10-security.md) *(в разработке)* +- [Резервное копирование](docs/11-backup.md) *(в разработке)* +- [Решение проблем](docs/12-troubleshooting.md) *(в разработке)* + +## 🚀 Краткий обзор + +- **Гипервизор**: Proxmox VE 9.0 на Intel Core i7-8700, 12 потоков, 32 ГБ ОЗУ (предположительно, уточнить) +- **Хранилище**: RAID6 (4×8 ТБ) через LSI MegaRAID 9260-8i, логические тома для ВМ и LXC +- **Сеть**: локальная подсеть 192.168.1.0/24, VPN-подсеть 192.168.45.0/24 (OpenVPN) +- **Домен**: zailon.ru → внешний IP 188.73.191.202 +- **Основные сервисы**: Jellyfin, Immich, Nextcloud, Bitwarden, GitLab, Grafana и др. + +## 📝 Статус + +Документация актуальна на 20 марта 2026 года. Регулярно обновляется по мере изменений в инфраструктуре. + +--- + +*Навигация по документации осуществляется через оглавление выше. Каждый раздел содержит детальные сведения и ссылки на связанные разделы.* \ No newline at end of file diff --git a/docs/01-hardware.md b/docs/01-hardware.md new file mode 100644 index 0000000..7b56fa7 --- /dev/null +++ b/docs/01-hardware.md @@ -0,0 +1,49 @@ +# 01. Железо + +## Сервер (Proxmox Host) + +| Параметр | Значение | +|---------------------|--------------------------------------------------------------------------| +| **Модель** | Micro-Star International Co., Ltd. MS-7B33 (материнская плата) | +| **Процессор** | Intel Core i7-8700, 6 ядер / 12 потоков, 3.20 ГГц (макс. 4.60 ГГц) | +| **Оперативная память** | 32 ГБ (предположительно, требуется уточнить) | +| **Системный диск** | 2× SSD по 223.6 ГБ (sdc, sdd) в зеркале (?) или отдельно для Proxmox | +| **Дисковый массив** | LSI MegaRAID SAS 9260-8i, RAID6 (4×8 ТБ) → полезный объём ~14.55 ТБ | +| **Сетевые интерфейсы** | Realtek RTL8111/8168/8211/8411 (enp2s0), подключён к vmbr0 | +| **Дополнительно** | Видео Intel UHD Graphics 630 (для возможного аппаратного декодирования) | + +## Подробно о хранилище + +### RAID-контроллер +- Модель: LSI MegaRAID SAS 9260-8i +- Прошивка: FW Package 12.13.0-0154, FW Version 2.130.383-2315 +- Диски: 4× Seagate ST8000NM0075 (8 ТБ, SAS, HDD) +- Конфигурация: RAID6, один виртуальный диск 14.553 ТБ + +### Логические тома LVM + +На массиве созданы два LVM-тома (thin pool): +- `storage` – для больших данных (медиа, книги, игры) +- `vmsystem` – для системных дисков ВМ и LXC + +Детальное распределение по томам смотрите в [разделе о ВМ и LXC](03-vms-lxcs.md). + +### Системные SSD +- `sdb` (894.3 ГБ) – используется для LVM `vmsystem` +- `sdc` и `sdd` (223.6 ГБ каждый) – возможно, установка Proxmox или дополнительное хранилище (уточнить) + +## Энергопотребление и охлаждение +- Блок питания: не указан, предположительно стандартный ATX +- Охлаждение: процессорное, корпусное (дополнительно уточнить) + +## Производительность +- RAID6 обеспечивает отказоустойчивость (можно потерять до двух дисков). +- Скорость чтения/записи ограничена интерфейсом SAS-6G и производительностью дисков. +- Для задач, требующих быстрого доступа (базы данных), используются отдельные тома на SSD (vmsystem). + +--- + +**Связанные разделы:** +- [Гипервизор Proxmox](02-hypervisor.md) +- [Виртуальные машины и LXC](03-vms-lxcs.md) +- [Резервное копирование](10-backup.md) \ No newline at end of file diff --git a/docs/02-hypervisor.md b/docs/02-hypervisor.md new file mode 100644 index 0000000..0ac7af3 --- /dev/null +++ b/docs/02-hypervisor.md @@ -0,0 +1,45 @@ +# 02. Гипервизор Proxmox + +## Версия и окружение + +| Параметр | Значение | +|--------------------|----------------------------------------| +| **Версия Proxmox** | pve-manager 9.0.11 | +| **Ядро** | Linux 6.14.11-4-pve | +| **Архитектура** | x86_64 | +| **Хостнейм** | Olimp | +| **IP-адрес** | 192.168.1.200 | + +## Хранилища + +| Имя | Тип | Содержимое | Расположение | +|-----------|-----------|---------------------------------|----------------------------------| +| `local` | Directory | ISO, шаблоны, бэкапы | `/var/lib/vz` (на системном SSD) | +| `storage` | LVM-thin | Диски ВМ и LXC для больших данных | RAID6 массив (14.55 ТБ) | +| `vmsystem`| LVM-thin | Диски ВМ и LXC для систем | SSD 894.3 ГБ | + +## Сеть + +- Мост: `vmbr0` с IP 192.168.1.200/24, физический интерфейс `enp2s0` (Realtek) +- Все виртуальные машины и LXC подключаются к `vmbr0`, получая адреса из подсети 192.168.1.0/24 +- Для управления используется SSH (ключи) и веб-интерфейс на порту 8006 + +## Виртуализация + +- LXC-контейнеры (привилегированные/непривилегированные) — большинство сервисов +- Полноценные ВМ (KVM) — Nextcloud (205), VPN (213), некоторые резервные копии +- Поддержка аппаратной виртуализации (VT-x) включена + +## Мониторинг гипервизора + +- На самом хосте Olimp запущен **node_exporter** (порт 9100) для сбора метрик в VictoriaMetrics +- Используется **Proxmox VE Exporter** для мониторинга состояния виртуальных машин и хранилищ +- Логи отправляются через **Promtail** (если настроен) в Loki + +--- + +**Связанные разделы:** +- [Железо](01-hardware.md) +- [Виртуальные машины и LXC](03-vms-lxcs.md) +- [Сеть](04-network.md) +- [Мониторинг](07-monitoring.md) \ No newline at end of file diff --git a/docs/03-vms-lxcs.md b/docs/03-vms-lxcs.md new file mode 100644 index 0000000..182f902 --- /dev/null +++ b/docs/03-vms-lxcs.md @@ -0,0 +1,60 @@ +# 03. Виртуальные машины и LXC + +## Общая таблица + +| VMID | Имя | Тип | IP-адрес | Роль | Статус | +|------|----------|--------|---------------|-------------------------------|----------| +| 201 | gateway | LXC | 192.168.1.201 | Nginx Proxy Manager, Heimdall | running | +| 202 | data | LXC | 192.168.1.202 | Bitwarden, Mealie, BookStack | running | +| 203 | media | LXC | 192.168.1.203 | Jellyfin, Audiobookshelf, Calibre-web, Ampache, Samba | running | +| 204 | photo | LXC | 192.168.1.204 | Immich | running | +| 205 | nextcloud| VM | 192.168.1.205 | Nextcloud (Debian 12) | running | +| 206 | talk | LXC | 192.168.1.206 | Snikket (XMPP), Mumble, TeamSpeak | running | +| 207 | games | LXC | 192.168.1.207 | Valheim, другие игры, Samba | running | +| 208 | manage | LXC | 192.168.1.208 | MeshCentral, Grafana, Loki | running | +| 209 | git | LXC | 192.168.1.209 | GitLab CE | running | +| 210 | ansible | LXC | 192.168.1.210 | Управляющий хост Ansible | running | +| 211 | torrent | LXC | 192.168.1.211 | qBittorrent, TorrServer | running | +| 212 | game | VM | 192.168.1.212 | (остановлен) | stopped | +| 213 | vpn | VM | 192.168.1.213 | VPN-шлюз (заглушка) | running | +| 214 | mediatest| LXC | - | Тестовая среда | stopped | +| 228 | manage | LXC | - | (дубль, остановлен) | stopped | +| 232 | jellyfinbkp | LXC | - | Резервная копия Jellyfin | stopped | +| 234 | gameserverbkp | LXC | - | Резервная копия игр | stopped | +| 237 | gamebkp | LXC | - | Резервная копия игр | stopped | +| 300 | TempUbuntu2404 | VM | - | Тестовая ВМ | stopped | +| 301 | tempubuntu2404priv | VM | - | Тестовая ВМ | stopped | + +## Распределение ресурсов + +### Пример для основных контейнеров + +| Имя | CPU (ядер) | RAM (МБ) | Диск (основной том) | +|----------|------------|----------|--------------------------| +| gateway | 2 | 2048 | vmsystem (8 ГБ) | +| data | 2 | 4096 | storage + vmsystem | +| media | 4 | 8192 | storage (8.6 ТБ) | +| photo | 2 | 4096 | storage (200 ГБ) | +| talk | 2 | 2048 | storage (6 ГБ) | +| games | 4 | 8192 | storage (3.9 ТБ) | +| manage | 2 | 2048 | storage + vmsystem | +| git | 4 | 8192 | storage + vmsystem | +| ansible | 1 | 512 | vmsystem (5 ГБ) | +| torrent | 2 | 2048 | storage + vmsystem | + +## Подробности о хранилищах для ВМ + +### storage (RAID6) +- Используется для больших данных: медиа, книги, базы данных некоторых сервисов +- Тома для ВМ/LXC: `vm-203-disk-0` (8.6 ТБ), `vm-207-disk-0` (3.9 ТБ), `vm-203-disk-2` (530 ГБ) и др. + +### vmsystem (SSD 894 ГБ) +- Используется для системных дисков (ОС) и баз данных, требующих быстрого доступа +- Тома для ВМ/LXC: `vm-205-disk-0` (10 ГБ), `vm-205-disk-1` (150 ГБ) и др. + +--- + +**Связанные разделы:** +- [Железо](01-hardware.md) +- [Гипервизор](02-hypervisor.md) +- [Сервисы и порты](05-services.md) \ No newline at end of file diff --git a/docs/04-network.md b/docs/04-network.md new file mode 100644 index 0000000..3e9b01b --- /dev/null +++ b/docs/04-network.md @@ -0,0 +1,65 @@ + +# 04. Сеть и доступ + +## Топология + +Инфраструктура объединяет устройства в локальной подсети `192.168.1.0/24`. Доступ из внешней сети осуществляется через маршрутизатор TP-Link с белым IP-адресом `188.73.191.202`, на который делегирован домен `zailon.ru`. Для удалённого подключения к внутренним ресурсам используется OpenVPN. + +┌─────────────────┐ ┌─────────────┐ ┌──────────────────────┐ +│ Интернет │────▶│ Роутер │────▶│ Локальная сеть │ +│ │ │ TP-Link │ │ 192.168.1.0/24 │ +└─────────────────┘ └─────────────┘ └──────────────────────┘ +│ │ +▼ ▼ +Внешний IP ┌─────────────────┐ +188.73.191.202 │ Proxmox Host │ +(zailon.ru) │ 192.168.1.200 │ +└─────────────────┘ +│ +┌────────────────────────┼────────────────────────┐ +▼ ▼ ▼ +┌──────────────┐ ┌──────────────┐ ┌──────────────┐ +│ LXC / ВМ │ │ LXC / ВМ │ │ LXC / ВМ │ +│ 201-213 │ │ 201-213 │ │ 201-213 │ +└──────────────┘ └──────────────┘ └──────────────┘ +### OpenVPN + +На роутере включён OpenVPN-сервер с настройками: +- **Тип сервиса**: UDP (предположительно) +- **Порт**: 1194 (стандартный) +- **VPN-подсеть**: 192.168.45.0/24 +- **Клиентский доступ**: только домашняя сеть (доступ к ресурсам 192.168.1.0/24 разрешён) + +Используется для удалённого подключения к домашней сети с мобильных устройств и ноутбуков. + +## DNS + +Домен `zailon.ru` делегирован на внешний IP `188.73.191.202`. Все поддомены `*.zailon.ru` также указывают на этот IP через записи типа A. + +DNS-серверы: +- Внешние: стандартные провайдера (или публичные, например 8.8.8.8) +- Локально: системный resolver на каждом хосте (127.0.0.53) + +## Локальная сеть + +- **Подсеть**: 192.168.1.0/24 +- **Шлюз**: 192.168.1.1 (роутер) +- **DHCP**: включён на роутере, диапазон раздачи 192.168.1.100–192.168.1.200 (статические адреса для серверов заданы вручную) +- **Статические IP-адреса серверов**: см. раздел [Виртуальные машины и LXC](03-vms-lxcs.md) + +## Безопасность сети + +- **Wi-Fi**: не документирован (вероятно, WPA2-PSK). Рекомендуется обновить до WPA3, если оборудование поддерживает. +- **Гостевая сеть**: отсутствует. +- **VLAN**: не используются. + +## Мониторинг сети + +- Сбор метрик через node_exporter (порт 9100) на всех хостах. +- Логи роутера не собираются (ограниченные возможности TP-Link). +--- +**Связанные разделы:** +- [Виртуальные машины и LXC](03-vms-lxcs.md) +- [Сервисы и порты](06-services.md) +- [Проксирование и SSL (NPM)](07-proxy-ssl.md) +- [Безопасность](10-security.md) \ No newline at end of file diff --git a/Security/Samba.md b/docs/05-samba.md.md similarity index 99% rename from Security/Samba.md rename to docs/05-samba.md.md index be80413..1ffa17c 100644 --- a/Security/Samba.md +++ b/docs/05-samba.md.md @@ -1,3 +1,6 @@ + + + # 🔒 Samba Настройка и правила Безопасности в инфраструктуре Olimp 📚 **Полная документация по безопасной настройке Samba в домашней инфраструктуре** diff --git a/docs/06-services.md b/docs/06-services.md new file mode 100644 index 0000000..e858584 --- /dev/null +++ b/docs/06-services.md @@ -0,0 +1,166 @@ +# 06. Сервисы и порты + +В этом разделе представлен полный список сервисов, запущенных в инфраструктуре, их порты и способ доступа. + +## 🧭 Обозначения + +| Символ | Значение | +|--------|----------| +| 🌐 | Доступен из внешней сети через NPM | +| 🔒 | Доступен только внутри локальной сети или по VPN | +| 📦 | Docker-контейнер | +| 🐧 | Системный сервис (LXC/ВМ) | + +--- + +## 🚪 Gateway (192.168.1.201) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| NPM (HTTP) | 80 | 🌐 | npm | Редирект на HTTPS | +| NPM (HTTPS) | 443 | 🌐 | npm | Проксирование всех доменов | +| NPM (Admin) | 81 | 🔒 | npm | Веб-интерфейс управления | +| Heimdall | 45131 → 80 | 🌐 | heimdall | Дашборд, доступен по `olimp.zailon.ru` | + +--- + +## 📀 Data (192.168.1.202) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| Bitwarden | 45131 → 80 | 🌐 | vaultwarden | Менеджер паролей, `bw.zailon.ru` | +| Mealie | 45132 → 80 | 🌐 | mealie | Планировщик рецептов, `cook.zailon.ru` | +| BookStack | 45133 → 80 | 🌐 | bookstack | База знаний, `book.zailon.ru` и `mnemozailon.ru` | + +--- + +## 🎬 Media (192.168.1.203) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| Jellyfin | 45131 → 8096 | 🌐 | jellyfin | Медиасервер, `jellyfin.zailon.ru` | +| Audiobookshelf | 45132 → 80 | 🌐 | audiobookshelf | Аудиокниги, `ab.zailon.ru` | +| Calibre-web | 45133 → 80 | 🌐 | calibre-web | Электронные книги, `calibre.zailon.ru` | +| Ampache | 45134 → 80 | 🌐 | ampache | Музыкальный сервер, `music.zailon.ru` | +| Samba (шары) | 139, 445 | 🔒 | системный | Файловые шары (см. раздел [Samba](05-samba.md)) | + +--- + +## 📸 Photo (192.168.1.204) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| Immich (Server) | 45131 → 2283 | 🌐 | immich-server | Фото-стек, `photo.zailon.ru` | +| Immich (ML) | 3003 | 🔒 | immich-machine-learning | Машинное обучение для Immich | +| PostgreSQL | 5432 | 🔒 | immich-postgres | База данных Immich | +| Valkey | 6379 | 🔒 | immich-redis | Кэш-сервер Immich | + +--- + +## ☁️ Nextcloud (192.168.1.205) — ВМ + +| Сервис | Порт | Доступ | Описание | +|--------|------|--------|----------| +| Nextcloud (HTTP) | 80 | 🌐 | Редирект на HTTPS, `cloud.zailon.ru`, `nc.zailon.ru` | +| Nextcloud (HTTPS) | 443 | 🌐 | | +| MySQL | 3306 | 🔒 | Локальная БД | +| Redis | 6379 | 🔒 | Кэш | + +--- + +## 💬 Talk (192.168.1.206) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| Snikket (XMPP) | 8443 → 5281 | 🌐 | snikket | Мессенджер, `chat.zailon.ru` | +| Snikket (Web) | 5280 | 🔒 | snikket-proxy | Веб-прокси Snikket | +| Mumble | 45131 → 64738 | 🔒 | mumble-server | Голосовой чат, прямой проброс 45131 (TCP+UDP) | +| TeamSpeak | 9987 (UDP) | 🔒 | teamspeak | Голосовой чат, прямой проброс | +| TeamSpeak (Query) | 10011 | 🔒 | teamspeak | Управление через API | + +--- + +## 🎮 Games (192.168.1.207) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| Valheim | 2456-2458 (UDP) | 🌐 | valheim-server | Игровой сервер, проброс на роутере | +| Samba (игры) | 139, 445 | 🔒 | системный | Шара `/mnt/games/` | + +--- + +## 📊 Manage (192.168.1.208) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| Grafana | 45132 → 3000 | 🌐 | grafana | Визуализация метрик, `mon.zailon.ru` | +| MeshCentral | 45131 → 443 | 🌐 | meshcentral | Удалённое управление | +| VictoriaMetrics | 8428 | 🔒 | victoria-metrics | Хранилище метрик | +| Loki | 3100 | 🔒 | loki | Хранилище логов | +| Promtail | 9080 | 🔒 | promtail | Сбор логов (на всех хостах) | + +--- + +## 🧩 Git (192.168.1.209) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| GitLab (HTTP) | 45130 → 80 | 🌐 | gitlab | Веб-интерфейс, `git.zailon.ru` | +| GitLab (HTTPS) | 45131 → 443 | 🌐 | gitlab | | +| GitLab SSH | 2222 (проброс) | 🔒 | gitlab | Git через SSH (внешний порт 2222) | + +--- + +## 🧰 Ansible (192.168.1.210) + +| Сервис | Порт | Доступ | Описание | +|--------|------|--------|----------| +| SSH | 22 | 🔒 | Управление всеми хостами через Ansible | + +--- + +## 🧲 Torrent (192.168.1.211) + +| Сервис | Порт | Доступ | Контейнер | Описание | +|--------|------|--------|-----------|----------| +| qBittorrent (Web) | 8080 | 🌐 | qbittorrent | Веб-интерфейс, `qb.zailon.ru` | +| qBittorrent (Torrent) | 6881 (UDP/TCP) | 🌐 | qbittorrent | Прямой проброс на роутере | +| TorrServer | 45132 → 8090 | 🔒 | torrserver | Торрент-плеер | + +--- + +## 🌐 Внешняя ВМ (VPN-сервер в облаке) + +| Сервис | Порт | Доступ | Описание | +|--------|------|--------|----------| +| 3x-UI (Xray) | 2096 | 🌐 | Веб-интерфейс управления Xray | +| Xray (VLESS/VMess) | 443 | 🌐 | Основной протокол VPN | +| WireGuard (WG‑Easy) | 51821 (TCP) | 🌐 | Веб-интерфейс WireGuard | +| WireGuard (WG) | 51820 (UDP) | 🌐 | VPN-туннель | + +--- + +## 🧾 Итоговая таблица внешних портов на роутере + +| Порт/диапазон | Протокол | Назначение | +|---------------|----------|------------| +| 80 | TCP | Редирект на HTTPS (NPM) | +| 443 | TCP | Nginx Proxy Manager (все HTTPS) | +| 3478 | TCP/UDP | Snikket (TURN/STUN) | +| 5222 | TCP | Snikket (XMPP client) | +| 5349 | TCP | Snikket (TLS) | +| 15636 | TCP/UDP | Enshrouded (игра, возможно неактивна) | +| 2456-2458 | UDP | Valheim | +| 27015-27016 | TCP/UDP | Игры (неактивны?) | +| 9876-9877 | TCP/UDP | Игры (неактивны?) | +| 50000-50100 | UDP | Snikket (медиа) | + +> ⚠️ **Внимание**: Следует пересмотреть необходимость каждого проброшенного порта. Рекомендуется закрыть неиспользуемые. + +--- + +**Связанные разделы:** +- [Сеть и доступ](04-network.md) +- [Samba](05-samba.md) +- [Проксирование и SSL (NPM)](07-proxy-ssl.md) +- [Безопасность](10-security.md) \ No newline at end of file diff --git a/docs/07-proxy-ssl.md b/docs/07-proxy-ssl.md new file mode 100644 index 0000000..4500479 --- /dev/null +++ b/docs/07-proxy-ssl.md @@ -0,0 +1,52 @@ +# 07. Проксирование и SSL (Nginx Proxy Manager) + +Nginx Proxy Manager (NPM) работает на хосте `gateway` (192.168.1.201) в Docker-контейнере. Он является единой точкой входа для всех внешних HTTPS-запросов к доменам `*.zailon.ru`. + +## Конфигурация NPM + +- **Версия**: jc21/nginx-proxy-manager:latest (образ) +- **Порты**: 80 (HTTP), 443 (HTTPS), 81 (админка) +- **Хранилище данных**: `/opt/npm/data`, `/opt/npm/letsencrypt` + +## Проксируемые домены + +| Домен | Назначение | Бэкенд | SSL (Let's Encrypt) | +|-----------------------|-----------------------|--------------------------|---------------------| +| ab.zailon.ru | Audiobookshelf | http://192.168.1.203:45132 | ✅ | +| book.zailon.ru | BookStack | http://192.168.1.202:45133 | ✅ | +| bw.zailon.ru | Bitwarden | http://192.168.1.202:45131 | ✅ | +| chat.zailon.ru | Snikket (XMPP) | https://192.168.1.206:8443 | ✅ | +| cloud.zailon.ru | Nextcloud | http://192.168.1.213:45131 | ✅ | +| cook.zailon.ru | Mealie | http://192.168.1.202:45132 | ✅ | +| git.zailon.ru | GitLab | http://192.168.1.209:45130 | ✅ | +| jellyfin.zailon.ru | Jellyfin | http://192.168.1.203:45131 | ✅ | +| mnemozailon.ru | BookStack (альт) | http://192.168.1.202:45133 | ✅ | +| mon.zailon.ru | Grafana | http://192.168.1.208:45132 | ✅ | +| music.zailon.ru | Ampache | http://192.168.1.203:45132 | ✅ | +| nc.zailon.ru | Nextcloud (ВМ) | https://192.168.1.205:443 | ✅ | +| olimp.zailon.ru | Heimdall | http://192.168.1.201:45131 | ✅ | +| oracul.zailon.ru | MeshCentral | http://192.168.1.208:45131 | ✅ | +| photo.zailon.ru | Immich | http://192.168.1.204:45131 | ✅ | +| qb.zailon.ru | qBittorrent | http://192.168.1.211:8080 | ✅ (Offline) | + + +## SSL-сертификаты + +Все сертификаты выдаются Let's Encrypt через NPM автоматически. Для каждого домена настроен: + +- **Провайдер**: Let's Encrypt +- **Срок действия**: 90 дней, автоматическое продление +- **Тип**: Single domain (все домены отдельные) + +## Настройки безопасности + +### Рекомендуемые заголовки для каждого прокси + +В интерфейсе NPM для каждого прокси на вкладке "Advanced" следует добавить: +``` +add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; +add_header X-Content-Type-Options nosniff always; +add_header X-Frame-Options SAMEORIGIN always; +add_header Referrer-Policy "strict-origin-when-cross-origin" always; +add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always; +``` \ No newline at end of file