Stacks / Backend
Hugo / Zola + Caddy
Static files you build and serve. Hugo is Apache-2.0; Zola is EUPL-1.2; Caddy is Apache-2.0 — GitHub Pages, Cloudflare Pages, and Carrd without the hosted pages seat.
The problem
GitHub Pages and Cloudflare Pages are hosted static-site runtimes next to a git host or a CDN. Carrd is a visual one-pager — this stack is files you build, not Carrd's editor. You wanted a generator and a file server you run. Hugo is Apache-2.0 (gohugoio/hugo; last push 24 Oct 2026). Zola is EUPL-1.2 (getzola/zola; last push 19 Oct 2026). Caddy is Apache-2.0 and already in the catalog. This is not GitHub Actions minutes, Cloudflare Workers (/replace/cloudflare-workers), or a CMS. Ghost stays a publication — /replace/medium. Coolify is a PaaS — /replace/heroku. Forgejo is the git host — /replace/github. A link-in-bio page stays on /replace/linktree. A visual builder stays on /replace/webflow.
Replaces
GitHub Pages / Cloudflare Pages / Carrd
Replace GitHub Pages Replace Cloudflare Pages Replace Carrd See all best open-source static site hosts
Estimated SaaS saved
$1,200
per year, small team, before lock-in
Start on RailwayGhost if this is a CMS publication, not static files
Placeholder: build Hugo or Zola in CI, serve public/ with Caddy (or any file server) plus a volume if you copy the output onto the box. No one-click template in this repo yet — Start on Railway. A CMS stays on /stacks/ghost-cms. A git host stays on /stacks/forgejo-git.
The stack
Cost table
| You stop paying | Typical / year | Self-host instead |
|---|---|---|
| GitHub Pages / Cloudflare Pages (small site) | $1,200 | Hugo or Zola + Caddy |
Agent setup prompt
Replace GitHub Pages or Cloudflare Pages with Hugo (preferred) or Zola, served by Caddy. - Build the site in CI or on the box. Serve the output directory. Persist nothing unless you copy artifacts onto a volume. Do not claim Workers, Actions minutes, or a CMS. - Ghost if the job is a publication — /stacks/ghost-cms. Forgejo if the pain is the git host — /stacks/forgejo-git. - Write AGENT_PROMPT.md.
Also as markdown: /stacks/hugo-static.md
FAQ
- Hugo or Zola?
- Hugo if you want the common Apache generator (the published GitHub Pages path). Zola if you want that Rust binary — /compare/hugo-vs-zola.
- Is this Netlify?
- Netlify-shaped app hosting stays on /replace/netlify. This page is static files.
- Is this Carrd?
- Carrd is a visual one-pager. This page is Hugo or Zola files — /replace/carrd. A bio page stays on /replace/linktree. A visual builder stays on /replace/webflow.
- Are these free?
- Hugo and Caddy are Apache-2.0. Zola is EUPL-1.2. You pay hosting. Template users never pay c17.