Two linked tasks, spec in .wiki/concepts/ per project-discipline. Task A — snolla-local-admin-restore: восстановить локальный catch-all IIS-сайт `snolla` (снесён 2026-06-08) копированием C:\sites\snolla\ с RUVDS (прод-админ с MinIO drop-in), conn → mssql.kzntsv.site MoreThenCms. Доступ <alias>.snolla.com/admin через hosts-override, один AppPool. Адреса + siteIds извлечены из MoreThenCms DB read-only. Task B — on-snolla-vds-migration (blocked by A): on.snolla.com (siteId B9ECDB50…, alias on, "Internal Site", culture en) с RUVDS IIS → VDS Node snolla-app 0.42.1, реконструкция Liquid-шаблонов из боевого сайта+админки (исходников нет). По рецепту tandemmebel-vds-deploy-runbook. Board entries: .tasks/STATUS.md + per-task files. Co-Authored-By: Claude <noreply@anthropic.com>
3.2 KiB
snolla-local-admin-restore
Goal
Восстановить локальный .NET-админ (catch-all IIS-сайт snolla) на этой машине (windows-recovery-host), снесённый 2026-06-08 при декоммишене. Назад — с RUVDS (текущий прод-админ с MinIO drop-in). Даёт /admin для всех сайтов тиража + on.snolla.com локально. Спека: ../.wiki/concepts/snolla-local-admin-and-on-snolla-migration-design.md §Task A.
Why
Тираж уехал на VDS (Node), админка осталась на RUVDS .NET. Нужно локально редактировать контент (особенно on.snolla.com для Task B) без зависимости от RUVDS. Временно — пока админ не мигрирован на VDS.
Addressing (confirmed оператором)
Catch-all *:80 + hosts-override → 127.0.0.1 <alias>.snolla.com. Один AppPool snolla. URL = <alias>.snolla.com/admin:
- tandemmebel.snolla.com/labtools.snolla.com/labtoolspro.snolla.com/emspb.snolla.com/kupimknigi.snolla.com/on.snolla.com
Plan / phases
- 0. Verify source (read-only SSH RUVDS) —
pass show ruvds-iis/full-env; проверитьC:\sites\snolla\есть,Web.configнесётFileStorage.S3+minio.kzntsv.site, IIS sitesnollaжив. Если MinIO НЕ применён → fallback: build из MoreThenCms source + drop-inMoreThenCms.FileStorage.S3/deploy/. - 1. Копировать
C:\sites\snolla\RUVDS→локально (~8.66 GB, scp/rclone). - 2. Репойнт conn-string →
mssql.kzntsv.site,1433;Catalog=MoreThenCms;TrustServerCertificate=True(DB-креды изpass; уточнить app-аккаунт vs SA). - 3. MinIO-ключи в
<fileStorageClients>—minio.kzntsv.site, бакеты assets/galleries/themes, ключи изpass show minio-vds/full-env(если плейсхолдеры). Кэши оставить Local. - 4. IIS-сайт
snolla— AppPoolsnolla(.NET v4.0 Integrated, AppPoolIdentity), binding*:80catch-all. ACLIIS AppPool\snolla:(OI)(CI)(M)наC:\sites\snolla. - 5. hosts-override —
127.0.0.1 <6 aliases>.snolla.com(elevation). - 6. FW — блок inbound 80 (локальный только). URL Rewrite rule НЕ ставить.
- 7. Smoke —
curl -H "Host: tandemmebel.snolla.com" http://127.0.0.1/admin/account/login→ 200; on.snolla.com同理; MinIO upload-цикл.
Status
⚪ ready (ждёт отмашки оператора на SSH RUVDS + креды). Branch: master.
Depends on / blocks
- Блокирует: on-snolla-vds-migration (нужен админ для контент-инспекции on.snolla.com).
Open Q
- MoreThenCms DB app-аккаунт + путь в
pass(SA естьmssql-vds/sa-password, но админ юзает app-аккаунт). - Включать все ~60 сайтов или только тираж(5)+on.snolla.com — catch-all даёт все, решает hosts-список.
Rollback
Удалить IIS-сайт snolla + C:\sites\snolla\ + откатать hosts. Прод-RUVDS не тронут.