Files
gotosocial/openspec/changes/add-webclient-and-clean-footer/proposal.md
T
estorozhenko c8d490d1c6 feat(webclient): Phanpy on web.dedinit.ru; clean footer without pride flags
- phanpy service (openengineering/phanpy:latest) :8383->8080, Caddy vps02 → 10.8.0.2:8383
- custom page_footer.tmpl mounted ro: removes 🏳️🌈/🏳️⚧️/🦥 from footer
- scripts/check-pride.sh + check-pride.py: detect LGBTQ flags in GtS templates (unicode-normalized),
  to run on every image upgrade
- STATUS.md: procedure for GtS upgrades
- openspec: add-webclient-and-clean-footer
2026-09-07 13:55:45 +00:00

2.2 KiB
Raw Blame History

Why

  1. На https://social.dedinit.ru/login предлагается использовать сторонние клиенты (Elk, Tusky и т.п.), но при отсутствии настроенных устройств нечем читать и писать посты с браузера. Нужен собственный веб-клиент, поднятый контейнером рядом с GtS.
  2. В подвале страниц отображаются ЛГБТ-символы (🏳️‍🌈, 🏳️‍⚧️, 🦥) из дефолтного шаблона GtS. Пользователь против такой символики (в РФ это незаконно) — убрать её со всех страниц и проверять при обновлении версии контейнера.

What Changes

  1. Поднять контейнер веб-клиента Phanpy (лёгкий, нейтральный Mastodon-клиент, статический SPA) рядом с GtS в docker-compose; опубликовать на web.dedinit.ru через Caddy (vps02).
  2. Заменить шаблон подвала GtS (page_footer.tmpl) на кастомный без радужных эмодзи; добавить проверку при обновлении образа GtS.

How

  • GtS уже отдаёт CORS access-control-allow-origin: * → Phanpy (SPA) сможет ходить на API с любого origin, включая web.dedinit.ru.
  • Phanpy: официальный docker-образ openengineering/phanpy:latest (свежий, автосборки) — статика на nginx.
  • Caddy на vps02: добавить блок web.dedinit.ru → 10.8.0.2:8383.
  • Шаблон: docker cp дефолтного page_footer.tmpl → правим → монтируем volume в контейнер (уже реализовано, проверить).

Risks

  • Phanpy — сторонний клиент; работает через Mastodon API, CORS уже * на GtS.
  • Обновления GtS могут менять структуру шаблонов — проверять совместимость page_footer.tmpl (скрипт check-pride.sh).