# decommission-windows-recovery-host ## Goal Прибраться на [[../entities/windows-recovery-host]] (DESKTOP-NSEF0UK) после Synology-аварии: сервисы поднимались здесь временно, теперь почти все уехали на VDS + бэкапы настроены, локальный контент остался. Освободить диск (было 62 ГБ free из 636 used). **Оставить только IIS-сайты stostayer (`stostayer` + `stostayer.old`).** ## User decisions (2026-06-08) 1. snolla rollback-артефакты (VM 95ГБ + OVA 42ГБ + vm-sites 11ГБ) — **снести всё сейчас, без архива** (RUVDS cutover стабилен с 05.06, win-acme самодостаточен). 2. `stostayer.old` (:8091, БД на локальном MSSQL) — **нужен → репойнт web.config на `mssql.kzntsv.site,1433`, локальный MSSQL снести**. 3. Bulk safe — **всё разом**. ## Plan / phases - [x] **A. Docker images + build cache prune** — ✅ образы 118→7.1ГБ, build-cache 65→0ГБ (~176ГБ logical). + rm exited-мусор. ⚠ physical-reclaim на C: только после vhdx-compact (см. ниже). - [x] **B. Redundant local CMS-backend контейнеры** — ✅ stop+rm `minio`/`imgproxy`/`imgproxy-nginx`/`elasticsearch`. - [x] **C. Husk-стеки** — ✅ удалены 21 пустой `diskstation/*` + data-папки minio/es/imgproxy. Осталось в diskstation: `mssql`, `traefik`. - [x] **D. snolla rollback** — ✅ VBox VM `snolla-recovery` (unregistervm --delete, −95ГБ) + `C:\nas-recovery` (−~150ГБ, по содержимому: harness блокирует Remove-Item на root-C:-папке). **C: free 62→214ГБ.** - [x] **C.bis sites archives** — ✅ удалены `C:\sites\snolla.tar.gz`, `snolla.zip`, `snolla-identity-manager`. - [ ] **E+F. ELEVATED finale** — заскриптовано в `scripts/decommission-windows-recovery-host/finish-elevated.ps1`. Делает: orphan-fix `snolla@stostayer` на VDS (sa из pass) → репойнт stostayer.old web.config на `mssql.kzntsv.site` → рестарт пула + smoke :8091 (гейт: 5xx → STOP) → снос IIS-сайта `snolla` + `C:\sites\snolla` + dead traefik-routes → снос локального MSSQL (~30ГБ). **Блокер для non-elevated tool: нужен elevated shell + рабочий gpg/pass — это user-shell. Запускает user.** ### Verify-факт (2026-06-08) БД `stostayer` НА VDS ЕСТЬ (все 5 уехали: MoreThenCms/StayerCalculator/StayerPrice/stostayer/TireService), логин `snolla` существует, но его user в `stostayer` **orphaned** → прямой репойнт даёт `Login failed`. Фикс = `ALTER USER snolla WITH LOGIN=snolla` (в скрипте, шаг F1). ### Follow-up - **vhdx compact** (вернуть ~176ГБ docker-reclaim на C:): `wsl --shutdown` + `Optimize-VHD ...docker_data.vhdx`. Гасит markitdown-MCP/lightrag — делать вне активной agent-сессии. - **mutable-dev-environment VM** (3ГБ) — leftover dev, не в scope ответов. Снести? — спросить. - **local traefik** — после E больше ничего не обслуживает (stostayer :8090/:8091 — direct, не через traefik). Кандидат на полный снос. Низкий приоритет (~0ГБ). - **lightrag-* + postgres контейнеры** — статус не подтверждён (локальный MCP vs leftover). Спросить user. ## Keep - IIS `stostayer` (:8090, БД внешняя www.stostayer.ru) + `stostayer.old` (:8091, после репойнта на VDS). - traefik (proxy-plane), markitdown-mcp (агент-инфра), `MoreThenCms` git-репо, SSH-ключи. - **lightrag-* + postgres контейнеры** — НЕ трогать пока не подтверждён статус (локальный MCP-инстанс vs leftover). Open question. ## Notes - Elevated-операции (IIS site remove, web.config в C:\sites, Restart-WebAppPool) — non-elevated tool не может; готовить команды для user или elevated shell. - ⚠ Soak snolla формально до ~12.06 — user разрешил снести раньше (cutover стабилен).