Skip to main content
Percher is still being built, but you can try it out with a free account right now!
← All deploy guides
Deploy guide · runtime = "docker"

Ship Hugo in ~2 minutes.

Hugo is a Go-based static site generator known for very fast builds — hundreds of pages in under a second is normal. On Percher it ships via a multi-stage Dockerfile that uses the upstream `hugomods/hugo` image to build, then a slim Caddy stage to serve.

Why Percher fits

  • Hugo's build speed shows up in cold-build latency too — a typical blog finishes the build stage in ~5 s on Percher.
  • Caddy's compression and HTTP/3 are on for the served bundle by default.

Quick start

bunx percher create my-app --template hugo
cd my-app
bunx percher publish

The first command scaffolds a working Hugo project plus a percher.toml. Publish builds and deploys it, then prints the live URL.

percher.toml

The canonical config for a Hugo app on Percher. bunx percher init generates this automatically when it detects Hugo in your project.

[app]
name = "my-site"
runtime = "docker"
framework = "hugo"

[web]
port = 8080
health = "/"

Common gotchas

  • The bundled Dockerfile uses `hugomods/hugo` (extended). If your theme needs SCSS via `transform.ToCSS`, you need the extended Hugo build — don't replace the image with plain `hugo:latest`.
  • Hugo's `baseURL` config affects link generation; set it to your live URL (`https://my-site.percher.run` or your custom domain) to avoid broken relative links.

Related docs

Ready to deploy Hugo?

Start on the Free plan. No credit card, live in ~2 minutes.

Sign up free →