No description
  • Nix 48.6%
  • Rust 41.2%
  • TypeScript 4.6%
  • CSS 3.5%
  • Shell 2.1%
Find a file
2026-01-24 10:57:58 +01:00
.cargo License under MIT OR Apache-2.0 and add CI flow for REUSE compliance (#33) 2025-04-18 15:14:28 +00:00
.forgejo build(nix): add treefmt (#126) 2025-10-09 00:17:25 +02:00
.helix fix/taplo-should-ignore-language-configuration (#136) 2025-10-18 12:52:30 +02:00
.woodpecker fix(nix/checks): fix errors that popped up now 2026-01-23 21:10:25 +01:00
crates feat(logging): more logs in webhook handler on early exits 2026-01-24 10:57:58 +01:00
docs bootstrap leptos-frontend (#93) 2025-10-16 15:19:36 +02:00
etc build: package pages-server with crane (nix framework) (#130) 2025-10-10 21:45:17 +02:00
LICENSES docs: add scaffolding for documentation (#57) 2025-08-15 14:48:21 +02:00
nix refactor(rename): codeberg-pages-server -> forgejo-pages-server 2026-01-24 10:44:31 +01:00
scripts build(nix): add treefmt (#126) 2025-10-09 00:17:25 +02:00
test_dir feat: basic config file (#51) 2025-05-25 21:35:39 +02:00
.editorconfig make project helix ready (#58) 2025-05-16 13:44:46 +00:00
.envrc improve nix development flake and add direnv support 2024-12-30 16:24:34 +01:00
.gitignore build(nix): add treefmt (#126) 2025-10-09 00:17:25 +02:00
.prettierignore docs: add scaffolding for documentation (#57) 2025-08-15 14:48:21 +02:00
book.toml build: package pages-server with crane (nix framework) (#130) 2025-10-10 21:45:17 +02:00
Cargo.lock chore(rust): update Cargo.lock 2026-01-23 20:12:40 +01:00
Cargo.toml refactor(rename): codeberg-pages-server -> forgejo-pages-server 2026-01-24 10:44:31 +01:00
CODEOWNERS chore: add CODEOWNERS file for automatic review assignment (#131) 2025-10-18 12:53:56 +02:00
CONTRIBUTING.md build(nix): add treefmt (#126) 2025-10-09 00:17:25 +02:00
Dockerfile.ci ci: expand-ci-image (#99) 2025-09-05 15:51:59 +02:00
flake.lock chore(nix): lock file maintenance 2026-01-23 20:08:01 +01:00
flake.nix build: package pages-server with crane (nix framework) (#130) 2025-10-10 21:45:17 +02:00
README.md docs: Improve the README file (#122) 2025-10-10 21:55:05 +02:00
renovate.json build(nix): add treefmt (#126) 2025-10-09 00:17:25 +02:00
REUSE.toml build: package pages-server with crane (nix framework) (#130) 2025-10-10 21:45:17 +02:00
rust-analyzer.toml bootstrap leptos-frontend (#93) 2025-10-16 15:19:36 +02:00
rust-toolchain.toml bootstrap leptos-frontend (#93) 2025-10-16 15:19:36 +02:00
rustfmt.toml build: package pages-server with crane (nix framework) (#130) 2025-10-10 21:45:17 +02:00
taplo.toml fix/taplo-should-ignore-language-configuration (#136) 2025-10-18 12:52:30 +02:00
typos.toml build(nix): add treefmt (#126) 2025-10-09 00:17:25 +02:00

Please don't upload to GitHub Matrix status-badge License

Pages Server v3

This project was started out of the need for a new pages-server to replace codeberg.org/Codeberg/pages-server. At the moment it is unclear if that will happen. Development will continue in any case and this can be seen as a self-hostable alternative for the pages server for forgejo in general. We will first collect requirements and discuss implementation details and then start implementing a PoC. After the working PoC we will implement the MVP to supersede the existing pages-server.

The old server will not be shut down immediately, we will leave it running for some time, because we don't know who uses it. There will be an easy migration to the new one (hopefully just one click), but not everything can be migrated automatically.

Roadmap

The current roadmap is just a rough approximation. It will change frequently as we refine it. We also won't set specific dates to certain features, because this is an open-source project that is programmed by volunteers in their free time.

  1. 🛠 - PoC with the new architecture
    • webhook based pulling of repositories
    • push endpoint for artifacts from CI builds
    • external storage (external to the forge git repos)
    • server that hosts static files
    • simple UI for users and admins
  2. 🚧 - MVP with most of the functionality of the old pages-server
    • custom domains
    • redirects
    • compression
    • OCSP stapling
    • ...
  3. 🚧 - Open-Beta test for all Codeberg users still under a temporary domain
  4. 🚧 - Go-live under codeberg.page with the old pages-server running behind the new one for repositories the new pages-server couldn't find

Explanation of symbols: 🛠 = in progress, 🚧 = planned

Development

Want to help the development of the pages server? Take a look at our contribution guidelines as well as our documentation TODO(#52).

Toolchain

This repository uses rust-toolchain.toml for consistent toolchain management with rustup and the Nix development environment via flake.nix.

Helix

If you have nix flakes installed and want to use the Helix editor you just have to run:

nix develop .#helix -c $SHELL

Nightly toolchain in Nix

To use the nightly toolchain in nix development environment use the wrapper command cargo-nightly.

Extra stuff

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this repository are to be interpreted as described in RFC2119.