HERON

Your image, your registry

Publish an image to Docker Hub

You build the site into an image yourself and keep it in a private repository on Docker Hub. An image is a sealed package: the finished pages plus a small nginx web server, ready to run on any machine with Docker.

The order is always the same: an account and a token, sign in on your computer and on the server, build and push the image, then pull and run it on the server. This way suits you when images should live in your own registry, or when GitHub is not an option.

How it goes

  1. 1

    Account

    Sign up at hub.docker.com and create a private repository for the site.
  2. 2

    Token

    Create an access token: it is the password for docker login.
  3. 3

    Sign in

    Once on the computer where you build, once on the server.
  4. 4

    Build

    The strict build makes the dist/ folder of ready pages.
  5. 5

    Pack and push

    docker build packs dist/ into an nginx image, docker push sends it to Docker Hub.
  6. 6

    Pull and run

    The server downloads the new image and starts it instead of the old one. With HERON Agent this step runs by itself.
  7. 7

    Check

    Open the site and the page you changed.

Set up once

Build, pack and push

Run it on the server

Add-on: HERON Agent

Questions

Why an image and not just files?

The image carries the web server settings with it: real 301 and 410 redirects, caching, gzip, the 404 page. The site behaves the same on your laptop and on the server.

Can I use another registry?

Yes. Any registry that Docker can push to works: GitHub Packages, GitLab, your own. Change the image name in the commands.

How big is the image?

Small: nginx on Alpine Linux plus your pages and images. Most of the size is your photos, already turned into WebP and AVIF.

Do I need HERON Agent?

No. Without it the server is updated with the one command above. The Agent is a paid add-on for those who do not want to log in to the server.