HERON

От нуля до живого сайта

С чего начать

Нужны Docker, текстовый редактор и десять минут. В конце у вас будет работающий сайт на компьютере, и вы выберете, как его хранить и публиковать. Ни разу не открывали терминал и не ставили Docker? Начните с основ: установите Docker на macOS, Windows или Linux, выберите редактор, освойте Markdown — и возвращайтесь сюда.

Все команды используют стабильный образ HERON¹ из официального реестра². Образ — это готовая упаковка, внутри которой HERON и его документация, поэтому больше ничего ставить не нужно. Другие способы запуска описаны ниже, в отдельном разделе.

Что нужно

Docker

Docker Desktop на macOS и Windows, Docker Engine на Linux. Он запускает HERON в закрытой коробке, и компьютер остаётся чистым.

Текстовый редактор

Подойдёт любой, от VS Code до Блокнота. Страницы — обычные текстовые файлы в Markdown, простой разметке заголовков и списков.

Git — чтобы хранить сайт

Рекомендуем: он хранит каждое изменение, а GitHub сам собирает из него образ сайта.

Домен — когда будете публиковать

Для начала не нужен: в новом сайте стоит заглушка, которую вы замените в конфигураторе.

Настройте команду heron один раз

Все команды на этом сайте начинаются с heron. Это короткое имя для полной команды Docker: она скачивает стабильный образ, показывает ему только текущую папку и работает от вашего пользователя, поэтому новые файлы принадлежат вам. Настройте один раз — и любую команду ниже можно копировать как есть.

Первый сайт за пять шагов

Пять шагов от пустой папки до готового сайта на вашем компьютере. У каждого шага одна команда и понятный результат. Конфигуратор и страницы можно доделать потом.

Готовые файлы или образ

Готовые файлы

  • Папка dist/ — весь сайт: страницы, картинки, карта сайта, llms.txt.
  • Подойдёт любой хостинг, в том числе бесплатные GitHub Pages и Cloudflare Pages со своим доменом и HTTPS.
  • Сервер обслуживать не нужно.
  • Каждое обновление — собрать заново и скопировать.

Образ сайта

  • Весь сайт вместе с маленьким веб-сервером, запускается на любой машине с Docker.
  • Хранится в GitHub (собирается сам при отправке изменений в git), на Docker Hub или в вашем реестре.
  • Сервер берёт новый образ одной командой; с HERON Агентом (платно) — сам.
  • Настоящие переадресации 301 и 410, несколько сайтов на одном сервере.

Выберите, как хранить и публиковать

Сейчас способов три, будут добавляться новые. Выберите вкладку: шаги, команды и полный гайд меняются вместе с ней. Папка сайта от выбора не меняется.

Вы храните сайт в репозитории на GitHub. После первой настройки вы правите страницу и отправляете изменения, а GitHub Actions сам собирает образ, проверяет его и кладёт в GitHub Packages. Отдельный аккаунт для образов не нужен.

git init && git add . && git commit -m "Первая версия" && git branch -M main && git remote add origin https://github.com/you/my-site.git && git push -u origin main
  • Репозиторий. Зарегистрируйтесь на github.com и создайте пустой репозиторий my-site. Закрытый прячет черновики; GitHub Pages на бесплатном тарифе требует открытый.
  • Первая отправка. Выполните команду выше, подставив своё имя вместо you. Git и GitHub с нуля
  • Сборка. Файл .github/workflows/image.yml добавляет конфигуратор. После отправки откройте на GitHub вкладку Actions и смотрите сборку и проверку.
  • Каждое обновление. Правите файл страницы, затем git add . && git commit -m "…" && git push. Свежий образ собирается сам.
  • Где опубликовать. Сервер берёт новый образ одной командой: docker pull и запуск вместо старого. Или публикуйте готовые файлы на GitHub Pages и обходитесь без сервера.
  • Платная надстройка. HERON Агент сам обновляет сайт на сервере после каждой отправки.

Полный гайд: хранение в git и сборка образа →

Вы сами собираете образ и храните его в закрытом репозитории Docker Hub. Сервер скачивает его оттуда.

docker login -u you && heron build . --env prod --strict && curl -fsSL https://raw.githubusercontent.com/FMSTM/HERON/prod/Dockerfile.site | docker build -t you/my-site:prod -f - dist && docker push you/my-site:prod
  • Аккаунт. Зарегистрируйтесь на hub.docker.com и создайте закрытый репозиторий my-site.
  • Токены. Account settings → Personal access tokens. Один с правами на чтение и запись для компьютера, второй только на чтение для сервера. Токен — это пароль для docker login; не кладите его в папку сайта и в git.
  • Вход. docker login -u you один раз на компьютере и один раз на сервере.
  • Сборка и отправка. Выполните команду выше, подставив своё имя в Docker Hub вместо you.
  • На сервере. Скачайте образ и запустите, команда ниже. Каждое обновление — та же команда.
  • Дополнение. HERON Агент (платно) сам скачивает каждый новый образ по вашему ключу и обновляет контейнер.
docker pull you/my-site:prod && docker rm -f my-site && docker run -d --name my-site -p 80:8080 --restart unless-stopped you/my-site:prod

Полный гайд: образы и Docker Hub →

Самый ручной путь: вы собираете сайт, проверяете его на localhost и сами копируете файлы на хостинг при каждом обновлении. Работает везде, от обычного хостинга до бесплатного GitHub Pages.

heron build . --env prod --strict && ls dist
  • Сборка. Команда выше создаёт папку dist/: все страницы, картинки, карту сайта и llms.txt.
  • Проверка у себя. Откройте готовый сайт на localhost:8080, прежде чем он уйдёт в сеть, команда ниже.
  • Копирование. На VPS через rsync, на обычный хостинг через FTP или файловый менеджер.
  • Бесплатный хостинг. GitHub Pages или Cloudflare Pages принимают папку dist/ с вашим доменом и HTTPS, сервер не нужен вовсе.
  • Домен и HTTPS. Один раз: запись A с адресом сервера, затем бесплатный сертификат.
  • Каждое обновление. Снова собрать и скопировать: само ничего не происходит.
docker run --rm -p 8080:8080 -v "$PWD/dist:/usr/share/nginx/html:ro" nginxinc/nginx-unprivileged:1.27-alpine
rsync -avz --delete dist/ you@my-server:/var/www/my-site/

Полный гайд: готовые файлы и где разместить →

Другие способы запуска HERON

Основной путь на этом сайте — образ Docker. Если он вам не подходит, есть ещё два способа. Результат одинаков при любом: та же папка, та же сборка, тот же сайт, и поменять способ можно потом.

Вопросы

Нужно ли уметь программировать?

Нет. Страницы — текстовые файлы с несколькими простыми пометками, а конфигуратор объясняет каждую настройку рядом с полем. Код нужен только для своей темы.

Что такое стабильный образ?

Версия HERON, которая проверена и рекомендована для живых сайтов. Остальные версии описаны в документации.

Можно переехать с WordPress?

Да. Перенесите тексты в страницы и перечислите старые адреса в redirect_from:. HERON пишет настоящие переадресации, и позиции в поиске переезжают вместе со страницами.

Где документация?

На этом сайте, в репозитории и внутри образа. heron docs печатает документацию ровно той версии, которую вы запускаете.

Это бесплатно?

Да. HERON — открытый код под AGPL-3.0. Хостинг статических файлов тоже может быть бесплатным.