How Publishing Works in Publii and Where You Can Host the Site
Updated
Publii is a desktop CMS: you write and manage content in a local app on your computer, and Publii generates a static site that you upload to a host. Supported destinations named on getpublii.com include GitHub Pages, Netlify, Amazon S3, and your own hosting via FTP. Because the output is static files, there is no database, no PHP, and no public admin panel on the server — the CMS itself never runs on your host.
The publishing flow, step by step
- Write locally. In the Publii desktop app you manage posts, authors, tags, and media. The site lists a block editor for structured layouts among its editing options.
- Build the static site. Publii turns your content and theme into static files on your machine. This is where the database-free, PHP-free architecture comes from — the generation happens in the app, not on a server.
- Choose a destination and sync. You publish to GitHub Pages, Netlify, Amazon S3, or your own hosting via FTP. The site describes syncing updates "with a click," so subsequent changes are pushed the same way rather than rebuilt by hand.
The practical consequence: your live site is just files. There is no public CMS admin panel to break into, and no tracking scripts unless you add them yourself.
Where you can host
| Destination | How it fits |
|---|---|
| GitHub Pages | Good if your content already lives in Git and you want hosting tied to a repository. The site notes ease of integration with GitHub. |
| Netlify | A static-site host; pairs naturally with Publii's file output. |
| Amazon S3 | Object storage used as a static website host. |
| Your own hosting via FTP | Use any host you already pay for that accepts FTP uploads. |
All four are listed directly on getpublii.com, so treat this as the supported set rather than an exhaustive list of everything static hosting can do.
What this means for updates
Because publishing is a sync operation, the loop is: edit in the desktop app → rebuild → sync to the chosen target. You are not logging into a server-side dashboard to change a post. That is also the source of the security claim in the site's own framing — the attack surface of a running CMS is removed, since nothing CMS-related is exposed publicly.
Choosing a destination
- Already using Git for the site? GitHub Pages keeps content and hosting in one place.
- Want managed static hosting with deploy tooling? Netlify.
- Already on AWS? Amazon S3.
- Have existing shared or VPS hosting? FTP to your own host.
Publii's site describes itself as free and open-source, with "premium" appearing among its pricing signals — so if you need paid themes or add-ons, check the current offering on the site rather than assuming everything is included.
Common sticking points
- FTP credentials and paths are the usual failure point when publishing to your own host; confirm the remote directory before the first sync.
- GitHub Pages and Netlify require connecting the right account/repository or site target in the app before syncing.
- Rebuild after edits — since the site is static, changes only appear once you sync again.
If your goal is a blog, portfolio, or documentation site that you write locally and publish as plain files, this flow covers it end to end.