No description
Find a file
2026-03-16 18:15:20 +01:00
src generalize forge, use public/private urls 2026-03-16 18:14:35 +01:00
test pebble default expiry to 90 days 2022-05-14 00:33:25 +02:00
web list all found DNS records 2022-05-15 00:36:49 +02:00
.envrc nix-shell 2024-06-21 15:50:32 +02:00
.eslintrc.js initial commit, working auto-requested certificates 2022-04-21 18:51:55 +02:00
.gitignore nix-shell 2024-06-21 15:50:32 +02:00
config.json generalize forge, use public/private urls 2026-03-16 18:14:35 +01:00
index.js generalize forge, use public/private urls 2026-03-16 18:14:35 +01:00
knexfile.js delete old database seeds 2022-05-15 00:07:46 +02:00
LICENSE initial commit, working auto-requested certificates 2022-04-21 18:51:55 +02:00
package.json update license to valid SPDIX 2026-03-16 18:15:20 +01:00
README.md generalize forge, use public/private urls 2026-03-16 18:14:35 +01:00
shell.nix nix-shell 2024-06-21 15:50:32 +02:00
yarn.lock mimetype-based default contentypes 2024-08-12 21:28:00 +02:00

Pixie Pages

Automated static site hosting from Forgejo repositories, similar to {Github, Gitlab, Codeberg} Pages.

How does it work?

  • Any git repo* is available at branch.repo.user.pixie.homes or similar (with defaults so you can leave out the branch or repo in some cases**)
  • This can also be used to CNAME a custom domain to the same content
  • Or a combination of A/AAAA records + TXT because you can't CNAME @
  • Upon access, pixie-pages automatically requests TLS certificates from Let's Encrypt to respond
  • ???
  • (non-)Profit!

* from the configured host, https://git.pixie.town by default
** user.pixie.homes defaults to the 'pages' repository by user, branch 'main',
repo.user.pixie.homes defaults to the 'pages' branch in user/repo

Roadmap / Features

  • Dynamic ACME requests
    • Store certs on disk
  • Basic Gitea integration
    • repo
    • branch
  • Basic Markdown rendering
    • Better template / styling
  • Custom domains
    • CNAME
    • A/AAAA records + TXT (for site root)
  • Internal pages
    • Landing page with documentation
    • Better documentation
    • Better error pages
    • Styling
  • Integration with Drone / other CI??
  • API for checking site's setup (& cache busting?)
  • Webring / sites overview (opt-in)
  • Automatic Tor hidden service mirroring with onionservice?

Source code, license, donations

Source code is in https://git.pixie.town/f0x/pixie-pages AGPL-3.0. If you want to support my work, you can: Donate using Liberapay

Changelog

0.0.6 (October 1st, 2022)

Support serving files backed by Git LFS (enable in your Gitea instance).
Uses /media/ URL route instead of /raw/

0.0.5 (September 9th, 2022)

Certificate renewal now happens at 30 days left, recommended by Letsencrypt and prevents unneccesary "certificate is about to expire" emails.

0.0.4 (May 14th, 2022)

Small fixes with deduplicating Promises, handle raw IP access with redirect, allow repository names with dots.

0.0.3 (May 14th, 2022)

Actual first release to run in production, includes a bunch of small fixes

0.0.2 (May 13th, 2022)

Configurable config location, minor refactoring

0.0.1 (May 12th, 2022)

Initial alpha release, deployed on pixie.homes