- Nix 48.6%
- Rust 41.2%
- TypeScript 4.6%
- CSS 3.5%
- Shell 2.1%
| .cargo | ||
| .forgejo | ||
| .helix | ||
| .woodpecker | ||
| crates | ||
| docs | ||
| etc | ||
| LICENSES | ||
| nix | ||
| scripts | ||
| test_dir | ||
| .editorconfig | ||
| .envrc | ||
| .gitignore | ||
| .prettierignore | ||
| book.toml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| Dockerfile.ci | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
| renovate.json | ||
| REUSE.toml | ||
| rust-analyzer.toml | ||
| rust-toolchain.toml | ||
| rustfmt.toml | ||
| taplo.toml | ||
| typos.toml | ||
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.
- 🛠 - 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
- 🚧 - MVP with most of the functionality of the old pages-server
- custom domains
- redirects
- compression
- OCSP stapling
- ...
- 🚧 - Open-Beta test for all Codeberg users still under a temporary domain
- 🚧 - Go-live under
codeberg.pagewith 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.