Добавлена таблица порт->conn-string->БД для двух оставшихся IIS-сайтов (stostayer :8090 -> внешний прод www.stostayer.ru; stostayer.old :8091 -> наш mssql.kzntsv.site), путь админок /admin, live-проверка 2026-06-17. Пофикшена стейловая строка stostayer.old conn (localhost -> mssql.kzntsv.site). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
10 KiB
title, type, tags, sources, updated
| title | type | tags | sources | updated | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows Recovery Host (рабочий PC пользователя) | entity |
|
|
2026-06-17 |
Windows Recovery Host
Личный Windows-PC пользователя, который во время recovery стал production-сервером для всех клиентских сайтов.
⚠ Состояние после декоммишена (2026-06-08)
Машина прибрана: почти всё уехало на VDS (CMS→RUVDS, MSSQL→vds-kzntsv, MinIO/imgproxy/ES→books VDS), бэкапы настроены, локальный контент удалён. Разделы «Что хостит сейчас» / «Запущенные docker контейнеры» / «Host IIS configuration» ниже — ИСТОРИЯ (до 2026-06-08), не текущее состояние.
Что осталось на машине сейчас:
-
IIS: только сайты
stostayer(:8090) иstostayer.old(:8091). Сайтsnolla+C:\sites\snollaудалены. Оба — движок MoreThenCms, админка по пути/admin(http://localhost:<port>/admin). Наружу не светят (traefik routes.yml.disabled), доступ только локальный.Сайт Порт Connection string → БД Что за БД stostayer:8090Data Source=www.stostayer.ru,1433·Catalog=stostayer· userstayer_siteвнешний прод SQL Server 2022 (чужая инфра, реальный боевой stostayer); файлы — S3 minio.stostayer.rustostayer.old:8091Data Source=mssql.kzntsv.site,1433·Catalog=stostayer· usersnollaнаш MSSQL на vds-kzntsv (orphan-user snollaпочинен); файлы — local storageLive-проверка 2026-06-17:
W3SVC+WASRunning, оба порта:8090/:8091LISTENING;:80(бывшийsnolla) не слушается. -
Docker:
lightrag-*+postgres(оставлены),markitdown-mcp×3 (MCP-инфра агента). Снесены: traefik, mssql, minio, imgproxy(+nginx), elasticsearch + 21 husk-стек.diskstation/пуст. -
VirtualBox: только
mutable-dev-environment(оставлен). VMsnolla-recovery(95ГБ) удалена.C:\nas-recovery(OVA+vm-sites, ~150ГБ) удалён. -
Диск C: free 62 → 275 ГБ. Ещё ~176 ГБ docker-reclaim лежит в WSL2-vhdx — вернётся после
wsl --shutdown+Optimize-VHD(follow-up вне agent-сессии).
Детали: .tasks/decommission-windows-recovery-host.md. image-pipeline SPOF (imgproxy на этой машине) снят — imgproxy.kzntsv.site теперь на books VDS.
Hardware / OS
- Hostname: DESKTOP-NSEF0UK
- OS: Windows 11 Pro (предположительно — поддерживает Hyper-V, IIS, .NET Framework)
- LAN-MAC: 88:66:5A:2F:AA:68 (Broadcom 802.11ac WiFi)
- LAN-IP: 192.168.1.143 (DHCP-резервация на openwrt-router)
- Диск C: ~700 GB total, на старте recovery ~352 GB free, после — ~150 GB free.
- Юзер: vitya (admin)
Установленный стек
- .NET Framework: 4.8.1
- IIS (W3SVC, на 80, мы планировали остановить — но не остановили, traefik на 8000/4443 не конфликтует)
- Docker Engine 29.3.1 (Docker Desktop с WSL2 backend)
- VirtualBox 7.2.8 (установлен в сессии 2026-05-18, через winget)
- OpenSSH client (для ssh/scp к kreknin и VM)
- FileZilla client (для пользовательских SFTP-перетаскиваний)
Сетевое положение
- За OpenWRT 23.05.4 openwrt-router
- Соединение с интернетом через WiFi (Broadcom 802.11ac, 288 Mbps)
- За VLESS-клиентом v2rayN (роутер default-route шёл через VPN, пришлось настроить Bypass LAN правило с
geoip:private→ direct, иначе входящие 80/443 терялись через asymmetric routing)
Что хостит сейчас (после attempt 2 успешной миграции на host-IIS, 2026-05-19 вечер)
Active prod:
| Что | Где | Порт (host) | Прим. |
|---|---|---|---|
Native IIS — site snolla |
C:\sites\snolla (pool snolla, .NET v4.0 Integrated, ApplicationPoolIdentity) |
*:80, *:8089 |
active prod — catch-all для 11 cms hosts; traefik backend host.docker.internal:8089 |
Native IIS — site stostayer |
C:\sites\stostayer (pool stostayer) |
*:8090 |
local-only, traefik route .yml.disabled (user: «внутренний, наружу не светить») |
Native IIS — site stostayer.old |
C:\sites\stostayer.old (pool stostayer.old) |
*:8091 |
local-only, traefik route .yml.disabled |
| traefik 2.6.6 | Docker, network proxy |
8000 (http), 4443 (https), 8080 (dashboard) | 11 cms routes → host IIS:8089; 2 stayer routes DISABLED; 3 infra routes |
| MSSQL 2019 | Docker, named volume mssql_mssql_data |
1433 | 5 production DB |
| MinIO | Docker, bind-mount ./data |
9000 | |
| Elasticsearch 7.10.1 | Docker, bind-mount ./data |
9200 | books-стек, не CMS |
| imgproxy | Docker | 8787 | |
| imgproxy-nginx | Docker | 8788 |
Parallel fallback (running, без traffic):
| Что | Где | Порт (host) | Прим. |
|---|---|---|---|
VirtualBox snolla-recovery VM |
C:\Users\vitya\VirtualBox VMs\snolla-recovery\ |
NAT 13389/23389/8022/18080/18180/18181/18189 | parallel fallback на 24-48h soak; затем savestate; см. snolla-recovery-vm |
Прочие inert:
| Что | Где | Прим. |
|---|---|---|
C:\sites\snolla-identity-manager\ |
папка без IIS-сайта | deploy-артефакт, не активен |
| traefik backups | data/custom/*.yml.bak-*-2026-05-19 (5 серий) |
atomic-revert artefacts; .bak-pre-attempt2-2026-05-19 — baseline текущей prod conf |
Default Web Site stopped (autoStart=false). URL Rewrite + ARR не установлены.
Ключевые папки
C:\Users\vitya\projects\docker\diskstation\— compose'ы и данные docker-стековmssql/,minio/,elasticsearch/,imgproxy/,traefik/traefik/data/custom/*.yml— file-provider routes для всех 13 client доменов + ES/MinIO/imgproxy
C:\Users\vitya\VirtualBox VMs\snolla-recovery\— VM home, active prod (running)C:\nas-recovery\backup\snolla\snolla.ova— оригинал OVA (45.6 GB, для повторного импорта если что)C:\nas-recovery\vm-sites\wwwroot\,C:\nas-recovery\vm-sites\stayer\— резервная копия IIS-сайтов из VM (использована для миграции на хост; пока хранится как safety net)C:\sites\— inert, готов для следующей попытки миграции (см. iis-migration-2026-05-19-postmortem):snolla\— Web.config patched (sitePath + conn → localhost)stostayer\— Web.config patched (conn →www.stostayer.ru,1433с XML-escape&)stostayer.old\— Web.config conn →mssql.kzntsv.site,1433(репойнтнут сlocalhostпосле миграции MSSQL на vds-kzntsv)snolla-identity-manager\— deploy-артефакт, IIS-сайта нет
C:\Users\vitya\projects\MoreThenCms\— git-репо с исходниками CMS
SSH-ключи на этой машине
~/.ssh/id_ed25519_kreknin— для kreknin-synology (vitya@195.19.90.188)~/.ssh/id_ed25519_openwrt— для openwrt-router (root@192.168.1.1)~/.ssh/id_ed25519_snolla_vm— для snolla-recovery-vm (vitya@127.0.0.1:8022, в admin-keys VM)
Что должно случиться, если этот PC погаснет
- Image-pipeline (imgproxy) ляжет для всех сайтов — RUVDS IIS rendering'ит HTML самостоятельно, но картинки идут через
imgproxy.kzntsv.siteкоторый всё ещё на этой машине. Partial SPOF после миграции IIS. tandemmebel.ru+ www — лежат полностью (scope-narrowed 2026-05-24, остаются здесь indefinitely).- Остальные ~24 CMS hostnames — degrade gracefully после full DNS swap на RUVDS (HTML работает, картинки нет). Pre-swap — DNS всё ещё указывает сюда → полный outage до swap'а.
- MSSQL / MinIO — уже мигрированы на vds-kzntsv (2026-05-22), здесь только containers running в idle (могут быть decommission'ed).
- Long-term goal — closing image-pipeline SPOF (Option B local nginx-relay / Option D decompile DLL), см. future-resilient-architecture-goals + ../concepts/iis-cutover-to-vds-services.
IIS partial-cutover на RUVDS (2026-05-24)
IIS site snolla частично мигрирован на ruvds-iis-host (80.64.31.36). State 2026-05-24:
- ✅ DNS flipped:
kupimknigi.spb.ru(~00:00),emspb.ru+www.emspb.ru(~12:00). Public resolver cache держит старое до TTL=86400 expiry. - ⏳ В очереди (pending TTL drop до 300s в reg.ru): 22 hostnames — pilorama98/www, labtools.ru/www, labtools.pro/www, 12× *.snolla.com, rimiz.ru/www, maljarka.tandemmebel.ru, etc.
- ⛔ Останутся здесь indefinitely:
tandemmebel.ru+www.tandemmebel.ru(scope narrow). - ⚠ Source IIS:8089 + traefik routes для CMS-hostnames всё ещё running — rollback path на ~1 неделю soak. После — decommission (но не traefik сам, много других routes).
Подробная chronology — ../sources/iis-migration-to-ruvds-2026-05-23. Driver: future-resilient-architecture-goals.