ijsbakje

ijsbakje

A simple webui for your personal git forge.

License: MIT License

Ice cream bowl

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/ijsbakje

The 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.0

Development

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 dev

It uses the same ~/.cache/ijsbakje data dir by default; pass another path as the first argument (just dev /tmp/ijsbakje).