Commentail — self-hosted comments for Wagtail, now in beta

Hi everyone,

I’d like to share Commentail, an open-source Django package that adds self-hosted comments to Wagtail.

I’ve been building sites with Wagtail for years, and comments were something I kept implementing again or adapting from previous projects. For my own site, I wanted a reusable solution that wouldn’t depend on an external comments service. That became Commentail, and it’s already running on hardcodd.net.

The package includes:

  • Moderation inside Wagtail, with site-wide defaults and per-page overrides.
  • Guest comments with email verification, plus support for existing Django user accounts.
  • Threaded replies, author editing, and direct-reply email notifications with unsubscribe links.
  • Django templates and customizable styles that inherit the site’s typography and colors. The core commenting flow also works without JavaScript.
  • A database-backed email outbox processed by a scheduled management command, without requiring Redis or Celery.

The current release is 0.1.1 Beta, under the MIT license, with support for Wagtail 7.4 LTS and 8.0. Comments are plain text, and the released interface is available in English and Russian.

It has been tested on my own site, but I’d like to learn how it fits other projects before calling it stable. Feedback on installation, theme integration, moderation workflows, and anything missing from the documentation would be especially useful.

If you maintain a Wagtail site and have been looking for self-hosted comments, I’d be interested to hear what you think.

1 Like

A quick update: I’ve released Commentail 1.1.0, and the package is now stable.

This release focuses on moderation: bulk actions, confirmation before permanently erasing comment text, clearer filters and selection controls, and navigation that keeps your current search and filters. I’ve also reorganized the settings and added clearer error messages.

Optional publication emails now go out only after moderator approval, so authors aren’t emailed about every comment that appears immediately.

Release notes and upgrade instructions

If you try it on a Wagtail project, I’d welcome feedback on installation and the moderation workflow.

I’ve released Commentail 1.2.0. It now uses the Django email backend configured in your project, including API-based backends, and you can run background processing through your existing task queue instead of a separate scheduled command.

The guest form is more compact, with a smaller CAPTCHA field and a quieter Cancel action beside Send. This release also includes input-validation fixes and compatibility checks with Wagtail 8.0.1.

There are no new Commentail migrations over 1.1.0. Refresh static files and review any form template overrides when upgrading.

Release notes and upgrade instructions

I’ve released Commentail 1.3.0 with more guest spam protection: optional Google reCAPTCHA v2 or Yandex SmartCaptcha, attempt limits, and moderation signals for repeated text and multiple links. Arithmetic CAPTCHA remains the default; external checks require JavaScript, and drafts stay available when a check fails.

When upgrading, run the two new migrations, refresh static files and review overridden form templates.

Release notes and upgrade instructions

I’ve released Commentail 1.3.1, a security update. It protects stored quota and submission fingerprints with a secret key, enforces Wagtail Site boundaries for page discussions and email, and limits form issuance while preserving entered drafts.

Before upgrading, stop web and background writers and back up the database, secret key and previous package together. The new data migration is irreversible; rollback requires that matching backup. Review custom form templates and form quotas for shared networks.

Release notes and upgrade instructions

I’ve released Commentail 1.4.0 with separate email delivery: the site can keep its existing Django mail backend while Commentail uses a different backend, account and sender. A management command lets you test that route directly.

In Apply rules mode, matching Reject rules now refuse new guest submissions before creating a comment or confirmation email. The form keeps the draft and shows an optional reason from the rule. CSV exports include this reason; older three-column imports still work.

The upgrade adds migration 0019. Review enabled Reject rules before resuming guest submissions. Release and upgrade notes.