Novence

Guide · Framework

Deploy Gatsby to Novence

gatsby build writes ./public. Point the CLI at that folder. No Gatsby Functions on the host.

Gatsby’s production output is already a static public/ directory. Novence uploads that tree. Gatsby Functions, DSG, and SSR pages have nowhere to run after deploy.

Configure

Set trailingSlash: "always" so page paths match Novence directory indexes. GraphQL data is baked into HTML at build time; you do not need a running Gatsby node process on the host.

Remove or avoid gatsby-plugin-netlify, Functions, and defer / server-rendered routes. If a page cannot be prerendered, drop it or replace it with client-side fetch to a public API.

// gatsby-config.ts
import type { GatsbyConfig } from "gatsby";

const config: GatsbyConfig = {
  trailingSlash: "always",
  plugins: [],
};

export default config;

Build

npx gatsby build

Run npx gatsby build. Confirm public/index.html. Gatsby also writes public/page-data/ and webpack bundles — those are static assets and upload fine.

Deploy

npx novence deploy ./public

npx novence deploy ./public. Pass the path explicitly if you also have a dist or build folder the CLI might pick first (it checks dist, build, out, then public).

The CLI auto-detects ./public among dist, build, out, public, _site. Pass the path if another of those folders exists. Full CLI: /cli.

Caveats

  • Gatsby Functions and SSR/DSG are not hosted.
  • Image CDN plugins that call a remote optimizer still work; local gatsby-plugin-image output in public/ is just files.
  • Keep public/ out of git as usual; only the built tree is uploaded.

FAQ

Should I deploy the repo or public/?

Only public/. Novence does not run gatsby build for you. Source files without a built index.html are rejected.

Do Gatsby Functions work?

No. Put form handling on Novence Forms or a third-party endpoint. See /forms and /site-data.

Why pass ./public explicitly?

The CLI looks at dist, build, and out before public. If any of those exist, it will deploy the wrong folder unless you pass ./public.

Agents ship. Novence hosts.

Copy Prompt or get a key. Then npx novence deploy ./public.