25 ms·
Show HN: I'm working on a open-source, self-hosted alternative to Disqus
- l3s2d 5y agoHow does this compare to Commento? https://commento.io/ https://commento.io/ https://gitlab.com/commento/commento https://gitlab.com/commento/commento
- j3th9n 5y agoYou tell us. How do you think it compares to Commento?
- ggvvfdde 5y agoIt's lacking a comment example of edison and tesla arguing over dc/ac so for me it is subpar.
- henrycrutcher 5y agoWhat is the pricing for the enterprise? It's hard to get excited about IF usage < X then $99/yr ELSE undefined as a pricing model.
- dempseye 5y agoCommento doesn't work. I tried to integrate it with my site a while ago. Didn't work. Got some server error. So I tried to contact the guy behind it. He didn't respond. It's dead, as far as I can tell.
- StavrosK 5y agoYep, same experience here, dead as a doornail.
- adtac 5y agoI'm the guy behind it. Was this with commento.io or were you self-hosting? I'm truly sorry it didn't work out, but if you want to shoot me another email, I promise to respond this time. So there's a whole bunch of improvements actively going on the behind-the-scenes (essentially a Commento v2) and I hope to announce things soon. I know support has been lackluster and I intend to turn that around too. It's certainly not dead :)
- ntnsndr 5y agoGreat to hear! I tried using it at CommunityRule.info but ran into no-go issues, which I posted here: https://gitlab.com/commento/commento/-/issues/391 https://gitlab.com/commento/commento/-/issues/391 Also would love for it to be easier to match the CSS to the host site. Was running it self-hosted on Cloudron but would be happy to try the paid, hosted product if it worked for me.
- dempseye 5y agoCommento.io I actually sent you two emails. I will send you another one.
- mickael-kerjean 5y ago> It's dead Last commit is last month > So I tried to contact the guy behind it. He didn't respond. Did you buy support from the author? As the author of an unrelated open source project, I receive an enormous amount of messages from people feeling entitled to receive support for free on the pretext it's open source. Answering and following up on those message could well be a full time job in itself except it doesn't pay for my bills
- dempseye 5y agoThanks for that unjustified hostility. I am sure the creator of Commento is happy you are here exacting vigilante justice against his customers for their imaginary entitlement. I signed up for a free trial of his commento.io service, and immediately tried to integrate it with my static site. When I ran into difficulties (bad responses from commento.io) I contacted support. If I had got it working, I would have gladly paid him, and I would still be paying him. I think I was within my rights to request a modicum of support during the free trial period for a paid product, and then to not pay for it when I did not receive a response. In this context, I find your story about some open source project you have to be quite irrelevant.
- notsureaboutpg 5y agoI run commento on my blog right now, and it works fine for me. You can even deploy it relatively painlessly. A little googling brought up an ansible playbook to set it up with minimal configuration: https://github.com/kathawala/commento-ansible-playbook https://github.com/kathawala/commento-ansible-playbook
- yawnxyz 5y agoI've heard that if something goes wrong and you need support... good luck. Even if you're a paying user.
- m00dy 5y agoMake it decentralised, it is the new black.
- darkhorse13 5y agoHow would you make a comment system decentralized? Like where would they be stored? Genuine question by the way, I'm not familiar with decentralized computing.
- toomuchtodo 5y agoIPFS https://komento.host/ https://komento.host/ https://news.ycombinator.com/item?id=26840855 https://news.ycombinator.com/item?id=26840855
- miohtama 5y agoIPFS is a cache, not persistent storage.
- toomuchtodo 5y agoPinned objects persist.
- 7steps2much 5y agoCorrect me if I am wrong, if I am the only person pinning it, wouldn't that mean we are back to a single server? Like, if I am the only one pinning (and storing) the data, everyone downloads it from me correct? Why not just use a regular storage at that point?
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- elric 5y agoCuss & diss Disqus. Loving the name. Can I suggest you add something of an architecture diagram/flowchart od the website? Just a little something that illustrates what the frontend talks to, where the data is stored, that sort of thing?
- djyde 5y agoThanks for you feedback! I will add a `how it works` in the document later. But I'd like to answer your question here first. Since Cusdis was designed for self-hosted, the data should be stored in your own server. The Docker image provides both sqlite and pgsql options. Then the comment widget that embed in your web page talks to this server through a http call, which fetch all the approved comments and display them. The "Try it now" is a demo server that I've hosted for the people who want to just look around what is it look like, it's not scalable and shouldn't be used in production yet. It run in my vps on Digital Ocean, data is stored in this vps with a pgsql instance.
- djyde 5y agoFix: The server is hosted in Vercel, the pgsql instance is hosted in my vps on DigitalOcean. I have a plan to migrate the pgsql to a DigitalOcean managed database.
- yoaviram 5y agoNice project! I've been using RemarkBox for the last couple of months and like it. It's privacy respecting, hosted, pay what you want. https://www.remarkbox.com/ https://www.remarkbox.com/
- O_H_E 5y agoNot to put you down, but I think you should differentiate yourself well from Discourse (https://github.com/discourse/discourse https://github.com/discourse/discourse), as it is pretty popular with the open source communities.
- FraaJad 5y agoDisqus is "commenting as a service" for pages. Discourse is a "forum". Not the same thing.
- codinghorror 5y agoyes, this is true! We try to avoid the whole "comments on pages" model as it has not been sustainable, except in rare circumstances under heavy human moderation. https://blog.codinghorror.com/please-read-the-comments/ https://blog.codinghorror.com/please-read-the-comments/
- djyde 5y agoHi. Discourse is a discussion platform (forum), while Disqus and Cusdis are comment widget that embed to existed website (like embed in blogs). I think they are not the same.
- CarVac 5y agoDiscourse can be used to power embedded comment sections too.
- Syonyk 5y agoDiscourse is heavier as a forum, certainly, but it supports embedding in sites as a comment section, and will generally do useful things like "automatically create a new topic of discussion from the post." I agree that it's exceedingly heavy for comment only use (and generally requires user accounts), but if you're trying to build a community that also has blog posts, the two do integrate very nicely.
- codinghorror 5y ago
- FoohanFoo 5y agoVery interesting, I've been looking for this.
- toomanyducks 5y agoWhat's the license? I didn't see it on the repo.
- benrmatthews 5y agoMIT - it says on the repo
- djoldman 5y agohttps://github.com/djyde/cusdis https://github.com/djyde/cusdis says MIT.
- ochronus 5y agoNice! Congrats, looks amazing
- sytse 5y agoVery cool! I would love to switch away but a Disqus import would be needed before we can do so.
- djyde 5y agoActually, in the "Settings" panel you can import data from Disqus! You could try it.
- tyingq 5y agoThe edit box doesn't seem to indicate what sorts of markup, or "url looking thing is converted to link", etc, is available. Might be good to have a little help box to explain what's allowed/supported, even if that's just text. Edit: I now see the "support markdown" commit. You might want a "preview" button so people can see what they have. At the moment I see only a "Post Comment" button. Also, does it understand the concept of canonical urls so that pages that are the same one, but with different urls, share the same comments? I searched the repo for "canonical" and didn't see anything.
- Dort 5y agoThis looks interesting. I browse the WWW without JavaScript and this bricks many comment systems. Are you planning to make a widget without reliance on JavaScript?
- cdelsolar 5y agoYou can enable JavaScript in Chrome the following way: 1) On your computer, open Chrome. 2) At the top right, click More. Settings. 3) Click Privacy and security. Site settings. 4) Click JavaScript. 5) Turn on Allowed (recommended). Other browsers might have similar instructions.
- unixhero 5y agoWhy do you browse the web without javascript? It is just a programming language.
- Dort 5y agoI browse with JavaScript disabled because A) I don’t see any ads and B) pages load fast on my weak devices (first gen. iPad Air, ~2009 desktop). I only turn on JavaScript to be able to use the website of my bank.
- Jiejeing 5y agoOther (older) projects trying to fill a similar need : isso: https://github.com/posativ/isso https://github.com/posativ/isso juvia: https://github.com/phusion/juvia https://github.com/phusion/juvia But cusdis looks great so far!
- sambf 5y agoIsso works great. Install and forget!
- rendx 5y agoA somewhat related solution for comments is to piggyback on the Mastodon ecosystem, which I really like: https://carlschwan.eu/2020/12/29/adding-comments-to-your-static-blog-with-mastodon/ https://carlschwan.eu/2020/12/29/adding-comments-to-your-sta...
- villasv 5y agoOr hook up webmentions with something like https://brid.gy/ https://brid.gy/
- uneekname 5y agoSee also https://webmention.io/ https://webmention.io/
- yawnxyz 5y agothat requires very sophisticated users and ends up alienating most ppl on the web (basically this'll only work for tech users)
- FalconSensei 5y agoyeah, I doubt any of my visitors have a mastodon account
- Igelau 5y ago> that requires very sophisticated users For a commenting system, that sounds more like a feature than an issue to me.
- zapt02 5y agoGreat use case for Svelte! How are you liking it so far?
- gnrlst 5y agoNot OP, but after trying Svelte it's hard for me to go back to anything else.
- truth_ 5y agoHow can I use it on the posts in my blog hosted at GitHub pages? I use Jekyll to build my blog. Do you have a tutorial for that?
- mey 5y agoCoral is poorly advertised outside it's ecosystem, but should be considered. https://github.com/coralproject/talk https://github.com/coralproject/talk See https://docs.coralproject.net/coral/v5/integrating/cms/ https://docs.coralproject.net/coral/v5/integrating/cms/ to get an idea of it's use.
- deleted 5y ago[deleted]
- wyattjoh 5y agoCoral is definitely more focused on larger communities than it is for smaller sites. Mainly because of the multi-tenant, multi-site, and moderation features that allow it to be used for larger organizations! (We're also hiring to work on this open source project!)
- pentagrama 5y agoI would suggest that always show on screen the label of the input, is not a good practice put the label inside the input and make it disappear when the person start typing. Example: https://miro.medium.com/max/700/1*tjzXjhViDt3ArR1zUkFiRw.png https://miro.medium.com/max/700/1*tjzXjhViDt3ArR1zUkFiRw.png From: https://uxdesign.cc/best-practices-for-form-design-ff5de6ca8e5f https://uxdesign.cc/best-practices-for-form-design-ff5de6ca8... Hope can help.
- baby 5y agoThis is called a placeholder, and I don't think it's best practice, it's a matter of taste.
- knoebber 5y agoLabels are a best practice for accessibility. Placeholders should be used as example input, if at all.
- jraph 5y agoAbsolutely. I was curious to see this practice encouraged by a document about UX design and the linked page actually lists all sorts of drawbacks for it and encourages using labels at the top or at the left of the input (right aligned to make the label close to the input). Do not use placeholders for labels please.
- pgt 5y agoChange the name.
- j3th9n 5y agoYou change your name.
- heofizzy 5y agoI have been tinkering about the idea of building open source disqus alternative for few months now. I guess I missed the train already:D Do you have any plans to monetise this?
- lrem 5y agoThat's a train with a busy time table. Every software engineer who ever wrote a comment on the web, got an idea how to make our better at some point. And it isn't a problem with a high barrier to entry. The interesting, for me, part is the antispam. It is also silly hard, for obvious reasons. A big part of why Disqus is hard to replace is that they're doing a great job with it. Only once you clear that bar, you can think of successful monetisation.
- FalconSensei 5y agoMonetization can also be a problem if you don't provide enough tiers for users (same as any hosted web analytics alternative to google analytics). I.e: my blog has like... 200 visits per month? I don't have comments right now - only link to twitter/reddit - but I expect I would have a dozen comments per month, tops. At this point I don't even care about anti-spam, but if a tool asks me $10 a month, I can't justify paying it. Make it $1 and I'm in.
- setum 5y agoCool! I would like to try this out in my blog, can this be integrated with statically generated pages using jekyll?
- pwdisswordfish8 5y agoI worry about the echo chambers people are subjecting themselves to when something with applicability as general as a commenting widget requires a GitHub account to sign in. That's narrowing it down to a subset of a subset of one's audience.
- darekkay 5y agoIt's a trade-off. GitHub comments are free and rather easy to set up and maintain. If I had a highly developer-centric blog or even a blog supporting an open-source project, using GitHub as comments is a perfectly fine solution. But sure, this solution is limiting your target audience.
- jedberg 5y agoThe main advantage to Disqus (and other hosted solutions) is that their spam protection applies across all comment sections. You'll never get that with an open source solution.
- j3th9n 5y agoI can imagine implementing reCAPTCHA can prevent a lot of spam.
- jedberg 5y agoSadly not anymore. There are click farms in third world countries that will solve 10 captchas for a penny. Not to mention how many people will just not leave a comment if presented with a captcha.
- j3th9n 5y agoI see, I was thinking about reCAPTCHA v3, working invisible in the background.
- tyingq 5y agoUnsurprisingly, there are services for that now that provide a guaranteed minimum score.
- chrismorgan 5y agoreCAPTCHA v3 just gives you a score, and you have to decide what to do with it. This means that you should never under any circumstances use reCAPTCHA v3 as a gate with no alternative—otherwise you will certainly be preventing real users from using the system with no recourse, which will regularly have at least theoretically dire legal consequences. Also, I get the impression that reCAPTCHA v3 is waaaaay less smart than people think. At a small scale, it’s near trivial to tweak your browser so it’ll give scores at opposite ends of the spectrum.
- 5y ago
- aleksi 5y agoAnother similar project: https://remark42.com/ https://remark42.com/ https://github.com/umputun/remark42 https://github.com/umputun/remark42
- spamtarget 5y agoself hosting + open source. kudos, good man
- Tepix 5y agoWhen i click on "try it now", then click the browser's back button when seeing "log in with github" I and up at https://cusdis.com/dashboard https://cusdis.com/dashboard and get a 500 error page.
- MayeulC 5y agoIs there a mail-based solution out there? Kind of like a public mailbox that you send comments to, and articles get recompiled with the comments on a static blog. Plus, it would be naturally threaded if your mailto: link includes a thread ID.
- sen 5y agoI was thinking about this recently and really like the idea. You get the benefits of spam filtering, and it would work on any device with no JS or anything (“Leave a comment”/“Reply” button is just a mailto: link).
- em-bee 5y agoi am working with a platform that makes this possible. it is essentially an object storage that works as a backend to your website. every object (such as a blog post) can be annotated with messages, and these messages can be sent by email, so that effectively every object gets an email address. it has a permission system to control who can create annotations which allows you to turn off email access on any object. it also has an imap interface for those with an account on the backend to access the discussions from your mail client. the platform itself is stable and in production. the REST api needs some work to support accessing comments and a frontend for comments needs to be built. unfortunately, i lack the resources to work on this right now with family and paid work taking priority.
- cbnotfromthere 5y ago1) Is it (supposed to be) Open Source? 2) What's the programming language for the implementation? Maybe I can help. Maybe some others cane also help.
- MayeulC 5y agoThinking of it, IMAP wouldn't be a bad fit as an API to blogs and forums :)
- em-bee 5y ago
- dlcrc 5y agoMy friend in SF is working on https://reactivecomments.com/ https://reactivecomments.com/ It's a drop-in comment service in the cloud based on Remark42
- barbazoo 5y agoDisqus -> qusDis -> cusDis -> cusdis I hope that's not too close to the original name
- rapnie 5y agoGreat! Read here why it is needed: https://news.ycombinator.com/item?id=26033052 https://news.ycombinator.com/item?id=26033052 Disqus.. the dark commenting system.
- shaunpersad 5y agoThere are a lot of efforts to topple Disqus for precisely those reasons. I released my Disqus competitor 2 years ago and its userbase has continued to grow like clockwork every day. It may seem like a saturated market on the low end, but there's a real need for projects like these!
- dariusj18 5y agoSlightly OT but if I'm ever in need of a comprehensive list of alternatives to services, I'm just going to post that I'm building one. I just knew when I saw this post that the thread would be full of preexisting projects.
- neckardt 5y agoIf you're ever in need of alternative methods of finding alternatives to services, you could always check out the alternatives to AlternativeTo page: https://alternativeto.net/software/alternativeto/ https://alternativeto.net/software/alternativeto/
- taltman1 5y agoI'm late to the game, but I'm surprised that no one has mentioned StaticMan yet: https://github.com/eduardoboucas/staticman https://github.com/eduardoboucas/staticman Just uses Git(Hub|Lab) to triage and approve comments for your static sites, like Jekyll.
- ryantgtg 5y agoI’ve used staticman on a few sites and I think it’s great. My sites don’t get a lot of comment action, so merging PRs isn’t an annoyance.
- hutch120 5y agoI tried out Disqus about 3 years ago, and found the API horrible... see SOF thread here. Might be worth doing a React wrapper to make it easy to understand how to integrate with frontend. https://stackoverflow.com/questions/48653016/does-the-disqus-reset-javascript-function-have-any-error-handling/49103683#49103683 https://stackoverflow.com/questions/48653016/does-the-disqus...
- 6510 5y agoimho the most important part of comment systems is the formula to appeal bans. False positives are going to happen and you cant just randomly remove people from communities out of convenience.
- rajasimon 5y agoI created a paid version here at https://blogstreak.com https://blogstreak.com but I don't think it's taking off. I am planning to add marketing blogs but let's see in a month.
- darekkay 5y agoHonest question: What separates your tool from the rather established Disqus premium alternatives? Remarkbox, JustComments, CommentBox, HyperComments, GraphComments, FastComments, Hyvor Talk and ReplyBox? Some of those have been around for a few years now.
- lawrencechen 5y agoNeat! I checked out your source code, and if there's one comment I have, it's the way you query for comments. Currently, response times are around 300-400 ms for just 79 bytes of data. That's likely because you recursively fetch nested comments from a serverless function, which potentially has to make multiple network request to talk to the database. Coincidentally, a past Disqus employee has a great write up on the faster solution (recursive CTE): https://cra.mr/2010/05/30/scaling-threaded-comments-on-django-at-disqus/ https://cra.mr/2010/05/30/scaling-threaded-comments-on-djang... Regardless, great work! Choosing Svelte to hit that 4.7kb mark is super sweet!
- djyde 5y agoWow thank you! When I implemented this I am worried about the performance too. But I don't know what's the better solution. Thanks for your info!
- oneeyedpigeon 5y agoThat article mentions "modified preorder tree traversal" but the link is broken. Is that technique essentially the same as nested sets? [https://bobbyjack.medium.com/storing-deep-hierarchies-in-a-database-153c77f66756 https://bobbyjack.medium.com/storing-deep-hierarchies-in-a-d...]
- tanrax 5y agoGlosa, with its Disqus importer, has been around for a long time. https://github.com/glosa https://github.com/glosa
- darekkay 5y agoJust to clarify what "a long time" means for Glosa: It's been available for around 1 year now.
- transfire 5y agoLooking over the source code, it pains me to see how complicated web app development has become.
- arm 5y agoAgreed; here’s a project harkening back to simpler times: BabbleWeb: https://cheapskatesguide.org/articles/babbleweb.html https://cheapskatesguide.org/articles/babbleweb.html
- darekkay 5y agoI'm maintaining a list of commenting systems [1]. It's great to see more alternatives coming up every few months. I've just updated the list with 3 new projects from this thread. [1] https://darekkay.com/blog/static-site-comments/ https://darekkay.com/blog/static-site-comments/
- staticelf 5y agoNice project but you should probably change the name of the service IMO.
- dt3ft 5y agoThe self-host documentation returns a 404: https://cusdis.com/doc#/self-host/installation https://cusdis.com/doc#/self-host/installation
- djyde 5y agoURL changed to https://cusdis.com/doc#/self-host/vercel https://cusdis.com/doc#/self-host/vercel
- lbriner 5y agoI wonder how many people who are using comments don't need comments. I have seen so many places where comments are enabled but even good comments are not replied to, especially when the post is from 5 years ago. Also, trying to ensure the correct quality of comments is time-consuming. If someone asks "Why would I use C#?", it might seem low quality and won't be published but what if someone asks "You are using C# but Go would make a lot of this easier", it might warrant publishing and even a reply but how many people really want to start a long discussion with a stranger about the merits of different languages?
- S4M 5y ago> how many people really want to start a long discussion with a stranger about the merits of different languages? Plenty of programmers, actually. Just see the comments on HN or reddit on posts about programming languages for example.
- EvanKRob 5y agoIntegrate it with ghost. There aren’t many options for us building communities on Ghost for commenting. Cove.chat but the experience is less than premium IMO.
- mfts0 5y agoI'm a huge fan of the lightweight nature of Cusdis. I made this walk-through video of the project inclusive the deployment to Vercel and Railway: https://www.youtube.com/watch?v=XHr0oBIA2xA https://www.youtube.com/watch?v=XHr0oBIA2xA
- eatthatpie 5y agoI love this project and I'd love it more if there was a discription on landing page about WHY it is privacy-friendly (as it seems to be one of the greatest benefits).
- aviditas 5y agoI did some back end work and intense moderation for a large scale commenting/discussion site. I would like to chat with you about the spam /moderation 'con' you have listed in the documentation. I have a hefty set of semipolished ideas in that space that I would be happy to give to someone who can actually use them. I couldn't find a way to send you an email or message. If you are interested, feel free to reach out security at myusername .net.
- djyde 5y agoHi, creator here. I've sent you an email.
- Mubashirjanijha 5y agoI wrote about a similar issue, I give you the link to my site. <a href="https://sattamatkaofficial.net/">sattamatka</a> https://sattamatkaofficial.net/">sattamatka</a>