HERON

One folder, three ways online

Store and publish

A HERON site is one folder of text files. The final build turns it into one of two things: plain files for any hosting, or an image, the whole site packed with a small web server, ready for any machine with Docker. An image can be stored in GitHub, in Docker Hub or in your own registry.

Choose how to store and publish: today there are three ways, and more will come. The site is identical in all of them. What differs is how many steps run by themselves after the first setup, and where the site lives: a server with Docker, ordinary hosting, or free static hosting.

The ways side by side

git pushDocker HubStatic files
Every updateEdit, commit, pushBuild, pack, push the imageBuild and copy the files
Who buildsGitHub Actions, automaticallyYou, on your computerYou, on your computer
Check before going liveAutomatic: home 200, missing page 404, every redirectYou run the image on localhostYou open the site on localhost
Where the site runsA server with Docker, or GitHub PagesA server with DockerShared hosting, a VPS, GitHub Pages, Cloudflare Pages
Real 301 and 410Yes, inside the imageYes, inside the imageWith nginx; on other hosting from the map files
Server updateOne command, or HERON Agent (paid)One command, or HERON Agent (paid)You copy again
CostFrom free (GitHub Pages) to a VPSA VPS, Docker Hub free tierFrom free to shared hosting
Good forMost sites, teams, work with AI agentsAgencies, closed projects, own registryA portfolio, a first site, hosting without Docker

Which one to pick

Where your site can live

The choice of hosting applies to every way above. A server with Docker runs the image; any hosting serves static files.

Before any of them

  1. 1

    Set the domain

    The working domain in site.yaml, or in the configurator.
  2. 2

    Look at the site

    heron serve . and open localhost:8000. The site rebuilds on every save.
  3. 3

    Build the final version

    heron build . --env prod --strict opens the site to search engines and turns every warning into an error, so a broken link never goes live.

Questions

Can I switch the way later?

Yes. The folder stays the same; only the last step changes. Many sites start with static files on GitHub Pages and move to git push with their own server.

Do I need my own server?

No. Static files run on GitHub Pages or Cloudflare Pages for free, and git push can publish straight to GitHub Pages. A server is needed for the image with real redirects.

Is HERON Agent required?

No. It is a paid add-on that saves you the update command and watches the server. Every way on this page works without it.

Which way keeps search rankings when I move an old site?

Any of them. Old addresses go to redirect_from: in the pages, and HERON writes real 301 redirects. In the image they work at once; on other hosting you connect the map files once.