Kellnr is an open-source Rust registry for crates. Think of crates.io but on your own hardware.
Find out more on: kellnr.io
You are welcome to contribute to kellnr. Create an issue or a pull-request here on Github.
If you want to contribute with code, here are some hints to get you started.
The following tools are needed to build kellnr: Rust, NPM / Node.js and Docker.
kellnr is written in Rust with a UI in vue.js. NPM and Node.js are only needed at build time, but not at runtime. The UI is hosted by kellnr itself, such that no Node.js is needed. Docker is needed for integration tests against the PostgreSQL backend.
The project uses just as a task runner. Check the justfile for all available tasks, or run just -l
to see all available tasks.
# Build the project (debug)
just build
# Build the project (release)
just build-release
# Test the project (without Docker integration tests)
just test
# Test the project (with Docker integration tests)
just test-all
# Run the project
just run
kellnr uses Sqlite or PostreSQL as the storage backend for all crate related information. If you need a local PostgreSQL to test against, this Docker command sets one up on your local machine.
# Run local postgres container.
docker run -it --rm -p 5432:5432 -e POSTGRES_PASSWORD=admin -e POSTGRES_USER=admin postgres
If you want to generate entities with Sea ORM from the database, run:
# in the folder, where the entities should be generated, where "kellnr-db" is the database name.
sea-orm-cli generate entity -u postgresql://admin:admin@127.0.0.1/kellnr-db