Files
obsidian-vault/wiki/tech/kraken-network.md
T

102 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Kraken Network & Infra
namespace: work
created: '2026-05-17'
updated: '2026-05-20'
last_synced: '2026-05-20'
type: reference
tags:
- kraken
- network
- infra
- htpc
confidence: high
---
# Kraken Network & Infra
## Topology
| Host | IP | Notes |
|------|----|-------|
| Kraken | 192.168.1.15 | wlan0 (ASUS5), основной. `ssh kraken`. eth0 отключён |
| Kraken eth0 | 192.168.1.14 | DHCP static lease, **неактивен** |
| HTPC | 192.168.1.86 | Bazzite, LAN |
## Важные правила
- HTPC **не достигает** Kraken через WireGuard — только LAN (`192.168.1.14`)
- Kraken **достигает** HTPC напрямую по LAN (192.168.1.86)
- Для rsync: **всегда тянуть на Kraken** (Kraken→HTPC), никогда push с HTPC
## WireGuard VPN
Kraken имеет WireGuard адрес 10.99.1.2 (через VPS 91.207.28.205). Используется только как резервный путь при недоступности LAN.
### wg-auto.sh (Eagle-side, macOS)
Авто-управление WireGuard-туннелем на Eagle (ноутбуке):
- Polling каждые 30 секунд
- `AbandonProcessGroup=true` в plist (корректное завершение)
- Проверка туннеля: `ifconfig | grep 10.99.0.2`
- Поднятие/опускание через `wg_up()` с очисткой старого интерфейса
- `wg0.conf`: **без `DNS=`** — вместо этого PostUp создаёт `/etc/resolver/kraken` (nameserver 10.99.0.1), PostDown удаляет. **Без `killall mDNSResponder`** — не нужно.
### Сетевые интерфейсы Kraken
- `wlan0` (192.168.1.15, MAC `2c:cf:67:64:03:f4`, ASUS5) — **основной**, static lease на роутере
- `eth0` — отключён
- `ssh kraken` резолвится в **192.168.1.15** (wlan0)
## Kodi на HTPC
- Library: `/run/media/bazzite/Data/kodi/{movies,series}` — симлинки на реальные файлы
## Kraken media volume
- Mount path: `/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/media``/media`
- **НЕ** `/mnt/user/media` — пустая!
- Configs: `~/docker/media-pipeline/{config.json,cache/,unresolved.json}`
- Нет docker-compose — только `docker run` напрямую
- Монтировать `unresolved.json` явно: `-v "$(pwd)/unresolved.json:/config/unresolved.json"`
## *arr стек (добавлен 2026-05-17)
Prowlarr / Radarr / Sonarr + Transmission + Jellyfin — полностью настроены через API.
Скилл: `~/.hermes/skills/arr-media-stack-setup/SKILL.md`
| Сервис | Порт | Compose dir |
|--------|------|-------------|
| Transmission | 9091 | `docker/transmission/` |
| Radarr | 7878 | `docker/radarr/` |
| Sonarr | 8989 | `docker/sonarr/` |
| Prowlarr | 9696 | `docker/prowlarr/` |
| Jellyfin | 8096 | `docker/jellyfin/` |
Все контейнеры в `media_net` (external network), кроме Jellyfin (читает диск напрямую).
RuTracker индексер подключён через Prowlarr → fullSync в Radarr/Sonarr.
Скачка медиа-агентом: скилл `download-media` (Radarr/Sonarr API — только `curl + jq`, без python3).
**⚠️ Pitfall: Pi-hole DNS hijack** — при включённом Pi-hole Radarr/Sonarr могут получать 503 на DNS lookup (Pi-hole блокирует трекеры). Решение: whitelist в Pi-hole или прямые IP в настройках индексера.
**⚠️ Pitfall: curl отсутствует в Hermes-контейнере** — агент внутри Docker не может исполнять curl-команды из скилла. Skills path: `~/.hermes/skills/` видна только хостовому Hermes; контейнерный Hermes ищет в `/opt/data/skills/`.
## HDD Hardware Error — поведение при перегрузке
**Симптом (2026-05-18):** При одновременном rsync + Jellyfin transcode + docker overlay → ext4 сбрасывает ошибку Sense Key 0x4 (Hardware Error) → файловая система ремонтирует в read-only (`remount-ro`).
**Признаки:** Docker containers fail with `EIO` (I/O error -5), overlayfs недоступен.
**Восстановление:**
1. Reboot Kraken (OMV или физически)
2. При монтировании ext4 автоматически запускает fsck
3. После ребута: `docker compose up -d` из каждого `~/docker/<service>/`
**Профилактика:** не запускать rsync и ffmpeg transcode одновременно. Jellyfin transcode: pgsrip (subtitle extraction) особенно нагружает CPU+диск.
## Связанные заметки
- [[personal-os-architecture]]
- [[tech/media-pipeline-pitfalls]]
- [[tech/htpc-steam-emulators]]