Files
gotosocial/openspec/changes/add-webclient-and-clean-footer/design.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

40 lines
2.0 KiB
Markdown

## Goals
1. Веб-клиент рядом с GtS: чтение и написание постов из браузера без
сторонних приложений.
2. Убрать ЛГБТ-символы из подвала всех страниц, проверять при апгрейде.
## Non-Goals
- Не менять GtS изнутри (fork, патч бинаря).
- Не использовать тяжёлые клиенты (Elk — сборка из исходников, радужная
символика в UI).
- Не поднимать отдельный Mastodon-сервер.
## Decisions
### Клиент: Phanpy (openengineering/phanpy:latest)
- Статический SPA, минимализм, нейтральный (без ЛГБТ-символики в UI).
- Образ официальный, свежий (автосборка main, 2026-09-05).
- Не требует сборки у нас; образ с nginx-раздачей статики.
- CORS уже `*` на GtS → работа с API из любого origin.
### Публикация: web.dedinit.ru (Caddy на vps02)
- Caddyfile (vps02, docker caddy): `web.dedinit.ru { reverse_proxy 10.8.0.2:8383 }`.
- TLS авто через Caddy (как остальные домены).
### Порт/сеть
- Контейнер phanpy на bigbox: порт 8383, сеть gotosocial_default? Нет —
отдельный сетевой мост, доступ извне через vps02 (как GtS).
- Обычно Phanpy не хранит ничего на диске (localStorage в браузере),
volume не нужен.
### Чистка подвала
- Кастомный page_footer.tmpl в /opt/gotosocial/web/template/, смонтирован
volume в контейнер поверх /gotosocial/web/template/page_footer.tmpl.
- Скрипт проверки при обновлении: docs/check-pride.sh — docker cp шаблонов,
grep по эмодзи, fail при наличии.