Isso

From IndieWeb


Isso is a self-hosted commenting server similar to Disqus.

It is written in Python and supports features such as multi-tenant operation, built-in Disqus import (with an API for other comment sources), and a simple moderation queue with various notification mechanisms including SMTP. It is also built for smaller sites and uses a local SQLite database for its comment storage.

Features

Supports federated avatars with Gravatar and Gravatar-like systems such as libravatar.

  • Unfortunately it only supports the md5-hash mechanism, which is a privacy issue.
  • Also it doesn't currently provide libravatar federation support

IndieWeb Examples

Fluffy

fluffy uses Isso for comments since 2019-08-04

Shortcomings

Guessable unportable thread IDs

Unlike Disqus, Isso does not allow specifying a thread ID separately from the embed page URL, and all comment reply emails assume that the thread ID itself is the URI/path for the comment thread's page, which is a problem when using it for private posts or in contexts where post URLs can change. fluffy uses a page redirection mechanism to keep thread IDs unguessable and portable.

Limited moderation UI

The administration/moderation mechanism is quite limited; there is no way to mark comments as spam (only delete them), the admin UI does not provide a text search mechanism to actually find specific comments to edit, and the moderation queue is all-or-nothing (i.e. either all comments are held for moderation or none are).

JS setup challenges

The client-side JavaScript needs to be configured independently of the server side, and the configurations must match. This does improve performance somewhat (since the client doesn't need to fetch its configuration) but it's an additional point of confusion in the initial setup.

Open source challenges

And some gripes from fluffy:

  • The code isn't written in a particularly-modular way, so extending it with more functionality is rather difficult. The primary author/maintainer also seems to not be very active in the project at this point.
  • The admin documentation could also use a lot of work, IMO

Criticism

VPS admintax

There is non-trivial admintax of maintaining an additional VPS: Comments β€” again (2022-02-05 update)

"Implementing it was fun, maintaining the additional VPS was not. It kind of goes against my goal with this website; keep it simple."

Note that Isso is by design intended to run as one tiny Python process on a dedicated server/VPS/etc. that is already running a bunch of other processes; spinning up an entire dedicated VPS for it is not how it's intended to be used. It also only directly supports SQLite, so isn't particularly suited for most cloud hosting scenarios, especially where local storage is considered fragile (e.g. Heroku). The core ethos of its design is "Comments are not Big Data."

See Also