Help
What is GitPress?
GitPress is a blog admin. You sign in and write the way you would in WordPress; the prose lives in your own GitHub repo; after you save, it is compiled into a static site on GitHub Pages. gitpress.net is only the remote control — readers are not hitting our servers.
It is not another static site generator. Tools like Hugo and VitePress are something you install and run from the command line. GitPress puts writing in a web admin and building in your GitHub Actions.
Just want a site? Start by creating your blog. To understand whether the platform can hold your drafts hostage, read on.
Who it’s for
- You want a personal blog without renewing a server every year, migrating a database, or re-pointing DNS.
- You don’t want posts sitting in a platform’s database, needing an “export request” if you leave.
- A GitHub account is enough; you don’t have to set up Hugo or VitePress yourself.
How it differs from other tools
- WordPress: The admin feel is similar. The difference is that neither the drafts nor the pages readers see live on our servers — they live on your GitHub.
- Hugo / VitePress: Both compile Markdown into a static site. They are generators you run locally or in CI. GitPress gives you a web admin; the generator runs in Actions on your repo.
- Typical blog platforms: When you leave, you take the repo, not an export you had to request. If the platform shuts down, you lose this admin, not the articles.
Why this project exists
I used to have a WordPress personal blog for about five or six years. Every year I had to buy a new server (new purchases were much cheaper), migrate, then re-point DNS. Exhausting, and it kept happening.
Once I forgot to renew the server and didn’t migrate. Several years of blog data were gone. Without a more lasting fix, that exhausting, possibly repeating disaster would happen again. So I went looking.
Hugo and a whole line of SSGs (static site generators) can compile a site, but the mental cost and the operational cost were both high.
Then I found Gridea. Data lived on the computer; I had to sit at the desk to write — I couldn’t write from anywhere — so I dropped it. They later shipped a web version, but it was paid, limited, and worse than the local one. The core hadn’t changed: the articles still weren’t safe enough.
To solve this epic problem — and because the open-source tools on the market can already support a setup like this — I started on the architecture. Designs like one blog, two repos. There are more architectural choices I won’t unpack here; if you want, fork the source repo and let an AI walk you through it.
The first version was written with Fable 5. Just the first AI plan run cost 200 yuan. Honestly, Fable 5 is expensive. After more rounds of features and fixes, we got to this version.
So what you use every day is the admin. What actually holds the site up is the two repos on your GitHub, plus the public admin source, and the MIT-licensed themes and build tool. The admin is only a remote control.
What the three pieces do
Three jobs: where the drafts live, how the blog looks, and who compiles after you hit save. You don’t need to read the repo READMEs first.
Main repo · the site you click every day
tap6/GitPress.net
WordPress-style admin: sign in, create repos, write, save. We call the GitHub API for you; Postgres has no prose. Source is public (PolyForm Shield); you can self-host. If we shut down, you lose this admin, not the articles.
Open on GitHub →
How the blog looks
tap6/gitpress
Built-in themes, how post Markdown is written, what gitpress.json means. Switching themes or making your own follows this contract. The data-repo template lives here too.
Open on GitHub →
Who works after you hit save
tap6/build-action
Reads from your private data repo, compiles a static site, pushes to the public site repo. Runs on GitHub, not on gitpress.net machines.
Open on GitHub →
If we shut down
This is not “export then migrate.” Prose, images, and drafts never entered our database — they were always in your private data repo; the HTML readers see is in your public site repo. Keep using the same gitpress theme and build-action on GitHub. If the platform is gone, you lose the remote control, not the drafts.
What the control plane keeps and skips: Privacy. To make a skin yourself: Make a theme with AI.