mirror of
https://gitverse.ru/kpa39l/gotosocial.git
synced 2026-09-29 09:55:10 +00:00
fix(smtp): GTS_SMTP_FROM_ADDRESS -> GTS_SMTP_FROM (empty From header fixed); openspec: smtp-email spec
This commit is contained in:
@@ -46,10 +46,52 @@ Split-domain работает: аккаунты `@user@dedinit.ru`, хост soc
|
||||
- Кастомный page_footer.tmpl (без 🏳️🌈🏳️⚧️🦥 в подвале), смонтирован volume `./web/template/page_footer.tmpl:ro`
|
||||
- Проверка при обновлении GtS: `./scripts/check-pride.sh` (python3-детект юникода, нормализация; grep-эмодзи ловил ложные срабатывания)
|
||||
|
||||
### Федеративная лента анонимно (2026-09-11)
|
||||
- Пустая федальная лента = GtS 0.22.1 по умолчанию отдаёт 401 на /api/v1/timelines/public без OAuth-токена
|
||||
(`instance-expose-public-timeline: false`). Phanpy открывает ленту до логина → пусто.
|
||||
- ФИКС: `GTS_INSTANCE_EXPOSE_PUBLIC_TIMELINE: "true"` в docker-compose.yml + recreate.
|
||||
Проверено: анонимный GET → 200, статусы есть и снаружи (https://social.dedinit.ru).
|
||||
- **Тренды пустые — НЕ баг конфига**: в GtS 0.22.1 (последний релиз) `/api/v1/trends/{tags,statuses,links}`
|
||||
захардкожены на `EmptyJSONArray` («NOT FULLY IMPLEMENTED») — исходники internal/api/client/trends/*.
|
||||
Никакой env-опцией не включаются. Ждать реализации в новых версиях GtS.
|
||||
|
||||
### Почта: причина найдена и исправлена (2026-09-13)
|
||||
- Симптом: письмо подтверждения приходило В СПАМ и с ПУСТЫМ заголовком `From:`
|
||||
(пользователь: «в поле отправителя ничего не заполнено, поэтому письмо полностью
|
||||
было заблокировано», X-Yandex-Spam: 4).
|
||||
- **Первопричина**: в docker-compose.yml была `GTS_SMTP_FROM_ADDRESS` — НЕСУЩЕСТВУЮЩИЙ ключ.
|
||||
GtS ждёт `smtp-from` → env `GTS_SMTP_FROM` (internal/config + vendored viper:
|
||||
дефисы→подчёркивания, префикс GTS_, UPPER). `GetSMTPFrom()` возвращал "" → заголовок
|
||||
`From: ` пустой при корректном envelope (`Authenticated sender: social@dedinit.ru`).
|
||||
- **ФИКС**: `GTS_SMTP_FROM: "social@dedinit.ru"` в compose + перезапуск контейнера.
|
||||
Проверено: env в контейнере `GTS_SMTP_FROM=social@dedinit.ru`, инстанс жив (HTTPS 200),
|
||||
пользователь kunikov подтверждён вручную (`admin account confirm`), письмо из спама достано.
|
||||
- SMTP Jino при этом был рабочим с самого начала: login OK, RCPT OK, `250 Ok: queued`.
|
||||
RealSender (не Noop): GTS_SMTP_HOST непустой → `email.NewSender()`.
|
||||
- ОСТАЁТСЯ: у dedinit.ru НЕТ SPF и DMARC (DKIM `default` есть). Яндекс кладёт письма в спам
|
||||
без SPF/DMARC независимо от From. Нужно: SPF TXT `v=spf1 a mx include:jino.ru ~all`
|
||||
(или из панели Jino) + DMARC `_dmarc.dedinit.ru`.
|
||||
|
||||
### Системное: systemd1 D-Bus завис → dockerd переведён на cgroupfs (2026-09-13)
|
||||
- При перезапуске gotosocial `docker compose up` упал: `Failed to activate service
|
||||
'org.freedesktop.systemd1': timed out` — systemd1 не отвечал по D-Bus (25s таймаут),
|
||||
системные вызовы systemctl/dbus-send тоже зависали. Причина не выяснена
|
||||
(фоновый шум mount.davfs «open files exceed max cache size by 3400 MiB» в журнале).
|
||||
- ВАЖНО: cgroup-драйвер docker был `systemd` → каждый старт контейнера шёл через systemd1.
|
||||
- **ФИКС**: `/etc/docker/daemon.json` → `"exec-opts": ["native.cgroupdriver=cgroupfs"]`,
|
||||
dockerd перезапущен вручную (nohup dockerd --containerd=... ). Все контейнеры живы,
|
||||
метрики/инстанс работают.
|
||||
- **ДОЛГ**: после ПЕРЕЗАГРУЗКИ сервера dockerd поднимется через systemd; если systemd1 снова
|
||||
зависнет — контейнеры не стартуют. Проверить после рестарта сервера.
|
||||
- Побочный эффект: с хоста 127.0.0.1:8082 curl висит (docker-proxy НЕ отвечает), но внешний
|
||||
доступ social.dedinit.ru (Caddy vps02 → 10.8.0.2:8082) работает — инстанс полностью жив.
|
||||
|
||||
## В работе / Следующие шаги
|
||||
|
||||
- [x] Регистрация открыта (10/день) + apex-webfinger динамический (change fix-apex-webfinger-and-registration, архив)
|
||||
- [x] Веб-клиент Phanpy + чистый подвал (change add-webclient-and-clean-footer)
|
||||
- [x] **Отладка почты** (13.09): причина найдена — `GTS_SMTP_FROM_ADDRESS` вместо `GTS_SMTP_FROM` → пустой From; исправлено, kunikov подтверждён
|
||||
- [ ] SPF/DMARC для dedinit.ru (Jino) — критично для доставки писем GtS на внешние ящики
|
||||
- [ ] Мониторинг: пробросить :9464 (метрики уже слушают), job в prometheus.yml, дашборд Grafana
|
||||
(инструкция по метрикам GtS получена от пользователя 2026-09-06)
|
||||
- [ ] Логи в json-формате при желании (log-format: json) — по умолчанию logfmt
|
||||
|
||||
Reference in New Issue
Block a user