Deploy your Hugo app
Hugo builds a full site in well under a second and writes it to public — there's genuinely not much more to say. It was static-first before that was the default expectation.
- 01
Build the site
Run "hugo" from your project root. It compiles every content file and template into static HTML, CSS, and JS in a "public" folder — usually in well under a second.
- 02
Set the right base URL
Hugo bakes "baseURL" from hugo.toml into every generated link. Set it to your harvis.dev address before building, or links to other pages on the site will point at the wrong place.
- 03
Deploy it
Run "npx harvis deploy public" from your project root. No config and no login for this first deploy — you get a live URL immediately, plus a private claim link to attach the site to a free account whenever you're ready.
Deploy Hugo with one command
Build your project, then hand the output folder to harvis. No account needed for the first deploy — you'll get a live link and a private claim link to manage it later.
hugo npx harvis deploy public
Prefer dragging files instead of a terminal? Build the project, then drop the output folder here and publish it the same way.
Hugo deploy questions
I changed baseURL after already deploying. Do I need to redeploy?
Yes — baseURL is compiled into the HTML at build time, not read at request time. Update "hugo.toml", rebuild, and run "npx harvis deploy public" again; it updates the same site.
Does Hugo's pagination and taxonomy pages (tags, categories) work?
Yes — they're all generated as static HTML files at build time like every other Hugo page, so they deploy and serve exactly the same way.
Is deploying a Hugo app to harvis actually free?
Yes, no card required. Free limits are 500 files and 50 MB per site, which covers a static Hugo build with plenty of room. Published sites don't expire — they stay live until you delete them.
Can I use my own domain with the deployed Hugo site?
Every site gets a free harvis.dev address, and you can pick your own subdomain from the dashboard after claiming it — my-app.harvis.dev instead of a random one. Pointing a domain you already own (like mystore.com) at the site isn't supported yet.
How is this different from deploying Hugo to Vercel or Netlify?
Vercel and Netlify are built around connecting a Git repo and running your build on their servers, with a dashboard to configure it. harvis skips all of that: you build locally (or in your own CI), run one CLI command against the output folder, and get a link — no project setup, and no account needed until you want to keep the site.
Deploying something else?
The recipe is the same everywhere — build it, then npx harvis deploy the output.