Paths
/docs/ serves docs/index.html. Missing paths fall back to /404.html when the site has one.
Static sites for repositories on rebase.now. Push a branch named pages, and it becomes a website.
Atomic updates · Automatic HTTPS · Custom domains
01 — Publish
Its name decides the address. <user> may be a user or an organisation, and the repository must be public.
pagesCommit the output, not the sources: plain HTML or the build of any static generator, with index.html at the top.
git push origin pagesIn the repository, open Settings → Webhooks and add a Forgejo webhook:
POSTapplication/jsonPush eventspagesEvery push to pages replaces the site atomically. Visitors keep seeing the previous version until the new one is complete. Recent deliveries in the webhook settings show the result of each update.
02 — Custom domains
Publish any repository's pages branch as the whole of a domain. Two DNS records name the repository and route the traffic:
_git-pages-repository.example.org. TXT "https://rebase.now/<owner>/<repo>.git"
example.org. CNAME rebase.page..git suffix.http://example.org/: no certificate can be issued before the site exists. Once a delivery succeeds, switch it to https://. The first HTTPS request may be delayed by a few seconds.www.example.org, needs its own records and webhook.03 — Good to know
/docs/ serves docs/index.html. Missing paths fall back to /404.html when the site has one.
A _redirects file in Netlify syntax, such as /old /new 301. Placeholders and conditions are not supported, and /a differs from /a/.
Certificates are issued automatically, for rebase.page addresses and custom domains alike. Plain HTTP page visits are redirected to HTTPS once the certificate exists.
Up to 128 MB per site, and each update must finish within a minute. Git LFS files are not served.