mirror of
https://gitverse.ru/kpa39l/gotosocial.git
synced 2026-09-29 18:05:09 +00:00
3.1 KiB
3.1 KiB
Tasks — Deploy GoToSocial
1. Базовая структура проекта
- Создан
/opt/gotosocialс docker-compose.yml, config.yaml, .env, backup.sh, README.md - Проверка:
ls -la /opt/gotosocialсодержит файлы
2. Конфигурация GoToSocial
- config.yaml: host=social.dedinit.ru, account-domain=dedinit.ru, protocol=https, port=8080, trusted-proxies=[10.8.0.2]
- База SQLite:
db-type: sqlite,db-addressв volume - SMTP: smtp.jino.ru:587, social@dedinit.ru, пароль из .env
- Метрики:
metrics-enabled: true+ OTEL prometheus env - Логи:
log-format: json - Проверка:
docker compose configуспешен, ключи на месте
3. docker-compose.yml
- Образ
superseriousbusiness/gotosocial:v0.22.1(фиксированный тег), restart unless-stopped - ports: 8080:8080, volumes: ./data, ./config.yaml:ro, env_file: .env
- Проверка:
docker compose config --quiet
4. .env
- Создан .env с
GTS_SMTP_PASSWORD(и др. секретами), в .gitignore - Проверка:
.envне виден в git (git check-ignore .env)
5. Запуск и создание админа
docker compose up -d— контейнер Upcurl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8080/→ 200- Админ:
gotosocial admin account create --username estorozhenko --email kpa39l@yandex.ru --confirmation - Проверка:
docker compose exec gotosocial gotosocial admin account promote --username estorozhenko(или через CLI)
6. Реверс-прокси Caddy на vps02
- Caddyfile:
social.dedinit.ru { reverse_proxy 10.8.0.2:8080 }, caddy reload - Проверка:
curl https://social.dedinit.ru/→ 200, сертификат LE
7. Split-domain: .well-known на apex
- На dedinit.ru (Jino) добавлены редиректы webfinger/nodeinfo/host-meta → social.dedinit.ru
- Проверка:
curl -sL 'https://dedinit.ru/.well-known/webfinger?resource=acct:estorozhenko@dedinit.ru'→ 200 JSON
8. Метрики/логи
/metricsотдаёт метрики- Prometheus job
gotosocial(scrape 127.0.0.1:8080) — если включено в стек - Promtail собирает docker-логи gotosocial
- Проверка:
curl http://127.0.0.1:9090/api/v1/targets→ gotosocial UP
9. Бэкап
backup.sh: SQLite VACUUM INTO + медиа, tar.gz, ротация 7/30 дней, копия на ЯД- Проверка:
bash backup.sh→ архив создан, на ЯД есть, exit 0 - Расписание (cron/systemd timer) — ежедневно, тихо
10. Документация
- README.md: порты, структура, бэкап/восстановление, обновление
- Проверка: README содержит порт-маппинг и команды
Отложено (post-MVP)
- Дашборд Grafana (GtS + бэкапы)
- Мониторинг бэкапов
- Импорт из Telegram