The Best Self-Hosted Comment Systems in 2024

The best self-hosted comment systems for a blog or website in 2024. A list of powerful open-source tools.

The Best Self-Hosted Comment Systems in 2024-heroimage

When I first published my blog several years ago, I wanted to add commenting functionality. At the time, I chose Commento and quickly realized it didn’t meet my requirements. I then found Commento++, which I also wrote an article about on my blog. That worked well for the most part, but then two things happened:

  • I switched my blog from Gatsby.js to Astro.js. Once I enabled View Transitions, often the wrong comments would load and the page behaved strangely overall.
  • The Postgres database I was using for Commento++ crashed and wouldn’t restart.

Additionally, Commento++ stopped being developed at the end of 2022. For me, this was the impetus to look for an alternative. I still wanted full control over the data, so only a self-hosted comment system was an option. In this article, we’ll look at the best self-hosted comment systems of 2024:

1. Discourse

Discourse is a feature-rich, open source discussion platform. It can be used for both comments and full-fledged forums and mailing lists. Key features include:

  • Infinitely scrolling topic lists
  • Real-time notifications and live updates
  • Drag-and-drop image uploads
  • Single sign-on support
  • Granular user trust levels and moderation tools
  • Extensible with themes and plugins

Pros

  • Highly customizable and extensible
  • Modern, mobile-friendly design
  • Large library of plugins
  • Vibrant developer community

Cons

  • Steeper learning curve
  • Higher server requirements
  • Overkill for simple commenting needs

Best suited for

Discourse is well-suited for building active communities and discussion forums. Its advanced features are ideal for larger sites with high comment volume.

2. Isso

Isso is a lightweight, open source commenting system built on Python. It stores comments in a SQLite database and provides a REST API for integrating into websites. Key features include:

  • Anonymous commenting
  • Moderation queue and email notifications
  • Markdown formatting for comments

Pros

  • Easy to set up and use
  • Low server requirements
  • Privacy-friendly

Cons

  • No rich text editor

Best suited for

Isso works well for smaller websites and blogs needing a simple, privacy-respecting commenting feature. Its low requirements make it ideal for hosting on budget servers.

3. Remark42

Remark42 stands out as a self-hosted commenting system that puts user privacy first while still offering a range of functional features. It supports social logins from various platforms including Google, Twitter, and Facebook without compromising user data. Users can also comment anonymously.

Key Features

  • Markdown support with live preview
  • Sortable comment threads
  • Multi-level nested comments
  • Moderation tools with email notification
  • Telegram and RSS integration
  • Import from Disqus and WordPress
  • Multiple SSO options

Pros

  • Privacy-friendly
  • Fast performance thanks to Go
  • Extensive import/export options
  • Extensive API and webhook support
  • Built-in spam protection

Cons

  • More complex setup than other solutions

Best suited for

Remark42 is a good fit for tech-savvy bloggers who want a fast, full-featured commenting engine. The ability to import from other platforms is a big plus. Remark42 is also fully dockerized, making deployment a breeze with a single command. It’s lightweight and requires no external database as all data is stored in a single file.

4. Talkyard

Talkyard is an open source commenting system and forum platform. You can embed it into static websites or use it as a standalone discussion forum. Key features include:

  • WYSIWYG editor with image uploads
  • Markdown support
  • Granular category-based permissions
  • Single sign-on with social login
  • Spam protection with Akismet
  • Email and real-time browser notifications

Pros

  • Modern, user-friendly interface
  • Extensive feature set
  • Anonymous commenting

Cons

  • Higher server requirements

Best suited for

Talkyard works well for community-driven websites looking for an all-in-one solution for comments and forums. The notification features are very handy.

5. Coral Talk

Coral Talk is an open source commenting system developed by a team from Vox Media. It offers a range of features including:

  • Moderation tools and notifications
  • AI for detecting abuse and spam
  • Flexible authentication options
  • Ability to embed on multiple sites
  • Crowd-sourced moderation
  • Built for journalists and media companies

Pros

  • Battle-tested on large media sites
  • Integrates with many services

Cons

  • Higher server requirements
  • More complex setup

Best suited for

Coral caters to large publications and high-traffic websites that need to manage user-generated content at scale. For most blogs, it’s overkill.

6. Comentario 3

Comentario is a fork of Commento that has been redesigned to offer more features and better performance. It provides user roles, blocking, and avatar uploads, along with various login options.

Key Features

  • Support for spam and toxicity detection extensions (Akismet, APILayer SpamChecker, Perspective)
  • A redesigned dashboard for easier management
  • Nested comments and sticky flags to highlight important discussions
  • Import options from other comment systems
  • Markdown support
  • Email notifications
  • UI customization via CSS

Pros

  • Easy setup and management
  • Fast performance thanks to Go backend
  • Active development on Gitlab
  • Anonymous commenting

Cons

  • No option for reactions

Best suited for

Me (hopefully).

Comentario is a good choice for bloggers who want a simple, easy-to-manage commenting system. Its simplicity and speed are attractive for small to medium-sized sites. With Postgres support, it should scale well for larger sites too.

I debated for a long time whether to use Remark42 or Comentario. Ultimately, I chose Comentario because since version 3.7.0 it also offers the ability to add names to anonymous comments. I also thought it was the more natural choice as a continuation of Commento and it promised an easy migration of the Commento database.

The latter point didn’t quite pan out in my case (coming from commento++). Unfortunately, many comments have not yet made it into the new database. Luckily there is also a JSON import, but I still need to dig through my old server data to see if I can find all the comments somewhere.

Installation

Installing Comentario is relatively straightforward. Here are the steps:

  1. Create directories and config files
mkdir comentario
cd comentario
touch docker-compose.yml
touch secrets.yaml
mkdir db
  1. Configure docker-compose.yaml
services:
    db:
        container_name: comentario-db
        image: postgres:16-alpine
        environment:
            - POSTGRES_DB=postgres
            - POSTGRES_USER=postgres
            - POSTGRES_PASSWORD=password
        networks:
            - internal
        restart: unless-stopped
        volumes:
            - ./db:/var/lib/postgresql/data
    app:
        container_name: comentario-app
        image: registry.gitlab.com/comentario/comentario:v3.7.0
        depends_on:
            - db
        environment:
            - BASE_URL: https://domain.com
            - SECRETS_FILE: "/secrets.yaml"
        networks:
            - internal
            - proxy
        # if no proxy is used, map a free port to 80
        # ports:
        #     - "8080:80"
        restart: unless-stopped
        volumes:
            - ./secrets.yaml:/secrets.yaml:ro
networks:
    internal:
        external: false
    proxy:
        external: true
        name: proxy

Change BASE_URL and network settings.

  1. Configure secrets.yaml with database and SMTP settings (optional)
postgres:
    host: db
    port: 5432
    database: postgres
    username: postgres
    password: password # password from docker-compose.yml
smtpServer:
    host: abc.host.net
    port: 465
    username: mail@domain.de
    password: securePassword
    encryption: ssl

Of course you have to adjust the information here. The smtpServer information is optional, but if you have this information, then comments will also be sent by email. You can use for example an email from Netcups shared web hosting.

Demo

A Live-‘Demo’ can be found here.

Other Alternatives

There are many other options for adding comments to your website that didn’t make the list above. Some of these include:

Strapi

Primarily a headless CMS that offers comment management through extensions

Supabase

An open source alternative to Firebase providing a database and authentication to build your own commenting.

Giscus

An open source discussion tool based on GitHub that can be embedded into any static site. Comments are stored in a GitHub issue and are not self-hosted.

Summary

Here’s a summary table of the best self-hosted comment systems in 2024 including the other alternatives mentioned:

Name (Sourcecode)StarsLicenseDemo
Comentario36 (Gitlab)MITDemo and here
Commento++380MIT---
Coral Talk1.9kApache 2.0---
Discourse40.6kGPL 2.0---
Giscus7.3kMITExample
Isso5kMITDemo
Remark424.7kMITDemo
Strapi60.3kMIT---
Supabase66.3kApache 2.0---
Talkyard1.7kAGPL 3.0Example

Conclusion

There’s still no reason to use Disqus. It’s not open source and has poor privacy practices. Choosing the right self-hosted comment system depends on many factors. Each system listed above offers unique advantages and can be tailored to the needs of different online environments. This allows you to not only maintain control over your data, but also enhance the user experience on your site.

I hope this article helps you find the right commenting system for your website. If you have any questions or suggestions, please leave a comment below.


This website uses cookies. These are necessary for the functionality of the website. You can find more information in the privacy policy