this post was submitted on 25 Nov 2023
13 points (100.0% liked)

Self-Hosted Main

521 readers
6 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 2 years ago
MODERATORS
 

The time has come to unveil Grimoire, a bookmark manager designed specifically for everyone who is missing a little bit of magic touch when it comes to organizing their bookmarks.

Its mission is simple: to help you add, process, and organize your bookmarks in a way that makes sense.

Reasoning behind the project​

I've always struggled with organizing my bookmarks. Even though I tried many options, none of them really appealed to me. The built-in bookmark managers in browsers were too basic and didn't allow me to organize my bookmarks in a way that made sense to me. The most popular external bookmark managers have been too simple, too complicated, or too expensive for what they offer.

What I liked the most was the idea of having a bookmark manager with a relational database I had access to. This would let me retrieve my bookmarks in any way I wanted, and I could easily add new features in the future. I've searched for a solution that would allow me to do that, but I couldn't find anything that would fit my needs.

And that's how the idea of the Grimoire was born. I wanted to create a bookmark manager that would be simple to use, but also powerful enough to let me organize my bookmarks in a way that made sense to me. Moreover, I wanted to take SvelteKit and PocketBase for a spin, and this seemed like a perfect opportunity to do so.

How it looks now​

Starting with v0.1.0, Grimoire has most of the basic features you would expect from a bookmark manager:

  • bookmarks:
    • can be added, viewed, edited, and deleted
    • can be organized into categories and tagged
    • metadata, like title, description, HTML content, favicon, and image, is fetched from the website and stored locally
    • can have notes added to them
  • bookmark list:
    • display in a grid or list view
    • can be searched by title, description, URL, and tags
    • filtering by category, tag, and and more
    • sort by date added, domain, and more
  • users:
    • can sign up and sign in
    • all bookmarks, categories, and tags are private to the user
  • admin panel:
    • is used to manage users and see their bookmark, category, and tag counts
    • can be used to preview most of PocketBase settings
  • other:
    • it's dockerized, so it's easy to run it locally or deploy it to your server
    • all the benefits of a self-hosted PocketBase installation, like scheduled backups (local and to S3), high performance, and data security
    • dark mode, because dark wizardry requires darkness
    • responsive design as magic should be accessible to everyone, everywhere
    • early and experimental support for AI-powered features (more on that in the future), like automatic tag suggestions
  • and that's just the beginning!

What's next​

It's still a work in progress, but I'm happy with the functionality provided so far. You can expect more useful features, like a way to import bookmarks from other services and export them to most popular file formats, public profiles, better admin panel, AI-powered features - just to name a few. For more details, check out the roadmap.

How to get it up and running​

If you want to try it out, you can run it locally!

Contributors are more than welcome​

To make Grimoire even better, I need your help! Don't be a stranger and check out the contributing guidelines today!

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 year ago

Thanks for sharing your project with us, but did you know that adding a screen shot somewhere won't kill your projectβ‰πŸ—Ώ

[–] [email protected] 2 points 1 year ago

I try to test this out but having problems setting it up properly?

I set an Email and Password in all of the .env files and started the container with docker-compose up. But neither the admin panel or the normal login accept the credentials.

Any help please?

[–] [email protected] 2 points 1 year ago (1 children)

"Cross-site POST form submissions are forbidden"

​

Every time I try to log in with the info i put into the .env file. Doing "sign up" from the app does not do anything.

[–] [email protected] 2 points 1 year ago

I've been poking around trying to deploy this as well.

You'll want to edit the Dockerfile and make sure your origin is set to whatever url you'll be accessing grimoire from.

​

However, even doing this, I'm not able to login even when I manual inject a user into pocketbase.

[–] [email protected] 2 points 1 year ago

A new tool to try out on Monday. Thank you for this

[–] [email protected] 1 points 1 year ago (3 children)

Are you planning to add ldap authentication?

load more comments (3 replies)
[–] [email protected] 1 points 1 year ago

This is what I was looking for! one thing I would like is having the ability of having the bookmarks in the regular bookmark tab to easily access them as if I was using the browser. Is that possible?

[–] [email protected] 1 points 1 year ago

!remindMe 4h

[–] [email protected] 1 points 1 year ago (2 children)

Have always felt the same way about bookmark managers, we need one to rule them all.

Thought about a semantic search? I always end up looking for bookmarks but don't remember the website and I haven't stored it in an organised way

[–] [email protected] 1 points 1 year ago (1 children)

Would love if "bookmarking" also ripped the text off the page for full searchability

[–] [email protected] 2 points 1 year ago (2 children)

Grimoire uses https://metascraper.js.org/ for fetching metadata and website content as HTML and also text. Searching is not yet enabled for the latter, but it may change in the near future!

[–] [email protected] 1 points 1 year ago (1 children)

Awesome! Once AI local LLMs are efficient enough maybe incorporate one to use the meta for semantic searching. Could even be possible now with rudimentary machine learning.That'd be an absolute game changer... Google search for your bookmarks

[–] [email protected] 1 points 1 year ago

Great idea! I will keep this in mind when updating the roadmap.

[–] [email protected] 1 points 1 year ago

Ok i gotta try this out πŸ‘€

[–] [email protected] 1 points 1 year ago (2 children)
[–] [email protected] 1 points 1 year ago

πŸ˜‚ very true

[–] [email protected] 1 points 1 year ago

But not like The One Ring!

[–] [email protected] 1 points 1 year ago (1 children)

This looks great! I'll fully migrate from raindrop.

[–] [email protected] 1 points 1 year ago
[–] [email protected] 1 points 1 year ago (1 children)

I'll wait until there's pre-made container to use.

[–] [email protected] 1 points 1 year ago (1 children)

+1, I'd love something posted to docker hub

[–] [email protected] 1 points 1 year ago (1 children)

Images from Docker Hub or GitHub Container Registry will be available soon :)

[–] [email protected] 1 points 1 year ago (1 children)

The code quality is so nice OP Very well done and thanks a lot!!

[–] [email protected] 1 points 1 year ago

Thank you! I hope it will allow for smooth contributions for anyone willing to help make Grimoire better πŸ™‚

[–] [email protected] 1 points 1 year ago

Remindme! 4days

[–] [email protected] 1 points 1 year ago

I have yet to find β€œthe answer” to bookmarks so I am interested in checking this out.

[–] [email protected] 1 points 1 year ago (1 children)

Is there a browser extension we can use with this or a plan for one? Currently I use wallabag but I think this may be a good replacement as long as it has some sort of browser implementation

[–] [email protected] 1 points 1 year ago (2 children)

Most definitely there will be an official browser extension. Grimoire is just meant to be accompanied by one! πŸͺ„

[–] [email protected] 1 points 1 year ago

A browser extension will be useful for me if it caches the bookmarks for offline use, as I don't keep a constant connection to my self hosted server from my mobile (I use tailscale to connect to my home server and it's not constantly kept on).

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago

Firefox can use the same extension under the right conditions. I’m using it myself, so it’s one of my goals to make this happen!

[–] [email protected] 1 points 1 year ago (1 children)

I have quesion for you. Why do you use:

git clone [email protected]:goniszewski/grimoire.git

instead of:

git clone https://github.com/goniszewski/grimoire.git
[–] [email protected] 1 points 1 year ago

It has many advantages over the HTTPS one. And also was always the preferred way of interacting with remote repositories by teams I worked with in my professional career.

I think this comment sums it up nicely: https://www.reddit.com/r/webdev/s/Ecg3lm5sfV

[–] [email protected] 1 points 1 year ago

What a coincidence! I know someone that's working in a very similar solution: a bookmarks organizer with a rdbms backend.

Good luck!

[–] [email protected] 1 points 1 year ago

Looks great, I literally installed Shiori 2 days ago but can see myself moving to this. The one feature I'd love to see that's broken on Shiori is a browser extension to make adding bookmarks faster and easier.

[–] [email protected] 1 points 1 year ago

Looks cool!

[–] [email protected] 1 points 1 year ago

Remindme! 90days

[–] [email protected] 1 points 1 year ago

This is exactly what I needed

[–] [email protected] 1 points 1 year ago (1 children)

Damn! Looks very impressive! I like the design so much!

[–] [email protected] 1 points 1 year ago

It’s the magic of awesome DaisyUI we’re using! 🌼

[–] [email protected] 1 points 1 year ago (1 children)

Looks great, does it really β€œrequire” docker? Will it be difficult to run it from an lxc container?

[–] [email protected] 1 points 1 year ago

A great question! Frankly, it can be launched via any JS package manager + PocketBase executable, so it shouldn’t be that hard.

That being said, at the beginning I would like to keep it simple and stick with Docker.

[–] [email protected] 1 points 1 year ago

Remindme! 30days

[–] [email protected] 1 points 1 year ago

This looks great! Been debating between all the different bookmark managers available. Definitely going to give this a go.

[–] [email protected] 1 points 1 year ago

Any advantages to this over Wallabag?

I don't mean that in a confrontational way, this looks great! But I'd rather force myself to find a good reason before I replace Wallabag with it so soon after spending the effort getting it set up :P

load more comments
view more: next β€Ί