ijsbakje
A simple webui for your personal git forge.
License: MIT License
Ijsbakje
Ijsbakje ( /ɛisˈbɑkjə/ • Dutch for ice cream pot) is web-ui for soft-serve, the minimal git forge.
Just like its backend, ijsbakje is built around minimalism. This is not meant to integrate with complex project features (of which soft-serve implement next to none anyway), instead ijsbakje just wants to be a 'storefront' for all your personal projects.
Visitors can see your projects, read your code, get an HTTP/SSH link to clone your project.
What about issues? PRs? Discussions?
If your project is serious enough to require these features, you probably need a multi-user forge anyway. For anything else, just add your email.
Why a bakje and not a hoorntje (cone)?
Because less calories in the container means more ice cream!
Quickstart
You can install ijsbakje from source:
git clone https://forge.nchagnet.eu/ijsbakje.git
cd ijsbakje
cargo install --locked --path .This installs a binary bakje, which you can start with
bakje serve --data-dir ~/.cache/ijsbakjeThe data dir holds repos.toml, the single source of configuration:
forge_url = "https://my.forge.com"
[[repos]]
name = "my_repo" # Should resolve to https://my.forge.com/my_repo.git
description = "What my repo does"
docs = "https://docs.rs/my_repo"
home = "https://my_repo_site.com"Each [[repos]] entry accepts only name, description, home, and docs. Other keys are rejected. description, home, and docs are optional.
bakje exits with an error if the file is missing or invalid.
Docker
The container image is published as nchagnet/ijsbakje. Mount a data directory that contains repos.toml:
docker run --rm -p 8080:8080 \
-v "$PWD/data:/data" \
nchagnet/ijsbakje:1.0.0Development
just dev rebuilds and restarts the server when source or template files change.
The running server reloads repos.toml in place, so config edits need no restart.
just devIt uses the same ~/.cache/ijsbakje data dir by default; pass another path as
the first argument (just dev /tmp/ijsbakje).