10 ms·
Show HN: Linkwarden – An open source collaborative bookmark manager
Hey there HN!
Meet Linkwarden, a fully self-hostable, open-source collaborative bookmark manager to collect, organize and archive webpages.
Please also visit/star our GitHub repo [1].
Linkwarden was built using TypeScript and NextJS, backed by a PostgreSQL database for the lighter-weight data. The rest of the data can be chosen either to be stored on the filesystem, or stored on the cloud on Digital Ocean Space/AWS S3, the reason for the cloud storage solution was for the Cloud offering [2], we realized that the preserved webpages (archives) take up space pretty quickly and S3 was much more efficient for this task. On the front-end we used TailwindCSS for styling and Zustand for state management.
You could either use our Cloud offering (with 14-day free trial) to directly support this project and experience Linkwarden, or you could self-host it on your own machine and have maximum flexibility.
Feel free if you had any questions, we'll do our best to answer it.
[1]: https://github.com/linkwarden/linkwarden https://github.com/linkwarden/linkwarden
[2]: https://cloud.linkwarden.app/register https://cloud.linkwarden.app/register - Hosted in Digital Ocean's datacenter located here in Toronto, ON.
- 10000truths 3y agoAny relation to Bitwarden, or just a happenstance similarity in names?
- DaniDaniel5005 3y agoNo we’re not related to Bitwarden, we both just have a nice name and are opensource :)
- codegladiator 3y agoIt is a Linkedin for Bitwarden.
- rounakdatta 3y agoNo please no. We have one LinkedIn, and that's enough pain to humanity.
- pratio 3y agoI'll definitely give it a short this weekend. Are there any plans to support different authentication methods? Like LDAP, OAuth2 etc? I'm using linkding at the moment https://github.com/sissbruecker/linkding https://github.com/sissbruecker/linkding which also has a browser addon, the only missing thing is some form central user auth but we're using it as it is.
- DaniDaniel5005 3y agoCurrently the only authentication methods are using plain username/password as default. And if the extra environment variables are set properly, you could hook it up using the email provider, taking care of the confirmation emails and one time links.
- squiggy22 3y agoIf its on nextjs I've a feeling there are auth providers kicking about to implement sso at least.
- DaniDaniel5005 3y agoAbsolutely, the authentication is being handled by next-auth so there are lots of providers that can be added in the future.
- jhot 3y agoLinkding does support header auth if your provider supports that (I run authelia backed by ldap).
- deleted 3y ago[deleted]
- pratio 3y agoThanks for pointing that out. I'm already using authelia backed by ldap, it'll be an easy setup. I might've to figure how to merge the existing users and their data though.
- deleted 3y ago[deleted]
- j45 3y agoLooks really clean. A few questions: - It’s not clear if this saves highlight in Ng and annotations (notes about the highlights). More than saving a bookmark we think about a sentence that can be searchable. - Is there any plan to save the entire webpage as text (to maintain the annotations in it) in addition to pdf and screenshot? One product I am overly dependant on is Diigo - I would love a replacement even if it was self hosted.
- DaniDaniel5005 3y agoSaving webpages as text was actually something we wanted to do before launch but just went for the “MVP” for now. So yeah we’re definitely bringing more archive formats.
- xurbax 3y agoPlease consider integrating SingleFile support as well, perhaps at least in coordination with the planned browser addon. (ArchiveBox supports SingleFile on the server-side running under nodejs.)
- j45 3y agoGreat to hear, will keep an eye out for it. I take the saved pages and pull them through my workflow via API.
- RevoGen 3y agoAre there full-text-search capabilities?
- DaniDaniel5005 3y agoIf by full-text-search, you mean the website contents, not really. But if you mean, searching the link details, yep.
- keepamovin 3y agoIf you want full-text-search with archiving check out my project, DiskerNet. https://github.com/dosyago/DiskerNet https://github.com/dosyago/DiskerNet --> also well done on LinkWarden! Looks like a great product! :)
- uzername 3y agoHey, this looks great! In your readme, in the "A bit of history", it should be `has many fewer features` On a more technical note, I wondered if you have any stories working with Prisma and Next? It works but every ORM has its pros and cons. My annecdote with the two is on a project recently, I had issues bundling the appropriate prisma packages during a Next standalone mode build.
- DaniDaniel5005 3y agoPrisma is great and I definitely recommend it to anyone who’s either starting out or on a more advanced level.
- vsviridov 3y agoOof, any time I see next/prisma I already know that my tiny VPS will likely choke building this... So yeah, self-hostable, but not for everyone. Got burned with this by cal.com self-hosted version: https://blog.vasi.li/cal-com-is-making-me-lose-faith-in-the-node-ecosystem https://blog.vasi.li/cal-com-is-making-me-lose-faith-in-the-...
- FireInsight 3y agoI'm making a similar thing with SvelteKit and Kysely so we'll see how that turns out.
- thelazyone 3y agoHeh. Not a fan of js apps (npm or not), but your article was enjoyable to read.
- vsviridov 3y agoThank you.
- adr1an 3y agoSame. I don't think I need the collaboration aspect of this app, so I will keep being a happy user of linkding, see: https://news.ycombinator.com/item?id=21872488 https://news.ycombinator.com/item?id=21872488
- sodimel 3y agoHere's a (my own) lightweight alternative, built using django & no javascript: https://gitlab.com/sodimel/share-links https://gitlab.com/sodimel/share-links It allows you to store links (title & language of the page, a pdf of the page, assign tags, to include them in collections), it has a very simple (moderated) comment system, set status of the link (online: direct link, offline: replace link by a webarchive one) a lightweight ui (remember: no js), multi-accounts (permissions), translations, some rudimentary stats and some other things (access a random page!). See my own instance for an example with thousands of links: https://links.l3m.in/ https://links.l3m.in/
- 3y ago
- efff 3y agoWhen will docker version arrive?
- alexktz 3y agoPrecisely when it means to.
- janvdberg 3y agoNot to diminish the effort here, but I just want to point out (as someone who has tried lots of bookmark managers) that Floccus is everything I want from a bookmark manager (effortless sync across devices and just using the bookmark manager in your browser). I am pointing this out, because I wish someone would have pointed it out to me. https://j11g.com/2023/03/04/floccus-is-the-bookmark-manager-you-have-been-looking-for/ https://j11g.com/2023/03/04/floccus-is-the-bookmark-manager-...
- neontomo 3y agoThank you, seems like what I wanted.
- freedomben 3y agoThank you! This is exactly what I needed, and what I've been looking for for years! Open source, lightweight, and stable.
- attentive 3y agoxBrowserSync is another one. You can use https://github.com/ishani/xSyn https://github.com/ishani/xSyn for self-hosting.
- slivanes 3y agoAnother reason why Safari shouldn't be considered a user friendly browser.
- dewey 3y agoWhich reason are you referring to?
- slivanes 3y agoThe fact that you can't use this extension (amongst many others) with Safari - therefore Safari on MacOS and iOS/iPadOS cannot benefit from this type of sharing. Walled garden strikes again. I'm not saying that Safari is a bad browser, but artificial limitations imposed by Apple on the browser and the OS is quite frustrating for me.
- trinsic2 3y agoWhere's the documentation? I get page not found eror
- kornhole 3y agoThis looks slick. Because archive.org is getting a little problematic by not allowing more sites to be archived, decentralized archiving is becoming more important. I have been using archive box on my server. It does not have the collaboration features, but that is what my fediverse instances and other collaboration tools provide.
- __jonas 3y ago> Because archive.org is getting a little problematic by not allowing more sites to be archived I haven't heard anything about this, could you elaborate or link to some article?
- kornhole 3y agoI am sorry that details escape my memory at this point, but I have seen a couple instances recently where journalists tried to archive news stories and were served a response that someone has barred articles from this site from being archived. There is also no guarantee that something once archived there will not be removed when they are put under pressure or terms of service change.
- lexlash 3y agoSo at one point the answer was robots.txt and now it's not: https://blog.archive.org/2017/04/17/robots-txt-meant-for-search-engines-dont-work-well-for-web-archives/ https://blog.archive.org/2017/04/17/robots-txt-meant-for-sea... - that information appears to be current - email info@archive.org and request removal is the process, which some "reputation management" firms talk about. Weirdly I can't find much info. Furthermore, I don't think archive.org tries to hide/obfuscate their user agent so it's relatively easy to block them - I know that it's possible to manually upload stuff to archive.org, and there are other sources (partnerships with Cloudflare and Brave, at a minimum) but that's not as easy as the Wayback Machine.
- Tokumei-no-hito 3y agoI’ve heard no such claim. Interested in an offices statement as well
- freedomben 3y agoThis looks really neat! Can you share more about the project? Such as: 1. What is the driving vision behind this project? For example is this just scratching a personal itch with hopes it helps others, or is the hope to expand this into a product or company in the future? 2. Is the goal to monetize somehow in the future? If so, what sort of monetization strategies are being considered? For example, "open core", "paid hosting" (what happens to self-hosted?)
- daniel31x13 3y agoGreat question, Linkwarden was initially a personal project but then we decided to scale it up into a fully fledged product. Regarding monetization, we already included the paid hosting plan for the users who don’t want to self-host, but the self-hosted option will remain free forever and will always be supported alongside the paid hosting.
- ecliptik 3y agoI've used Raindrop[1] for the last few years and it works well - cross device support, archived pages, and tags/folders. Going to check out Linkwarden since I really like the idea of being able to self-host something similar since Raindrop could one day disappear (#googlereaderneverforget). A feature Raindrop has is it can export bookmarks to a standard xml file, which I then have a script that automatically adds them to Archivebox[2] for a local copy and to add them to archive.org[3]. Does Linkwarden, have a feature to automatically submit a bookmark to archive.org along with the local copy? That would greatly reduce this setup and have it all in one tool. 1. https://raindrop.io/ https://raindrop.io/ 2. https://archivebox.io/ https://archivebox.io/ 3. https://ecliptik.com/bookmarking-with-raindrop/ https://ecliptik.com/bookmarking-with-raindrop/
- DaniDaniel5005 3y agoBeing able to bookmark a Link to archive.org was actually something we wanted to do earlier, but we had to do it a opt-in solution per each link since there might be a website that you don’t want to archive for the public and instead only keep it to yourself. But note that it is on the roadmap (but not top priority).
- dewey 3y agoHow has your experience with archivebox after running it for a while? After trying to set it up multiple times I gave it another try a few days ago and it always feels like it's doing too much and is therefore very sluggish and buggy. I was looking for alternatives but couldn't really find something great with a decent UI and full-text search.
- Tomte 3y agoI’ve tried Archivebox (using docker compose) several times, and every single time it just stops. I import around 3k bookmarks, it starts archiving them. Immediately some archival methods fail (usually screenshot and pdf), and after archiving a few hundred bookmarks it never continues to archive the rest. I‘ve let it sit and do its thing for several days, it never manages to get through all of them (or even a sizable minority). Different machines, different filesystems, different networks. No idea what‘s wrong.
- burkesquires 3y agoI have saved this to my bookmark manager! :-)
- qwerty456127 3y agoCan it import a list of URLs and aut-tag them using some API or pre-trained ML? If yes, I bloody want it! No matter the price.
- swozey 3y agoThis looks really nice, great work. I'll definitely give it a try. Have you considered a free tier where you could monetize it maybe via sponsorships/ads with the goal to have a social aspect? I'm a huge fan of Githubs social trending/explore/lists/topics section for finding new tools for specific things that I work on, rust, go, aws, etc. for myself and my teams. Also things like dev.to, daily.dev, etc but they're not really as useful as I thought they'd be. You can see an example of the Lists I've created here https://github.com/mikejk8s?tab=stars https://github.com/mikejk8s?tab=stars - I wind up putting these lists into a team notion doc right now. There's those "Awesome-XXYZ" lists but I don't think they're the best way to do this at all. They also wind up very out of date. My Github lists aren't collaborative, I can't give people a way to contribute to them and as far as I know they're not something you can search globally to find if someone has some interesting lists. It's quite a bit different than what you're doing here but what I've been hoping to find was some sort of technology Looking Glass/aggregator where I could click a topic/Collection, say Rust, and see rss feeds, blogs, curated and very well organized bookmarks, hashtags of other related lists, etc in a collaborative manner with lots of contributors. I was sort-of beginning to do this via a published notion domain and treating it like a wiki.. https://mrj84.notion.site/Go-Wiki-c637ff57e00046bfbe22fb25626e8c0b?pvs=4 https://mrj84.notion.site/Go-Wiki-c637ff57e00046bfbe22fb2562... - that's the closest I've been able to brain storm as something remotely near what I'm aiming for. Sorry for the long post, maybe it'll give you some ideas or maybe someone has some ideas for me.
- andrewrothman 3y agoI like to save the best / most interesting links I come across as I browse the web. It can come in handy to pull up a blog post I read a while ago or remember some new sass product or developer tool I wanted to check out. I'm using https://raindrop.io https://raindrop.io now which works great for this. When I looked into it I was surprised that browsers don't have this kind of bookmark management built-in. I'd be very happy with two small additions to browsers: (1) display by / sort by date added and (2) a small separate freeform text box for notes (so I can describe why I saved the link). (Optionally it could be nice if browsers adopted some standard sync mechanism for bookmarks, maybe based on WebDAV like the Floccus extension). Then again, these dedicated external bookmark managers do have nice features like tags, search, and offline downloads or page screenshots. Those are all great! Linkwarden looks like a nice product. Looks like it would tick all the boxes for my use-case and the design is pleasant. I like that it's open source and has a fair price for the hosted offering. Maybe I'll give it a try!
- bachmeier 3y agoTo save anyone else the clicks, the pricing is $4/month for unlimited links. Currently, no export functionality.
- meiraleal 3y agoWhy would I want to save a click? The project is very cool and I will use it.
- slushh 3y ago>Easily share curated collections with the public Do you have a page that shows the most popular collections?
- pacomerh 3y agoCool project, quick design feedback, in 'Exploring the use cases' the left column is too narrow? https://ibb.co/f4Q5mnB https://ibb.co/f4Q5mnB
- stavros 3y agoJust a bit of advice: You wrote a sentence about what the service does, and a large paragraph on what it was built on. When you're pitching your service, tell people what's different about your service, why it's better, why they'll want to use it, etc. I understand that HN tends to be more technical, but the technical details can be a single link. Right now, all I know about your project is that it's a bookmark manager and S3 is better for storing files than the filesystem. Good luck!
- Modified3019 3y agoDoes this have the capability of setting an option to periodically check the page for updates and save a revision? My ideal bookmark/page archiver would have this workflow: 1) Find a page I like or find valuable for whatever reason, so I click on a browser addon button. 2) A little dialog would then show up from the button, allowing me to set the following 2a) Add tags, as well as offer suggested tags I could add or remove. 2b) Set an optional update frequency, preferably with an option that would slowly reduce the frequency of checking for changes, first if no changes are found, and eventually as an absolute regardless of changes. 2c) Set specific technical page save settings 3) Once done, I click a “save” button in the dialog, and the page would be saved at a single html file, like the browser addon “SingleFile”, (which has some adjustable default settings previously mentioned). This allows saving pages with very simple javascript/dynamic functionality instead of essentially an static image. It also inlines some media: see https://addons.mozilla.org/en-US/firefox/addon/single-file/ https://addons.mozilla.org/en-US/firefox/addon/single-file/. That said, perhaps a WARC file may be better when it comes to handling things like compression, multiple revisions, indexing, and possibly following links to download and store linked media. 4) Then it would automatically open the saved page in the browser, so I could have a quick look can make sure it’s not broken for some reason 5) Finally it would then occasionally check for updates, saving a revision. On future visists to the page, the addon would have a little badge to let me know the page has already been saved and is being watched. It kinda sounds like I want a browser integrated front end with sane and intuitive settings for HTTrack. As and example, let’s say I find a post on hackernews full of insightful comments about something and want to save it. The post might be new, so comments are going to continue to be added (or possibly removed, though this is more of a reddit problem) after I’ve saved the link and page. It’d also be nice to automatically grab the linked webpage for the context. Something that makes this easy would be great. It might also be nice to be able to select comments (select elements like ublock does?) for highlighting.
- Modified3019 3y agoOther things that come to mind as complications. Saving the page as presented in my current browser session can be vastly different vs a non-logged in guest with no changes from browser addons. Many websites require browser addons to be tolerable. Reddit likes to hide the end of comment chains to artificially inflate their fucking click metrics, and addons are required to load those comments inline. Saving pages with ublock enabled is also a must. I think selenium can do this: https://stackoverflow.com/questions/52153398/how-can-i-add-an-external-extension-into-selenium-chrome-python https://stackoverflow.com/questions/52153398/how-can-i-add-a... So being able to use a login token or auto login with an would be useful. It’s probably best to create a special archive only user for each website. Otherwise it’d be a nightmare trying to remove the elements such as username, favorites, subscribed, etc and make sure the redactions aren’t broken by a future site design update.
- asielen 3y agoIn addition to PDF and PNG, died it store searchable text from the page. If really live a way to do a text search of my bookmarks.
- alexktz 3y agoI wonder. Combining this with ocr in obsidian or something might get you there. It’s not a single tool solution though.
- joekrill 3y agoI threw together a quick docker-compose.yml to try this out. For anyone else that wants to spin this up and give it a try locally: https://gist.github.com/joekrill/cc503e21e14f95fefa91acc5f869dac1 https://gist.github.com/joekrill/cc503e21e14f95fefa91acc5f86... (Though I'm seeing crashes on my Mac M1, which I think is being caused by Prisma)
- jerryzh 3y agoI am always curious why don't people use zotero directly for archiving everything
- ipiz0618 3y agoThis is great! I've always wanted something like this, and even tried launching my own app for this. My app failed to gain traction but happy to see the same idea succeed.
- fabifabulous 3y agoIs the browser extension coming for Safari as well? And what about an iOS App?
- totalconfusion 3y agoAmazing. Collaborative bookmark management needed to happen. Imagine deciding you want to learn a new skill and not having to start from square one learning the lay of the land around your newly chosen subculture but rather it's already been curated for you and you can hit the ground running with great links to various assets and communities like software tools, forums, discords and video tutorials. I love the archiving functionality too. Your website looks great and all the information I needed was right there. Concise, informative and neat. I think the real value here is a tool that will allow people of all kinds to aggregate relevant content and help onboard people to the communities they know, live and love. I feel like a freemium model would allow this tool to reach a massive scale as I see awesome utility in it but I don't expect normal people would self host or pay for it even if it cost 10 cents. It's just too much inertia. I feel so dirty telling you how to charge for your own product. Pagerank and SEO killed search. What you have here sounds a hell of a lot better. Awesome work mate! I'm aways up for a chat.