В трёх последних проектах нам нужно было одно и то же: статический сайт (быстрый, без БД, дёшево хостится) — но контент-редакторы клиента не должны лезть в Git и Markdown. Готовых решений-склеек не нашли, написали свою. Теперь выложили под MIT.
Что это
micron-zola-builder — один Go-бинарник (~12 МБ), который:
- слушает webhook от headless-CMS (поддержаны Strapi, Directus, Sanity);
- скачивает изменённые материалы и кладёт в
content/репозитория Zola; - запускает
zola build; - атомарно подменяет каталог раздачи (
rsync --deleteчерез временную директорию — пользователь никогда не увидит «полусобранный» сайт).
Почему не Netlify / Vercel / Cloudflare Pages
Все клиенты в этих проектах требовали on-prem или российский хостинг без зависимости от внешних build-сервисов. Cloudflare Pages — отличная штука, но если ТЗ запрещает выгрузку контента за периметр, она не годится.
Сравнение с альтернативами
| Решение | Зависимости | On-prem | Webhook |
|---|---|---|---|
| Netlify | внешний сервис | нет | да |
git-sync + cron | git, cron, shell | да | нет (только pull) |
| micron-zola-builder | один бинарник | да | да |
Не претендуем на универсальное решение — но если кейс совпадает, попробуйте.
Репозиторий: github.com/micron-ai/zola-builder (пример ссылки — реальный URL появится после публикации).
Что хочется доделать
- Поддержка Contentful (просили двое клиентов).
- Inkremental builds — сейчас Zola собирает сайт целиком, что на 5000+ страниц занимает 8–10 секунд. Для одного проекта это уже становится узким местом.
Если интересно — заходите в issues.