- Зачем:
- стандартный nginx-vhost отдавал welcome page по IP, а HTTPS по IP получал сертификат de.dementev.space.
- Что:
- default vhost настроен на HTTP 404 и отказ TLS для IP и неизвестного SNI.
- runbook дополнен точной процедурой Certbot, восстановлением и проверками.
- завершённая задача публикации перенесена в раздел «Сделано».
- Проверка:
- live и bootstrap-конфигурации прошли nginx -t; доменный HTTPS отдаёт 200, неизвестный Host — 404, TLS по IP отклоняется.
- mkdocs build --strict выполнен через persistent venv пользователя gitea-runner.
- Зачем:
- Snap uv не запускался внутри ограниченного systemd-сервиса без cap_dac_override.
- Что:
- workflow переведён на постоянный Python venv с pinned requirements.
- повторные сборки проверяют зависимости через pip без их переустановки.
- Snap удалён из PATH runner, runbook дополнен python3-venv и описанием окружения.
- Проверка:
- от имени gitea-runner дважды выполнены pip install, pip check и mkdocs build --strict; второй запуск переиспользовал окружение.
- обновлённый systemd unit прошёл systemd-analyze verify и успешно перезапущен.
- Зачем:
- основной сайт не должен зависеть от заблокированной учётной записи GitHub.
- Что:
- добавлены строгая сборка и атомарная публикация через repository-scoped runner.
- добавлены воспроизводимые конфигурации systemd, nginx и эксплуатационный runbook.
- проектная документация и ссылки на репозиторий обновлены для Gitea.
- Проверка:
- выполнены mkdocs build --strict, Bash/YAML-проверки и локальный HTTP smoke-check.
- runner зарегистрирован, ограничен средствами systemd и виден в Gitea как online.