mirror of
https://gitverse.ru/kpa39l/gotosocial.git
synced 2026-09-29 09:55:10 +00:00
47 lines
2.8 KiB
Markdown
47 lines
2.8 KiB
Markdown
# GoToSocial — PRD
|
|
|
|
## Цель
|
|
|
|
Развернуть собственную федиверсную ноду ActivityPub (GoToSocial) на личном домене dedinit.ru — «нода для обычных людей». Аккаунты `@user@dedinit.ru`, сервер на `https://social.dedinit.ru`.
|
|
|
|
## Пользователи
|
|
|
|
- Владелец (admin): estorozhenko (@estorozhenko@dedinit.ru)
|
|
- Приглашённые пользователи («обычные люди»)
|
|
|
|
## Функциональные требования
|
|
|
|
- Инстанс GoToSocial работает в Docker на bigbox (контейнер из /opt/gotosocial)
|
|
- Split-domain: `host=social.dedinit.ru`, `account-domain=dedinit.ru` (аккаунты @user@dedinit.ru)
|
|
- База данных: SQLite (файл в volume ./data)
|
|
- Медиа: локальное хранилище (./data/storage), монтируется в контейнер
|
|
- Реверс-прокси: Caddy на vps02 (social.dedinit.ru → 10.8.0.2:8080 через WireGuard)
|
|
- TLS: Let's Encrypt автоматически (Caddy)
|
|
- SMTP: отправка писем через smtp.jino.ru:587 (STARTTLS), ящик social@dedinit.ru
|
|
- Метрики: Prometheus (OTEL экспортёр, /metrics)
|
|
- Логи: JSON → Promtail → Loki
|
|
- Бэкап: consistent SQLite (VACUUM INTO) + медиа; локально 7 дней, Яндекс.Диск 30 дней
|
|
|
|
## Нефункциональные требования
|
|
|
|
- Версия GoToSocial фиксируется тегом релиза (v0.22.1), обновление вручную
|
|
- Секреты (.env) не попадают в git (в .gitignore)
|
|
- host/account-domain НЕ меняются после первого запуска (необратимо)
|
|
- Рестарт контейнера: unless-stopped
|
|
- Бэкап при недоступном Яндекс.Диске — ошибка (exit != 0), не тихий fail
|
|
|
|
## Границы (что НЕ делаем сейчас)
|
|
|
|
- Мониторинг бэкапов + дашборд Grafana — **post-MVP**
|
|
- Импорт из Telegram — **post-MVP**
|
|
- Postgres вместо SQLite — нет (выбор пользователя, обратимо только до старта)
|
|
- Remote-медиа не бэкапится (пере-фетчится)
|
|
|
|
## Критерии готовности (MVP)
|
|
|
|
- [ ] `docker compose up -d` на bigbox — контейнер Up, :8080 отвечает 200
|
|
- [ ] Caddy на vps02: https://social.dedinit.ru отвечает 200, сертификат LE
|
|
- [ ] Split-domain: мылтиаккаунт резолвится `acct:estorozhenko@dedinit.ru` (webfinger на apex)
|
|
- [ ] SMTP-письмо уходит (подтверждение email)
|
|
- [ ] backup.sh запускается, архив на ЯД
|
|
- [ ] Админ-аккаунт estorozhenko создан и промоутнут |