Can I self-host pages.gay?
Updated
Yes. pages.gay can be self-hosted if you have your own Gitea or Forgejo server. The site states this directly and points you to its documentation to get started. So if you already run Gitea or Forgejo and want the same "push a repo, get a static site" workflow on your own infrastructure, self-hosting is a supported path.
What you need before starting
- A Gitea or Forgejo instance you control. These are the two platforms named as the self-hosting requirement. A plain Git server or a different forge is not what the documentation targets.
- Access to that server's configuration and the ability to run additional services. Self-hosting pages.gay means running the pages service alongside your forge, not just enabling a checkbox inside Gitea/Forgejo.
- The official docs. The site says to "follow the docs to get started if taking that approach" — the exact install steps live there, not in the marketing copy.
How self-hosting relates to the hosted service
The hosted pages.gay is built around git.gay repositories. The same model applies when self-hosted: your forge hosts the repo, and the pages service turns branches into sites.
| Aspect | Hosted pages.gay | Self-hosted |
|---|---|---|
| Forge | git.gay | Your own Gitea/Forgejo |
| Who runs the pages service | pages.gay | You |
| Setup effort | Create a repo and push files | Install and configure the pages service per the docs |
| Custom domains | Supported via .domains file + DNS |
Same mechanism, pointed at your own domain |
How sites are structured (so you know what you're replicating)
Understanding the hosted behavior tells you what your self-hosted setup needs to reproduce:
- User site: create a public repository named
pageson the forge, add static files to themainbranch, and the site appears atuser.pages.gay. - Project site: in any repository, create an empty branch named
pages, and the site appears atuser.pages.gay/repo. - Caching: pages.gay uses a cache, so updates may take a few minutes. A hard refresh (Ctrl + Shift + R) can force a cache update.
- Custom domains: add a
.domainsfile in the same branch as your page content, then point DNS at the service. For subdomains, a CNAME to[branch].[repo].[user].pages.gay. For apex domains, an A record to213.210.34.143, an AAAA record to2a0f:9400:6906:1977::143, and a TXT record containing[branch].[repo].[user].pages.gay.
Choosing between hosted and self-hosted
- Self-host if you already operate Gitea/Forgejo, want the service on your own infrastructure, or need control that the hosted offering doesn't give you.
- Use the hosted service if you don't run your own forge and just want a site live in minutes — creating a repo on git.gay and pushing files is the whole setup.
The site does not publish self-hosting pricing, resource requirements, or a step-by-step install guide in the material available here. For the actual installation procedure, follow the documentation linked from pages.gay.