Rename the .env.example file to .env
May 30, 2025 ยท View on GitHub
Grimoire
Bookmark manager for the wizards ๐ง
Important
Version 0.4 introduces a new approach for data storage and user authorization. If you are upgrading from version 0.3.X you may want to utilize the built-in migration tool (read more).
Glimpse into the magical book of your forbidden knowledge - Grimoire! ๐๐ซ
Unleash your inner sorcerer and conquer the chaos of bookmarks! With Grimoire, you'll have a bewitching way to store and sort your enchanted links.
But wait, there's more!
Transmute your saved pages into juicy content snippets with our mystical extraction feature. Embrace the magic, tame the clutter, and let Grimoire be your mystical companion in the vast library of the web.
It's time to conjure up some organization! ๐โจ
Features
- add and organize bookmarks easily ๐
- create new user accounts, each with their own bookmarks, categories and tags ๐
- fuzzy search through bookmarks ๐
- supports tags and categories ๐ท๏ธ
- fetch metadata from websites, store it locally and update it when needed ๐
- add your personal notes to bookmarks ๐
- integration API to add bookmarks from other sources ๐งฐ
- embrace the night with a dark mode ๐
- and stay productive using our official browser extension, grimoire companion (available here) ๐ช
Screenshots
| Light Mode | Dark Mode |
|---|---|
Show only unread | Adding new bookmark |
User Profile view | Bookmark details |
More screenshots can be found in the screenshots directory.
Installation
Run using Docker Compose (recommended)
Prerequisites
Steps
- Create a
docker-compose.ymlfile with the following content:
services:
grimoire:
image: goniszewski/grimoire:latest # or change from 'latest' to 'preview' to use the latest preview version
container_name: grimoire
restart: unless-stopped
environment:
- PORT=5173
- PUBLIC_HTTPS_ONLY=false
- PUBLIC_SIGNUP_DISABLED=false
volumes:
- grimoire_data:/app/data/
build:
context: .
dockerfile: Dockerfile
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:$PORT/api/health || exit 1
interval: 30s
timeout: 10s
retries: 3
ports:
- '${PORT:-5173}:${PORT:-5173}'
volumes:
grimoire_data:
- [Optional] Update the environment variables to match your needs.
- Run the app using
docker compose up -dcommand.
Note
For the recommended setup, only the docker-compose.yml file is required.
Run app using Node
Prerequisites
Steps
# Clone the repository
git clone https://github.com/goniszewski/grimoire
# Rename the `.env.example` file to `.env`
# "mv .env.example .env" on Linux/MacOS, "ren .env.example .env" on Windows
# Install the dependencies
pnpm i
# Run the app
chmod +x ./run-dev.sh && ./run-dev.sh
Tip
Although the above setups are intended for development, they are also suitable for daily use. For a better experience, it is recommended to use a Node.js process manager, such as PM2.
Run using One-Click Deploy and Kubernetes (Helm)
โก One-Click Deploy
Change or add deploy options at awesome-docker-run
Generated by DeployStack.io
Development
Check out the development guide to learn how to set up the project for development.
Roadmap
- Initial relase (0.1.0) ๐
- Official Docker image ๐ณ
- Add Integration API ๐งฐ
- Official browser extension (repository) ๐ช
- Bookmark import and export features ๐ผ
- AI features, like generated descriptions and tags suggestions ๐ค
- Public User profiles & bookmark sharing ๐
- Flows - a way to keep bookmarks in a session-like order with related notes (e.g. for learning, research, etc.) โจ
- ...and more to come! ๐ง
We're open to suggestions and feature requests! If you have an idea for a feature, please open an issue or start a discussion.
Contributing
If you want to contribute to the project, please read the contributing guide.
License
This project is licensed under the MIT License.
Credits
Special thanks to: @extractus/article-extractor, Bun, DaisyUI, Drizzle, Fuse.js, Lucia, MetaScraper, PocketBase, sanitize-html, SvelteKit, Svelte Select, Svelte French Toast, Swagger UI, Tabler Icons, Tailwind CSS, url-metadata
Show only unread
Adding new bookmark
User Profile view
Bookmark details