Основной сайт переносится с недоступного GitHub Pages на собственную VPS согласно принятой спецификации.
Что изменено
добавлен отдельный .gitea/workflows/deploy-site.yml без сторонних uses:;
добавлены строгая сборка MkDocs и атомарное переключение релизов;
добавлены отслеживаемые конфигурации Gitea Runner, systemd и nginx;
mkdocs.yml, AGENTS.md, PRD и TODO синхронизированы с новым контуром;
GitHub workflows оставлены без изменений.
Проверка
uv run --with 'mkdocs-material==9.6.14' --with 'mkdocs-same-dir==0.1.3' mkdocs build --strict;
bash -n .gitea/scripts/deploy-site.sh;
YAML разобран PyYAML 6.0.2;
Gitea Runner 2.3.0 зарегистрирован repository-scoped и виден как online;
systemd-ограничения, отказ runner в sudo/Docker и права каталогов проверены;
успешная и неуспешная атомарная публикация проверены;
nginx отдаёт bootstrap-релиз по публичному IP при Host: de.dementev.space.
После merge
Push в main должен запустить первый реальный workflow. DNS и выпуск TLS выполняются только после его успеха.
## Контекст
Основной сайт переносится с недоступного GitHub Pages на собственную VPS согласно принятой спецификации.
## Что изменено
- добавлен отдельный `.gitea/workflows/deploy-site.yml` без сторонних `uses:`;
- добавлены строгая сборка MkDocs и атомарное переключение релизов;
- добавлены отслеживаемые конфигурации Gitea Runner, systemd и nginx;
- `mkdocs.yml`, AGENTS.md, PRD и TODO синхронизированы с новым контуром;
- GitHub workflows оставлены без изменений.
## Проверка
- `uv run --with 'mkdocs-material==9.6.14' --with 'mkdocs-same-dir==0.1.3' mkdocs build --strict`;
- `bash -n .gitea/scripts/deploy-site.sh`;
- YAML разобран PyYAML 6.0.2;
- Gitea Runner 2.3.0 зарегистрирован repository-scoped и виден как online;
- systemd-ограничения, отказ runner в sudo/Docker и права каталогов проверены;
- успешная и неуспешная атомарная публикация проверены;
- nginx отдаёт bootstrap-релиз по публичному IP при `Host: de.dementev.space`.
## После merge
Push в `main` должен запустить первый реальный workflow. DNS и выпуск TLS выполняются только после его успеха.
- Зачем:
- основной сайт не должен зависеть от заблокированной учётной записи GitHub.
- Что:
- добавлены строгая сборка и атомарная публикация через repository-scoped runner.
- добавлены воспроизводимые конфигурации systemd, nginx и эксплуатационный runbook.
- проектная документация и ссылки на репозиторий обновлены для Gitea.
- Проверка:
- выполнены mkdocs build --strict, Bash/YAML-проверки и локальный HTTP smoke-check.
- runner зарегистрирован, ограничен средствами systemd и виден в Gitea как online.
ddmitry
merged commit 09f2c839f7 into main2026-08-04 23:03:14 +03:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Контекст
Основной сайт переносится с недоступного GitHub Pages на собственную VPS согласно принятой спецификации.
Что изменено
.gitea/workflows/deploy-site.ymlбез стороннихuses:;mkdocs.yml, AGENTS.md, PRD и TODO синхронизированы с новым контуром;Проверка
uv run --with 'mkdocs-material==9.6.14' --with 'mkdocs-same-dir==0.1.3' mkdocs build --strict;bash -n .gitea/scripts/deploy-site.sh;Host: de.dementev.space.После merge
Push в
mainдолжен запустить первый реальный workflow. DNS и выпуск TLS выполняются только после его успеха.