## Context - Инстанс: social.dedinit.ru (GtS 0.22.1, docker bigbox), account-domain dedinit.ru. - Прокси: Caddy docker-контейнер на vps02 (87.242.100.206), GtS → 10.8.0.2:8082. - CORS на GtS API: `access-control-allow-origin: *`. - Шаблон подвала уже исправлен (page_footer.tmpl смонтирован volume, проверено на /@kpa39l: флагов нет). ## Tasks - [x] 1.1 Добавить сервис phanpy в docker-compose.yml (образ openengineering/phanpy:latest, порт 8383) - [x] 1.2 Поднять контейнер, проверить, что статика отдаётся (curl localhost:8383 → HTTP 200, title Phanpy) - [x] 1.3 Добавить блок web.dedinit.ru в Caddyfile на vps02 → 10.8.0.2:8383, reload caddy (понадобился docker restart caddy: bind-mount одиночного файла не live-sync'ится) - [x] 1.4 Проверить web.dedinit.ru: страница Phanpy загружается (HTTP 200, TLS от Caddy), API-запросы без CORS-ошибок (preflight 204, allow-origin: *) — пользователь залогинился ✅ - [x] 2.1 Проверить, что подвал на всех страницах чист (grep по 🏳️🌈🏳️⚧️ → 0 на /, /login, /about, /@kpa39l) - [x] 2.2 Написать scripts/check-pride.sh + check-pride.py (docker cp шаблонов + детект юникода, fail при наличии; проверен на чистом каталоге exit=0 и на файле с флагами exit=1) - [x] 2.3 Задокументировать процедуру проверки при обновлении GtS в STATUS.md - [x] 3.1 Валидация change: openspec validate add-webclient-and-clean-footer → valid - [ ] 3.2 Коммит + пуш (gotosocial), архив change