What is pages.gay?

Updated

pages.gay is a static site hosting service built around git.gay repositories. You keep your HTML, CSS, fonts, and images in a repo, and pages.gay publishes them as a live website at user.pages.gay or user.pages.gay/repo. It's aimed at people who want a project page online in minutes without running a server, and it can also be self-hosted if you run your own Gitea or Forgejo instance.

How publishing works

The model is simple: your repository is the source of truth, and pages.gay serves whatever static files you push to the relevant branch.

  • User site: create a public repository named pages on git.gay. Your files go on the main branch, and the site appears at user.pages.gay.
  • Project site: in any repository, create a new empty branch named pages. The site appears at user.pages.gay/repo.

In both cases you upload your static files — HTML, CSS, fonts, images, and anything else — and push to the repo. There's no build step described in the source material, so this is for files that are already ready to serve.

A caching caveat worth knowing

pages.gay uses a cache, so updates may not show up for a few minutes after you push. If you need to see a change immediately, a hard refresh (Ctrl + Shift + R) forces a cache update. Plan for this if you're iterating quickly or verifying a deploy.

Custom domains

To serve a site on your own domain, add a .domains file to your repository — in the same branch as the page's content — containing the domain you want to use. Then configure DNS:

Domain type Records to add
Subdomain CNAME pointing to [branch].[repo].[user].pages.gay
Apex domain A record → 213.210.34.143, AAAA record → 2a0f:9400:6906:1977::143, and a TXT record with content [branch].[repo].[user].pages.gay

Apex domains need the A/AAAA/TXT combination because CNAME records don't work at the apex.

Self-hosting

If you have your own Gitea or Forgejo server, pages.gay can be self-hosted. The source material points to the docs for that setup rather than describing the steps, so treat the hosted git.gay flow and the self-hosted flow as separate paths and follow the docs if you go the self-hosted route.

Who this fits

pages.gay suits you if:

  • Your site is already static — plain HTML/CSS/assets with no server-side rendering.
  • You're comfortable with Git and want deployment to be "push to a branch."
  • You want a free-looking, low-friction home for a personal or project page tied to a git.gay account.

It's less suited to sites that need a build pipeline, server-side logic, or instant cache-free updates on every push.