Skip to content

Warning

This site is under construction. Expect some information to be missing, inaccurate, or poorly worded.

The final word in static site hosting

Deploy your website with a single HTTP request or a git push.

The git-pages static site server takes care of caching, compression, redirects and headers, forge updates, and more.

# setup DNS record "_git-pages-challenge.coolcat.wiki 3600 IN TXT ..."
# then run this command, or simply curl
git-pages-cli https://coolcat.wiki --password ... --upload-dir site/

Upload any way you like

Have a Git repository with the static contents of your website? Set up a webhook and let git-pages upload your website on every push automatically.

.forgejo/workflows/publish.yml
- name: Build website
  run: |
    # output to ./site/
- name: Deploy website
  uses: actions/git-pages@v2
  with:
    site: https://your-domain.example/
    source: ./site/
    password: ${{ secrets.PASSWORD }}

Your site is built dynamically? Set up a Forgejo workflow and upload the built files to git-pages using the official action.

$ git-pages-cli \
  https://mycoolcat.pics \
  --upload-dir "today's batch" \
  --password "..." \
  --incremental

Or maybe you want to do things yourself? Use the official git-pages CLI to efficiently upload a directory tree, or PUT up a tar archive using a simple curl command. You can even PATCH over an existing website, adding new files on top of already uploaded content.

Upload incrementally

Deploy small changes within seconds by only uploading what has changed.

Patch over websites

--

Diagnose with ease

Preempt any surprises with git-pages' linters for potential gotchas in _redirects and _headers.

Forge subdomain support

Host your websites without needing to bring your own domain by using a forge-provided subdomain.

Horizontal scaling

Connect S3-compatible storage and assemble a cluster of git-pages instances, across machines and regions.

Learn more