Bookmark manager for the wizards 🧙
[!IMPORTANT] Version
0.4
introduces a new approach for data storage and user authorization. If you are upgrading from version0.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! 📚✨
Light Mode | Dark Mode |
---|---|
Show only unread | Adding new bookmark |
User Profile view | Bookmark details |
More screenshots can be found in the screenshots directory.
docker-compose.yml
file 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:
docker compose up -d
command.[!NOTE] For the recommended setup, only the
docker-compose.yml
file is required.
# 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.
Check out the development guide to learn how to set up the project for development.
We're open to suggestions and feature requests! If you have an idea for a feature, please open an issue or start a discussion.
If you want to contribute to the project, please read the contributing guide.
This project is licensed under the MIT License.
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