A lightweight Docker container that listens for Forgejo/Gitea push webhooks and automatically rebuilds a Hugo site.

No CI runners, no Docker-in-Docker — just a single container that clones, builds, and deploys.

How it works

  1. You push to your Hugo site repo
  2. Forgejo sends a webhook POST to the container
  3. The container validates the HMAC signature, pulls the latest code, and runs hugo --minify
  4. Built site is written to a volume-mounted directory (e.g. Apache’s DocumentRoot)

Components

Source code on Forgejo