# GoToSocial — Статус Обновлено: 2026-09-06 (поздний вечер, деплой завершён) ## Текущее состояние GoToSocial **запущен и работает** на social.dedinit.ru: контейнер Up, HTTPS 200, админ создан. Split-domain работает: аккаунты `@user@dedinit.ru`, хост social.dedinit.ru, apex-webfinger отдаёт JSON. Ежедневный cron-бэкап (02:00) активен и проверен. ## Сделано ### Запуск на bigbox (шаг 1) - 2026-09-06: тег образа `0.22.1` (не `v0.22.1` — оригинала не существует), порт `8082:8080` (8080 на bigbox занят NetBox!), права `data/` → 1000:1000 - 2026-09-06: конфиг через `GTS_*` env — docker-образ НЕ читает смонтированный config.yaml (падал «host must be set»), .cache для Wazero - 2026-09-06: админ `estorozhenko` создан/confirmed/promoted; HTTPS LE на social.dedinit.ru ✅ ### Caddy vps02 (шаг 2) - 2026-09-06: Caddyfile: `social.dedinit.ru { reverse_proxy 10.8.0.2:8082 }` + reload (бэкап Caddyfile.bak-1788723018), сертификат LE выпущен сразу, сайт 200 ### Split-domain apex Jino (шаг 3) - 2026-09-06: .htaccess/mod_rewrite на Jino НЕ работают (проверено) → статический ответ: - `/.well-known/webfinger?resource=...` → Apache 301 → `/webfinger/` → 200 JSON (index.html) - `/.well-known/nodeinfo` → 301 → `/nodeinfo/` → 200 JSON - `/.well-known/host-meta` → 200 XRD (text/xml) - Файлы в `/dedinit.ru/.well-known/` (Jino) + `/opt/dedinit.ru/static/.well-known/` (в git, Hugo копирует) ### Крон бэкапа (шаг 4) - 2026-09-06: backup.sh переписан на SQLite Backup API через python3 (sqlite3 CLI нет ни на хосте, ни в контейнере); медиа из data/ (это и есть /gotosocial/storage), SQLite отдельно - 2026-09-06: cron `gotosocial-backup-daily` (id 67308da56b6d), daily 02:00, no_agent, deliver local, тихий (пустой stdout при успехе), проверен немедленным запуском (3 бэкапа 19:41-19:42) - Локально 7 дней, ЯД 30 дней ### Git - 2026-09-06: gotosocial commit d9951b6 запушен на gitverse (56f228a..d9951b6) - 2026-09-06: dedinit.ru commit b049cb2 запушен на gitverse (3d2f07b..b049cb2) ## В работе / Следующие шаги - [ ] Проверить SMTP-письмо (регистрация/восстановление пароля) — через админку - [ ] Мониторинг: пробросить :9464 (метрики уже слушают), job в prometheus.yml, дашборд Grafana (инструкция по метрикам GtS получена от пользователя 2026-09-06) - [ ] Логи в json-формате при желании (log-format: json) — по умолчанию logfmt ## Отложено (post-MVP, по решению пользователя) - Мониторинг бэкапов (метрики в Prometheus + дашборд Grafana) - Импорт из Telegram ## Как запустить / проверить ```bash cd /opt/gotosocial docker compose up -d curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8082/ # 200 curl -s http://127.0.0.1:9464/metrics | head # метрики (в контейнере) curl -s 'https://social.dedinit.ru/.well-known/webfinger?resource=acct:estorozhenko@dedinit.ru' curl -s 'https://dedinit.ru/.well-known/webfinger?resource=acct:estorozhenko@dedinit.ru' # apex JSON bash backup.sh && ls -lh backups/ ``` ## Ключевые артефакты - /opt/gotosocial/docker-compose.yml, .env, backup.sh, README.md (config.yaml — reference, НЕ читается образом) - gitverse.ru/kpa39l/gotosocial (истина), gitea.nixg.ru/estorozhenko/gotosocial (зеркало) - /opt/dedinit.ru/static/.well-known/ (apex, в git b049cb2) ## Открытые вопросы - Пароль админа: создан с паролем из сессии (если менялся — обновить в заметках) - ZFS-бэкапы/другие ротации не требуются (хватает local 7д + ЯД 30д)