tasks(board-viewer): close 🟢 + Portainer-migration sweep noted в header

STATUS header reflects Portainer-canonical sweep + 12 stacks migrated.
board-viewer-vds-deploy closed как часть sweep (Portainer Id=3).
This commit is contained in:
2026-05-22 16:47:52 +03:00
parent d99602894f
commit 19c71cddae

View File

@@ -1,5 +1,5 @@
# Admin Task Board # Admin Task Board
_Updated: 2026-05-22 (Сессия завершена. MSSQL Express 2022 live на `mssql.kzntsv.site:1433` с 5 restored DBs, IIS snolla site cutover ✓ — 8 prod hosts 200 OK. MinIO/imgproxy: VDS stack live as standby (3 GiB / 19324 obj mirrored, upgrade 2020→2025), но CMS image pipeline остаётся на windows-host — closed-source `MoreThenCms.Modules.Imgproxy.dll` hardcoded `https://imgproxy.kzntsv.site` URL. User decision Option C. 3 wiki concepts ingested. Decommission window-host MSSQL после 48ч soak 2026-05-24; MinIO/imgproxy/nginx на windows остаются indefinitely.)_ _Updated: 2026-05-22 (Сессия: MSSQL Express 2022 live (`mssql.kzntsv.site:1433`, 5 DBs, 8 prod hosts 200 OK). MinIO/imgproxy VDS stack live as standby (CMS остаётся на windows из-за hardcoded URL в closed-source DLL). board-viewer-vds-deploy ✓ (board.kzntsv.site + basicauth). **+ Portainer-migration sweep**: 12 ad-hoc stacks → Portainer-managed (canonical rule добавлен в CLAUDE.md + `portainer-stack-management-vds` concept). Skipped traefik+portainer (management plane). Decommission window-host MSSQL после 48ч soak 2026-05-24.)_
<!-- <!--
Status legend: Status legend:
@@ -10,13 +10,18 @@ _Updated: 2026-05-22 (Сессия завершена. MSSQL Express 2022 live
🔵 Blocked — waiting on external input 🔵 Blocked — waiting on external input
--> -->
## [board-viewer-vds-deploy] — поднять `board.kzntsv.site` (docker-compose stack за traefik basic-auth) ## 🟢 [board-viewer-vds-deploy] — Closed 2026-05-22 — board.kzntsv.site live (Portainer-managed Id=3)
**Status:** ready **Closed:** 2026-05-22 — VDS stack deployed + Portainer-migrated одной сессии. DNS A `board.kzntsv.site` → 89.253.255.94 (user-action). Image `registry.kzntsv.site/board-viewer-build:latest` built (10.8s) + pushed. Stack files в `/opt/stacks/board-viewer/`: docker-compose.yml + nginx.conf + auth.toml (Gitea admin token из `pass gitea/admin-token`) + .env (BOARD_VIEWER_USERS bcrypt `$$`-escaped). 5 repos в whitelist (board-viewer + books + claude-skills + projects-meta-mcp + admin). Basic-auth creds `viewer:34Qb...` в `pass board-viewer/viewer-password`.
**Where I stopped:** (not started — handoff из dev-проекта `~/projects/board-viewer/`, артефакты `deploy/` code-complete + smoke-verified)
**Next action:** DNS A-record `board.kzntsv.site` → VDS IP; затем `docker build -f deploy/Dockerfile.build -t registry.kzntsv.site/board-viewer-build:latest . && docker push …` на dev-машине; затем bootstrap `/opt/stacks/board-viewer/` на VDS — см. полный чек-лист в `board-viewer-vds-deploy.md` (Pending ops actions) и `~/projects/board-viewer/deploy/README.md`. Initial deploy через ad-hoc ssh+compose, потом retro-migrated в Portainer как часть Portainer-canonical sweep (user корректировка: «через портейнер!»). Smoke: external curl unauth → 401, with auth → 200 / 164 KB index.html. Build container каждые 300s обновляет `/output/index.html`.
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .workshop / 2026-05-22 / handoff: ~/projects/board-viewer/.tasks/board-viewer-cron-deploy.md --> **Followups (не блокеры):**
- `.env.example` есть в `deploy/` (commit `e64d94cd`), но не в первичном `ls` — нюанс bash, не баг.
- Portainer API key regen — отдельная chore-task если хочется token-auth вместо JWT.
**Atomic revert:** Portainer UI → delete stack `board-viewer` (Id=3). DNS A-record остаётся (user manages).
**Branch:** master
--- ---