Hellebore is a self-hosted desktop app that helps creatives track their fictional settings in the form of a digital encyclopedia. The main motivation behind this project is twofold. Firstly, I want an out-of-the-box solution for documenting the world-building process; i.e., interlinked notes, event timelines, maps, dictionaries, etc. Secondly, I want full control over where the data is stored. The Hellebore project is my attempt at solving these two problems.
This is just a hobby project, so I don't plan on ever distributing this. However, if the concept of this project interests you, I suggest checking out Obsidian; it covers a lot of the use cases that I have in mind for Hellebore. If you wish to contribute to Hellebore, refer to the contributing page.
- rust: https://www.rust-lang.org/tools/install
- node.js >=22: https://nodejs.org/en/download
- pnpm: https://pnpm.io/installation
- sqlite 3: https://www.sqlite.org/download.html
- Install the front-end.
pnpm install- Install the back-end.
cargo install --path src-tauri- Install the sea-orm cli
cargo install sea-orm-cli@1.1.0- Configure the development environment via a
.envfile in the project root.
HELLEBORE_DATA_DIR="data"
HELLEBORE_DEFAULT_DB_FILE="db.sqlite"
# required for sea-orm-cli entity generation
DATABASE_URL="sqlite://src-tauri/data/db.sqlite?mode=rwc"- Serve the app.
pnpm run devTo regenerate the DB entity models, run the following:
pnpm run build:entities