Update README and architecture documentation to reflect the migration of Homepage and Wallos services from container 100 to container 103. Adjust service descriptions and access details accordingly, ensuring clarity on domain accessibility and service configurations.
This commit is contained in:
@@ -14,9 +14,9 @@
|
|||||||
|
|
||||||
| Документ | Что внутри |
|
| Документ | Что внутри |
|
||||||
|----------|------------|
|
|----------|------------|
|
||||||
| [Контейнер 100](docs/containers/container-100.md) | NPM, Homepage, AdGuard, Wallos, log-dashboard, vpn-route-check |
|
| [Контейнер 100](docs/containers/container-100.md) | NPM, AdGuard, log-dashboard, vpn-route-check |
|
||||||
| [Контейнер 101](docs/containers/container-101.md) | Nextcloud, PostgreSQL, Redis, хранилище «Игры» |
|
| [Контейнер 101](docs/containers/container-101.md) | Nextcloud, PostgreSQL, Redis, хранилище «Игры» |
|
||||||
| [Контейнер 103](docs/containers/container-103.md) | Gitea, PostgreSQL, act_runner, CouchDB (Obsidian), Vaultwarden |
|
| [Контейнер 103](docs/containers/container-103.md) | Gitea, PostgreSQL, act_runner, CouchDB (Obsidian), Vaultwarden, Homepage, Wallos |
|
||||||
| [Контейнер 104](docs/containers/container-104.md) | Paperless-ngx, PostgreSQL, Redis |
|
| [Контейнер 104](docs/containers/container-104.md) | Paperless-ngx, PostgreSQL, Redis |
|
||||||
| [Контейнер 105](docs/containers/container-105.md) | RAG API (mini-lm), модели, векторы |
|
| [Контейнер 105](docs/containers/container-105.md) | RAG API (mini-lm), модели, векторы |
|
||||||
| [Контейнер 107](docs/containers/container-107.md) | Invidious, Companion, PostgreSQL |
|
| [Контейнер 107](docs/containers/container-107.md) | Invidious, Companion, PostgreSQL |
|
||||||
|
|||||||
@@ -61,9 +61,9 @@ pct create 105 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
|
|||||||
|
|
||||||
| ID | Назначение | IP | Ресурсы | Домены (через NPM) |
|
| ID | Назначение | IP | Ресурсы | Домены (через NPM) |
|
||||||
|-----|-------------------------------|----------------|------------|---------------------|
|
|-----|-------------------------------|----------------|------------|---------------------|
|
||||||
| 100 | NPM, Homepage, AdGuard, Wallos | 192.168.1.100 | 1 core, 2 GB | home.katykhin.ru, wallos.katykhin.ru, adguard.local. → [Контейнер 100 (подробно)](../containers/container-100.md) |
|
| 100 | NPM, AdGuard, служебные сервисы (log-dashboard, vpn-route-check) | 192.168.1.100 | 1 core, 2 GB | входная точка для всех доменов katykhin.ru; adguard.local, adguard.katykhin.ru → [Контейнер 100 (подробно)](../containers/container-100.md) |
|
||||||
| 101 | Nextcloud | 192.168.1.101 | 2 core, 3 GB | cloud.katykhin.ru. → [Контейнер 101 (подробно)](../containers/container-101.md) |
|
| 101 | Nextcloud | 192.168.1.101 | 2 core, 3 GB | cloud.katykhin.ru. → [Контейнер 101 (подробно)](../containers/container-101.md) |
|
||||||
| 103 | Gitea, CouchDB (Obsidian), Vaultwarden | 192.168.1.103 | 1 core, 2 GB | obsidian.katykhin.ru, vault.katykhin.ru → [Контейнер 103 (подробно)](../containers/container-103.md) |
|
| 103 | Gitea, CouchDB (Obsidian), Vaultwarden, Homepage, Wallos | 192.168.1.103 | 1 core, 2 GB | git.katykhin.ru, obsidian.katykhin.ru, vault.katykhin.ru, home.katykhin.ru, wallos.katykhin.ru → [Контейнер 103 (подробно)](../containers/container-103.md) |
|
||||||
| 104 | Paperless | 192.168.1.104 | 1 core, 2 GB | docs.katykhin.ru → [Контейнер 104 (подробно)](../containers/container-104.md) |
|
| 104 | Paperless | 192.168.1.104 | 1 core, 2 GB | docs.katykhin.ru → [Контейнер 104 (подробно)](../containers/container-104.md) |
|
||||||
| 105 | RAG-service | 192.168.1.105 | 1 core, 1 GB | mini-lm.katykhin.ru → [Контейнер 105 (подробно)](../containers/container-105.md) |
|
| 105 | RAG-service | 192.168.1.105 | 1 core, 1 GB | mini-lm.katykhin.ru → [Контейнер 105 (подробно)](../containers/container-105.md) |
|
||||||
| 107 | Invidious (misc) | 192.168.1.107 | 1 core, 2 GB | video.katykhin.ru → [Контейнер 107 (подробно)](../containers/container-107.md) |
|
| 107 | Invidious (misc) | 192.168.1.107 | 1 core, 2 GB | video.katykhin.ru → [Контейнер 107 (подробно)](../containers/container-107.md) |
|
||||||
@@ -94,7 +94,7 @@ pct create 105 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
|
|||||||
## Дополнительно
|
## Дополнительно
|
||||||
|
|
||||||
- **Схема сети и зависимости:** полная топология (роутер, Proxmox, контейнеры, VPS), таблица IP/доменов, маршруты NPM, кто от кого зависит, единые точки отказа (SPOF). → [Схема сети и зависимости](../network/network-topology.md).
|
- **Схема сети и зависимости:** полная топология (роутер, Proxmox, контейнеры, VPS), таблица IP/доменов, маршруты NPM, кто от кого зависит, единые точки отказа (SPOF). → [Схема сети и зависимости](../network/network-topology.md).
|
||||||
- **Homepage:** на контейнере 100, конфиг сервисов в `/opt/docker/homepage/config/services.yaml` (ссылки на NPM, Invidious, AdGuard, Immich, Galene, Vaultwarden и т.д.).
|
- **Homepage:** на контейнере 103, конфиг сервисов в `/opt/docker/homepage/config/services.yaml` (ссылки на NPM, Invidious, AdGuard, Immich, Galene, Vaultwarden и т.д.).
|
||||||
- **VPN (VPS):** отдельный сервер 185.103.253.99, AmneziaWG для обхода блокировок. → [VPN-сервер (VPS, AmneziaWG)](../vps/vpn-vps-amneziawg.md).
|
- **VPN (VPS):** отдельный сервер 185.103.253.99, AmneziaWG для обхода блокировок. → [VPN-сервер (VPS, AmneziaWG)](../vps/vpn-vps-amneziawg.md).
|
||||||
- **Роутер:** Netcraze Speedster, два WireGuard/AmneziaWG (Германия / США), маршрутизация части трафика через VPN. → [Роутер Netcraze Speedster](../network/router-netcraze-speedster.md).
|
- **Роутер:** Netcraze Speedster, два WireGuard/AmneziaWG (Германия / США), маршрутизация части трафика через VPN. → [Роутер Netcraze Speedster](../network/router-netcraze-speedster.md).
|
||||||
- **VPS Миран (СПБ):** боты (telegram-helper-bot, anonBot), prod-инфраструктура, STUN/TURN для Galene. → [VPS Миран: боты и STUN/TURN](../vps/vps-miran-bots.md).
|
- **VPS Миран (СПБ):** боты (telegram-helper-bot, anonBot), prod-инфраструктура, STUN/TURN для Galene. → [VPS Миран: боты и STUN/TURN](../vps/vps-miran-bots.md).
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Контейнер 100 (nginx): NPM, Homepage, AdGuard, Wallos и сопутствующие сервисы
|
# Контейнер 100 (nginx): NPM, AdGuard и сопутствующие сервисы
|
||||||
|
|
||||||
Подробное описание LXC-контейнера **100** на Proxmox (192.168.1.100): reverse proxy, DNS-фильтрация, дашборд, учёт подписок, мониторинг логов и маршрутов VPN.
|
Подробное описание LXC-контейнера **100** на Proxmox (192.168.1.100): reverse proxy, DNS-фильтрация, мониторинг логов и маршрутов VPN.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -19,24 +19,19 @@
|
|||||||
## Доступ и логины
|
## Доступ и логины
|
||||||
|
|
||||||
- **Debian (CT 100):** логин `root` (или консольный пользователь Debian), пароль `waccEk-fyqbux-rarja3`.
|
- **Debian (CT 100):** логин `root` (или консольный пользователь Debian), пароль `waccEk-fyqbux-rarja3`.
|
||||||
- **AdGuard Home:** http://192.168.1.100:3000, пользователь `kerrad`, пароль `waccEk-fyqbux-rarja3`.
|
- **AdGuard Home (через домен):** https://adguard.katykhin.ru (через NPM, сертификат Let's Encrypt), пользователь `kerrad`, пароль `waccEk-fyqbux-rarja3`. Прямой доступ по порту 3000 больше не используется.
|
||||||
- **Nginx Proxy Manager:** http://192.168.1.100:81, имя `Kerrad`, email `j3tears100@gmail.com`, пароль `kqEUubVq02DJTS8`.
|
- **Nginx Proxy Manager:** http://192.168.1.100:81, имя `Kerrad`, email `j3tears100@gmail.com`, пароль `kqEUubVq02DJTS8`.
|
||||||
- **Wallos:** https://wallos.katykhin.ru (через NPM), Web‑логин/пароль сохранены в менеджере паролей; Basic Auth в NPM — логин `admin`, пароль `fy8lNlWvvJryfrUVMZr8`.
|
|
||||||
- **Homepage:** https://home.katykhin.ru, логин `admin`, пароль `fy8lNlWvvJryfrUVMZr8`.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Сервисы (Docker)
|
## Сервисы (Docker)
|
||||||
|
|
||||||
Все сервисы запущены в Docker. Сети: **proxy_network** (общая для NPM, Homepage, Wallos, dockerproxy, AdGuard), **adguard_proxy_network** (AdGuard дополнительно). Контейнер **vpn-route-check** в режиме `network_mode: host`.
|
Все сервисы запущены в Docker. Сети: **proxy_network** (общая для NPM, AdGuard и служебных контейнеров вроде log-dashboard), **adguard_proxy_network** (AdGuard дополнительно). Контейнер **vpn-route-check** в режиме `network_mode: host`.
|
||||||
|
|
||||||
| Контейнер | Образ | Порты (хост) | Назначение |
|
| Контейнер | Образ | Порты (хост) | Назначение |
|
||||||
|-------------------|------------------------------------|-------------------|------------|
|
|-------------------|------------------------------------|-------------------|------------|
|
||||||
| npm | jc21/nginx-proxy-manager:latest | 80, 81, 443 | Reverse proxy, SSL, админка NPM |
|
| npm | jc21/nginx-proxy-manager:latest | 80, 81, 443 | Reverse proxy, SSL, админка NPM |
|
||||||
| adguard | adguard/adguardhome:latest | 53/tcp+udp, 67–68, 853, 3000 | DNS, DoT, веб-интерфейс, опционально DHCP |
|
| adguard | adguard/adguardhome:latest | 53/tcp+udp, 67–68, 853, 3000 | DNS, DoT, веб-интерфейс, опционально DHCP |
|
||||||
| homepage | ghcr.io/gethomepage/homepage:latest| 4000→3000 | Дашборд сервисов (home.katykhin.ru) |
|
|
||||||
| dockerproxy | tecnativa/docker-socket-proxy | 2375 (внутри сети)| Прокси к Docker API для Homepage (только чтение) |
|
|
||||||
| wallos | bellamy/wallos:latest | 8282→80 | Учёт подписок (wallos.katykhin.ru) |
|
|
||||||
| log-dashboard | nginx:alpine | 8088→80 | Просмотр ленты обращений NPM (статика из html) |
|
| log-dashboard | nginx:alpine | 8088→80 | Просмотр ленты обращений NPM (статика из html) |
|
||||||
| vpn-route-check | свой образ (build) | host | Проверка маршрутов VPN по доменам, дашборд на 8765 |
|
| vpn-route-check | свой образ (build) | host | Проверка маршрутов VPN по доменам, дашборд на 8765 |
|
||||||
|
|
||||||
@@ -79,13 +74,18 @@ docker exec npm nginx -s reload
|
|||||||
**Каталог:** `/opt/docker/adguard/`
|
**Каталог:** `/opt/docker/adguard/`
|
||||||
**Compose:** `docker-compose.yml` (образ `adguard/adguardhome:latest`).
|
**Compose:** `docker-compose.yml` (образ `adguard/adguardhome:latest`).
|
||||||
|
|
||||||
**Порты:** 53 (DNS TCP/UDP), 67–68 (DHCP при необходимости), 853 (DoT), 3000 (веб-интерфейс).
|
**Порты:** 53 (DNS TCP/UDP), 67–68 (DHCP при необходимости), 853 (DoT), 3000 (исторически веб-интерфейс; сейчас доступ к GUI идёт через NPM и домен adguard.katykhin.ru).
|
||||||
**Тома:** `./data/work`, `./data/conf` → соответствующие пути в контейнере.
|
**Тома:** `./data/work`, `./data/conf` → соответствующие пути в контейнере.
|
||||||
**Сеть:** adguard_proxy_network и proxy_network (доступ с NPM по имени `adguard`).
|
**Сеть:** adguard_proxy_network и proxy_network (доступ с NPM по имени `adguard`).
|
||||||
|
|
||||||
**Конфиг:** `/opt/docker/adguard/data/conf/AdGuardHome.yaml` (upstream DNS, кэш, привязки, пользователи и т.д.). Данные и кэш: `data/work/`.
|
**Конфиг:** `/opt/docker/adguard/data/conf/AdGuardHome.yaml` (upstream DNS, кэш, привязки, пользователи и т.д.). Данные и кэш: `data/work/`.
|
||||||
|
|
||||||
Доступ в веб: http://192.168.1.100:3000. В NPM настроен proxy на adguard (в т.ч. для adguard.local). Виджет и пароль для Homepage задаются в `services.yaml` (в контейнере).
|
Доступ в веб:
|
||||||
|
|
||||||
|
- **Из LAN/VPN:** `https://adguard.katykhin.ru` (через NPM, доступ ограничен подсетями 192.168.1.0/24 и 10.10.99.0/24).
|
||||||
|
- **Старый вариант `http://192.168.1.100:3000` больше не используется** (порт 3000 не нужен при наличии прокси).
|
||||||
|
|
||||||
|
В NPM настроены proxy host'ы на `adguard.local` и `adguard.katykhin.ru`. Виджет и пароль для Homepage задаются в `services.yaml` (в контейнере 103).
|
||||||
|
|
||||||
**Команды:**
|
**Команды:**
|
||||||
```bash
|
```bash
|
||||||
@@ -95,7 +95,9 @@ docker restart adguard
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 3. Homepage
|
## 3. Homepage (сервис перенесён на контейнер 103)
|
||||||
|
|
||||||
|
> Сервис сейчас работает на CT 103 (192.168.1.103); ниже описание compose и конфигов, которые после миграции живут на контейнере 103.
|
||||||
|
|
||||||
**Каталог:** `/opt/docker/homepage/config/`
|
**Каталог:** `/opt/docker/homepage/config/`
|
||||||
**Compose:** в `/opt/docker/homepage/docker-compose.yml` (homepage + dockerproxy).
|
**Compose:** в `/opt/docker/homepage/docker-compose.yml` (homepage + dockerproxy).
|
||||||
@@ -136,7 +138,7 @@ docker logs homepage
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 5. Wallos
|
## 5. Wallos (сервис перенесён на контейнер 103)
|
||||||
|
|
||||||
**Каталог:** `/opt/docker/wallos/`
|
**Каталог:** `/opt/docker/wallos/`
|
||||||
**Compose:** `docker-compose.yml` (образ `bellamy/wallos:latest`).
|
**Compose:** `docker-compose.yml` (образ `bellamy/wallos:latest`).
|
||||||
@@ -200,9 +202,7 @@ docker logs vpn-route-check
|
|||||||
| 67–68 | AdGuard (DHCP при необходимости) |
|
| 67–68 | AdGuard (DHCP при необходимости) |
|
||||||
| 853 | AdGuard (DoT) |
|
| 853 | AdGuard (DoT) |
|
||||||
| 3000 | AdGuard (веб) |
|
| 3000 | AdGuard (веб) |
|
||||||
| 4000 | Homepage |
|
|
||||||
| 8088 | Log-dashboard |
|
| 8088 | Log-dashboard |
|
||||||
| 8282 | Wallos |
|
|
||||||
| 8765 | VPN Route Check (host) |
|
| 8765 | VPN Route Check (host) |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -214,7 +214,6 @@ docker logs vpn-route-check
|
|||||||
- Файлы **fallback_http_access.log**, **fallback_http_error.log** и другие **fallback_*** в правиле не указаны** — ротация по размеру/времени для них не настроена, каталог уже ~67 MB. Риск разрастания (см. TODO).
|
- Файлы **fallback_http_access.log**, **fallback_http_error.log** и другие **fallback_*** в правиле не указаны** — ротация по размеру/времени для них не настроена, каталог уже ~67 MB. Риск разрастания (см. TODO).
|
||||||
- **Certbot:** `/etc/logrotate.d/certbot` — ротация логов letsencrypt (weekly, 12 копий).
|
- **Certbot:** `/etc/logrotate.d/certbot` — ротация логов letsencrypt (weekly, 12 копий).
|
||||||
- **AdGuard:** данные и логи в `data/work/` и `data/conf/` (~85 MB). Стоит проверить настройки хранения логов запросов в веб-интерфейсе AdGuard (ограничение по времени/размеру).
|
- **AdGuard:** данные и логи в `data/work/` и `data/conf/` (~85 MB). Стоит проверить настройки хранения логов запросов в веб-интерфейсе AdGuard (ограничение по времени/размеру).
|
||||||
- **Homepage:** небольшие логи в `config/logs/`.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -223,10 +222,8 @@ docker logs vpn-route-check
|
|||||||
1. Создать сеть (если ещё нет): `docker network create proxy_network`.
|
1. Создать сеть (если ещё нет): `docker network create proxy_network`.
|
||||||
2. NPM: `cd /opt/docker/nginx-proxy && docker compose up -d`.
|
2. NPM: `cd /opt/docker/nginx-proxy && docker compose up -d`.
|
||||||
3. AdGuard: `cd /opt/docker/adguard && docker compose up -d` (создаёт свою сеть и подключается к proxy_network).
|
3. AdGuard: `cd /opt/docker/adguard && docker compose up -d` (создаёт свою сеть и подключается к proxy_network).
|
||||||
4. Homepage (+ dockerproxy): `cd /opt/docker/homepage && docker compose up -d`.
|
4. VPN Route Check: `cd /opt/docker/vpn-route-check && docker compose up -d`.
|
||||||
5. Wallos: `cd /opt/docker/wallos && docker compose up -d`.
|
5. Log-dashboard: при необходимости запустить контейнер с монтом html и портом 8088.
|
||||||
6. VPN Route Check: `cd /opt/docker/vpn-route-check && docker compose up -d`.
|
|
||||||
7. Log-dashboard: при необходимости запустить контейнер с монтом html и портом 8088.
|
|
||||||
|
|
||||||
После изменений в NPM (proxy, SSL): перезагрузка nginx внутри контейнера — `docker exec npm nginx -s reload`. Certbot продлевает сертификаты по таймеру; deploy-hook’и копируют их в NPM и перезагружают nginx.
|
После изменений в NPM (proxy, SSL): перезагрузка nginx внутри контейнера — `docker exec npm nginx -s reload`. Certbot продлевает сертификаты по таймеру; deploy-hook’и копируют их в NPM и перезагружают nginx.
|
||||||
|
|
||||||
@@ -252,8 +249,6 @@ docker logs vpn-route-check
|
|||||||
- [ ] **Резервное копирование:** Регулярный бэкап критичных папок (оценка размеров на момент документации):
|
- [ ] **Резервное копирование:** Регулярный бэкап критичных папок (оценка размеров на момент документации):
|
||||||
- `/opt/docker/nginx-proxy/data` — ~68 MB (конфиги NPM, БД, логи, custom_ssl).
|
- `/opt/docker/nginx-proxy/data` — ~68 MB (конфиги NPM, БД, логи, custom_ssl).
|
||||||
- `/opt/docker/adguard/data` — ~85 MB (конфиги и данные AdGuard).
|
- `/opt/docker/adguard/data` — ~85 MB (конфиги и данные AdGuard).
|
||||||
- `/opt/docker/homepage/config` — ~0.7 MB (конфиги Homepage).
|
|
||||||
- `/opt/docker/wallos/db` — ~0.2 MB (БД Wallos).
|
|
||||||
- `/opt/docker/vpn-route-check` — ~0.1 MB (скрипты и конфиг).
|
- `/opt/docker/vpn-route-check` — ~0.1 MB (скрипты и конфиг).
|
||||||
- `/etc/letsencrypt` — ~0.5 MB (структура сертификатов, live/archive).
|
- `/etc/letsencrypt` — ~0.5 MB (структура сертификатов, live/archive).
|
||||||
- `/root/.secrets/certbot` и `/etc/letsencrypt/renewal-hooks/deploy/` — секреты и deploy-hook’и.
|
- `/root/.secrets/certbot` и `/etc/letsencrypt/renewal-hooks/deploy/` — секреты и deploy-hook’и.
|
||||||
@@ -264,6 +259,6 @@ docker logs vpn-route-check
|
|||||||
## Связь с другими документами
|
## Связь с другими документами
|
||||||
|
|
||||||
- [Архитектура и подключение](../architecture/architecture.md) — таблица контейнеров, домены, схема сети.
|
- [Архитектура и подключение](../architecture/architecture.md) — таблица контейнеров, домены, схема сети.
|
||||||
- [Контейнер 103 (Gitea, Vaultwarden)](container-103.md) — сервис Vaultwarden (менеджер паролей), добавляемый на дашборд Homepage.
|
- [Контейнер 103 (Gitea, Vaultwarden, Homepage, Wallos)](container-103.md) — Gitea, Vaultwarden, CouchDB, а также перенесённые сюда Homepage и Wallos.
|
||||||
- [Выпуск сертификата Let's Encrypt (DNS-01)](../network/ssl-letsencrypt-dns01.md) — certbot, Beget API, интеграция с NPM.
|
- [Выпуск сертификата Let's Encrypt (DNS-01)](../network/ssl-letsencrypt-dns01.md) — certbot, Beget API, интеграция с NPM.
|
||||||
- [Роутер Netcraze Speedster](../network/router-netcraze-speedster.md) — VPN и telnet, используемые vpn-route-check.
|
- [Роутер Netcraze Speedster](../network/router-netcraze-speedster.md) — VPN и telnet, используемые vpn-route-check.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Контейнер 103 (Gitea): Gitea, PostgreSQL, act_runner, CouchDB (Obsidian), Vaultwarden
|
# Контейнер 103 (Gitea): Gitea, PostgreSQL, act_runner, CouchDB (Obsidian), Vaultwarden, Homepage, Wallos
|
||||||
|
|
||||||
Подробное описание LXC-контейнера **103** на Proxmox (192.168.1.103): Git-сервер Gitea с Actions (runner), база PostgreSQL, CouchDB для синхронизации Obsidian (домен obsidian.katykhin.ru).
|
Подробное описание LXC-контейнера **103** на Proxmox (192.168.1.103): Git-сервер Gitea с Actions (runner), база PostgreSQL, CouchDB для синхронизации Obsidian (домен obsidian.katykhin.ru), менеджер паролей Vaultwarden, а также дашборд Homepage и Wallos (перенесены с контейнера 100).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -27,11 +27,13 @@
|
|||||||
|
|
||||||
## Сервисы (Docker)
|
## Сервисы (Docker)
|
||||||
|
|
||||||
Три набора сервисов:
|
Наборы сервисов:
|
||||||
|
|
||||||
1. **Gitea (compose)** — в `/opt/gitea/`: Gitea, PostgreSQL, act_runner. Сеть **gitea_default**.
|
1. **Gitea (compose)** — в `/opt/gitea/`: Gitea, PostgreSQL, act_runner. Сеть **gitea_default**.
|
||||||
2. **CouchDB** — запущен отдельным контейнером (без compose в репозитории), данные в `/opt/docker/couchdb/`.
|
2. **CouchDB** — отдельный контейнер, данные в `/opt/docker/couchdb/`.
|
||||||
3. **Vaultwarden (compose)** — в `/opt/docker/vaultwarden/`: менеджер паролей Vaultwarden (совместим с клиентами Bitwarden).
|
3. **Vaultwarden (compose)** — в `/opt/docker/vaultwarden/`: менеджер паролей Vaultwarden (совместим с клиентами Bitwarden).
|
||||||
|
4. **Homepage + dockerproxy (compose)** — в `/opt/docker/homepage/`: дашборд сервисов.
|
||||||
|
5. **Wallos (compose)** — в `/opt/docker/wallos/`: учёт подписок.
|
||||||
|
|
||||||
| Контейнер | Образ | Порты (хост) | Назначение |
|
| Контейнер | Образ | Порты (хост) | Назначение |
|
||||||
|-----------------|--------------------------|------------------|------------|
|
|-----------------|--------------------------|------------------|------------|
|
||||||
@@ -40,6 +42,9 @@
|
|||||||
| gitea-runner-1 | gitea/act_runner:latest | — | Gitea Actions (CI) |
|
| gitea-runner-1 | gitea/act_runner:latest | — | Gitea Actions (CI) |
|
||||||
| couchdb | couchdb:3 | 5984 | Бэкенд синхронизации Obsidian (obsidian.katykhin.ru) |
|
| couchdb | couchdb:3 | 5984 | Бэкенд синхронизации Obsidian (obsidian.katykhin.ru) |
|
||||||
| vaultwarden | vaultwarden/server:latest | 8280 | Менеджер паролей Vaultwarden (Bitwarden-совместимый), доступ из LAN |
|
| vaultwarden | vaultwarden/server:latest | 8280 | Менеджер паролей Vaultwarden (Bitwarden-совместимый), доступ из LAN |
|
||||||
|
| homepage | ghcr.io/gethomepage/homepage:latest | 4000→3000 | Дашборд сервисов (home.katykhin.ru, доступ только из LAN и VPN через NPM) |
|
||||||
|
| dockerproxy | ghcr.io/tecnativa/docker-socket-proxy:latest | 2375/tcp | Прокси к Docker API для Homepage (read-only) |
|
||||||
|
| wallos | bellamy/wallos:latest | 8282→80 | Учёт подписок (wallos.katykhin.ru, доступ только из LAN и VPN через NPM) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -238,6 +243,7 @@ curl -s http://127.0.0.1:8280/ | head -c 200
|
|||||||
3. **Gitea и CouchDB по IP:** Доступ по 192.168.1.103:3000 и :5984 из LAN. Если нужен доступ снаружи — только через NPM (HTTPS, домены git.katykhin.ru, obsidian.katykhin.ru) и не пробрасывать порты 3000/5984 напрямую в интернет.
|
3. **Gitea и CouchDB по IP:** Доступ по 192.168.1.103:3000 и :5984 из LAN. Если нужен доступ снаружи — только через NPM (HTTPS, домены git.katykhin.ru, obsidian.katykhin.ru) и не пробрасывать порты 3000/5984 напрямую в интернет.
|
||||||
4. **Логи Docker:** Ротация не настроена — возможен рост логов и заполнение диска (см. TODO).
|
4. **Логи Docker:** Ротация не настроена — возможен рост логов и заполнение диска (см. TODO).
|
||||||
5. **CouchDB CORS:** В конфиге включены CORS с origins = * и credentials = true. Достаточно для Obsidian; при расширении использования оценить ограничение origins.
|
5. **CouchDB CORS:** В конфиге включены CORS с origins = * и credentials = true. Достаточно для Obsidian; при расширении использования оценить ограничение origins.
|
||||||
|
6. **Homepage и Wallos по доменам:** `home.katykhin.ru` и `wallos.katykhin.ru` публикуются через NPM на CT 100, но в proxy-конфигах Access List (через `allow/deny`) ограничивает доступ только подсетями LAN (192.168.1.0/24) и VPN (10.10.99.0/24); из интернета без VPN домены недоступны.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -261,5 +267,5 @@ curl -s http://127.0.0.1:8280/ | head -c 200
|
|||||||
|
|
||||||
## Связь с другими документами
|
## Связь с другими документами
|
||||||
|
|
||||||
- [Архитектура и подключение](../architecture/architecture.md) — таблица контейнеров, домены (в т.ч. obsidian.katykhin.ru), схема сети.
|
- [Архитектура и подключение](../architecture/architecture.md) — таблица контейнеров, домены (в т.ч. obsidian.katykhin.ru, home.katykhin.ru, wallos.katykhin.ru), схема сети.
|
||||||
- [Контейнер 100 (nginx)](container-100.md) — NPM, через который при необходимости проксируются git.katykhin.ru и obsidian.katykhin.ru.
|
- [Контейнер 100 (nginx)](container-100.md) — NPM и AdGuard; через NPM проксируются git.katykhin.ru, obsidian.katykhin.ru, vault.katykhin.ru, home.katykhin.ru и wallos.katykhin.ru.
|
||||||
|
|||||||
@@ -89,7 +89,8 @@ flowchart TB
|
|||||||
Исключения из цепочки:
|
Исключения из цепочки:
|
||||||
- **Galene (108)** дополнительно зависит от **coTURN (VPS Миран)** для STUN/TURN — на графе это отдельная зависимость от внешнего узла.
|
- **Galene (108)** дополнительно зависит от **coTURN (VPS Миран)** для STUN/TURN — на графе это отдельная зависимость от внешнего узла.
|
||||||
- **RAG (105)** без внешней БД в стеке — только NPM → Service.
|
- **RAG (105)** без внешней БД в стеке — только NPM → Service.
|
||||||
- **AdGuard, Homepage, Wallos** живут на том же хосте, что и NPM (CT 100), но логически стоят «рядом» с NPM (доступ к ним тоже через роутер и при необходимости через NPM).
|
- **AdGuard** живёт на том же хосте, что и NPM (CT 100), но логически стоит «рядом» с NPM (доступ к нему тоже через роутер и при необходимости через NPM, домен `adguard.katykhin.ru` ограничен LAN + VPN).
|
||||||
|
- **Homepage и Wallos** после миграции работают на CT 103, но остаются доступны по доменам через NPM на CT 100; домены `home.katykhin.ru` и `wallos.katykhin.ru` также закрыты Access List'ом под LAN (192.168.1.0/24) и VPN (10.10.99.0/24).
|
||||||
- **Vaultwarden (vault.katykhin.ru):** доступ только из LAN (192.168.1.0/24) и из VPN (10.10.99.0/24). Публичный доступ из интернета закрыт; удалённо — только через WireGuard (CT 109). NPM Access List ограничивает приём по подсетям.
|
- **Vaultwarden (vault.katykhin.ru):** доступ только из LAN (192.168.1.0/24) и из VPN (10.10.99.0/24). Публичный доступ из интернета закрыт; удалённо — только через WireGuard (CT 109). NPM Access List ограничивает приём по подсетям.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -148,9 +149,9 @@ flowchart TB
|
|||||||
|------|------------|------|----------------------|
|
|------|------------|------|----------------------|
|
||||||
| **Роутер** | 192.168.1.1 | Шлюз LAN, проброс 80/443, VPN-клиент (AmneziaWG) | Внешний IP: 185.35.193.144 |
|
| **Роутер** | 192.168.1.1 | Шлюз LAN, проброс 80/443, VPN-клиент (AmneziaWG) | Внешний IP: 185.35.193.144 |
|
||||||
| **Proxmox** | 192.168.1.150 | Гипервизор (LXC + KVM) | Управление: `pct`, `qm` |
|
| **Proxmox** | 192.168.1.150 | Гипервизор (LXC + KVM) | Управление: `pct`, `qm` |
|
||||||
| **CT 100** | 192.168.1.100 | NPM, Homepage, AdGuard, Wallos, log-dashboard, vpn-route-check | home.katykhin.ru, wallos.katykhin.ru, adguard.local; приём 80/443 |
|
| **CT 100** | 192.168.1.100 | NPM, AdGuard, log-dashboard, vpn-route-check | adguard.local, adguard.katykhin.ru; приём 80/443 для всех доменов |
|
||||||
| **CT 101** | 192.168.1.101 | Nextcloud, PostgreSQL, Redis | cloud.katykhin.ru |
|
| **CT 101** | 192.168.1.101 | Nextcloud, PostgreSQL, Redis | cloud.katykhin.ru |
|
||||||
| **CT 103** | 192.168.1.103 | Gitea, PostgreSQL, act_runner, CouchDB (Obsidian), Vaultwarden | git.katykhin.ru, obsidian.katykhin.ru, vault.katykhin.ru (LAN + VPN) |
|
| **CT 103** | 192.168.1.103 | Gitea, PostgreSQL, act_runner, CouchDB (Obsidian), Vaultwarden, Homepage, Wallos | git.katykhin.ru, obsidian.katykhin.ru, vault.katykhin.ru (LAN + VPN), home.katykhin.ru, wallos.katykhin.ru |
|
||||||
| **CT 104** | 192.168.1.104 | Paperless-ngx, PostgreSQL, Redis | docs.katykhin.ru |
|
| **CT 104** | 192.168.1.104 | Paperless-ngx, PostgreSQL, Redis | docs.katykhin.ru |
|
||||||
| **CT 105** | 192.168.1.105 | RAG API (mini-lm) | mini-lm.katykhin.ru |
|
| **CT 105** | 192.168.1.105 | RAG API (mini-lm) | mini-lm.katykhin.ru |
|
||||||
| **CT 107** | 192.168.1.107 | Invidious, Companion, PostgreSQL | video.katykhin.ru |
|
| **CT 107** | 192.168.1.107 | Invidious, Companion, PostgreSQL | video.katykhin.ru |
|
||||||
@@ -170,9 +171,10 @@ flowchart TB
|
|||||||
|
|
||||||
| Домен | Upstream (хост:порт) | Контейнер/ВМ |
|
| Домен | Upstream (хост:порт) | Контейнер/ВМ |
|
||||||
|-------|----------------------|---------------|
|
|-------|----------------------|---------------|
|
||||||
| home.katykhin.ru | Homepage (внутри 100) | CT 100 |
|
| home.katykhin.ru | 192.168.1.103:4000 | CT 103 (Homepage) |
|
||||||
| wallos.katykhin.ru | wallos:80 | CT 100 |
|
| wallos.katykhin.ru | 192.168.1.103:8282 | CT 103 (Wallos) |
|
||||||
| adguard.local | adguard:3000 | CT 100 |
|
| adguard.local | adguard:3000 | CT 100 |
|
||||||
|
| adguard.katykhin.ru | adguard:80 | CT 100 |
|
||||||
| cloud.katykhin.ru | 192.168.1.101:8080 | CT 101 |
|
| cloud.katykhin.ru | 192.168.1.101:8080 | CT 101 |
|
||||||
| docs.katykhin.ru | 192.168.1.104:8000 | CT 104 |
|
| docs.katykhin.ru | 192.168.1.104:8000 | CT 104 |
|
||||||
| video.katykhin.ru | 192.168.1.107:3000 | CT 107 |
|
| video.katykhin.ru | 192.168.1.107:3000 | CT 107 |
|
||||||
|
|||||||
Reference in New Issue
Block a user