# How to publish a Gatsby site

Gatsby produces a finished static site. The folder is called public, which catches people out because most other tools call it dist.

- Build command: `npm run build`
- Folder to upload: `public`
- Renders on a server by default: no

## Steps

1. **Build the project.** Run npm run build in the project folder. This is the step Droply does not do for you: we publish finished pages, we never run your build.
2. **Find the output folder.** The build writes a finished site to public. That folder, not the project folder, is what gets uploaded.
3. **Drag it in.** Drop the folder (or a ZIP of it) into Droply. It is live on an HTTPS droply.id subdomain in seconds, and re-uploading publishes a new version at the same URL.

## Worth knowing about Gatsby

- The folder to upload is `public`, not `dist`, and not the `static` folder (that one holds your source assets before the build).

## Frequently asked questions

### Does Droply build my Gatsby project for me?

No, and it never will. Droply publishes finished static files. Running your build would mean running your dependencies on our servers, which is a different and much riskier product. Build locally or in your existing CI, then upload the result.

### Which folder do I upload?

The public folder that npm run build creates, not the project folder. Upload it directly or ZIP it first; both work.

### What happens when I update the site?

Build again and upload again. The new version replaces the old one at the same URL, so a link you have already shared keeps working. The Pro, Business and Enterprise plans keep a version history you can roll back to in one click.

### Can I use my own domain?

Yes, on the Pro, Business and Enterprise plans. Point your domain at Droply, and the certificate is issued and renewed automatically.