Isso
For social & community, Isso is a self-hosted solution that provides lightweight commenting server written in Python and Javascript. It aims to be a drop-in...
Self-hosted commenting for static sites, honestly reviewed. No marketing fluff, just what you get when you run it on your own server.
TL;DR
- What it is: Lightweight, self-hosted commenting server written in Python — a drop-in replacement for Disqus that stores comments in SQLite and embeds via a single JavaScript file [2].
- Who it’s for: Bloggers, indie hackers, and developers running static sites (Hugo, Jekyll, Ghost, any SSG) who are fed up with Disqus tracking their readers and want a simple, private alternative.
- Cost savings: Disqus charges $9–$85/mo depending on plan tier to remove ads and tracking from your site. Isso self-hosted runs on a $5–10/mo VPS at no license cost (MIT).
- Key strength: Genuinely minimal footprint — one Python process, one SQLite file, one 65kB JS embed. Setup is straightforward if you know your way around a terminal [1][2].
- Key weakness: This is a tool for static site owners with some technical comfort, not a plug-and-play SaaS. Non-technical founders should expect an afternoon of work and some nginx configuration before they’re done [5].
What is Isso
Isso — the name is a German pun: Ich schrei sonst, loosely “I’ll scream otherwise” — is a commenting server built to replace Disqus without sending your readers’ data to a third party. It’s written in Python and JavaScript, uses SQLite as its database, and embeds into any website with a single <script> tag [2].
The project’s own documentation is unusually direct about why Disqus is a problem: “No anonymous comments (IP address, email and name recorded), hosted in the USA, third-party. Just like IntenseDebate etc. When you embed Disqus, they can do anything with your readers (and probably mine Bitcoins, see the loading times).” [2] That framing — privacy-first, no third-party data extraction — is the entire reason this tool exists.
The core technical model is simple by design: comments are stored in a SQLite database (the README’s reasoning: “Because comments are not Big Data”), the server is a Python process you run behind nginx, and the client is a configurable JavaScript bundle of 65kB (20kB gzipped) that you load from your own domain [README]. There’s no cloud account, no vendor relationship, no per-comment pricing.
GitHub shows 5,270 stars — modest relative to more generalist tools, but meaningful for a single-purpose commenting server. The project is MIT-licensed.
Why people choose it
The reviews and integration guides available tell a consistent story: developers choose Isso primarily because Disqus is a privacy disaster, and secondarily because the alternatives either require GitHub accounts (Utterances, Giscus) or introduce more complexity than a commenting widget justifies.
The Disqus critique lands hard for static site owners specifically. The platform is free to use on the surface, but when you embed it, you’re handing Disqus access to your readers’ browsing data, serving third-party ads, and watching your page load times climb. One common complaint in the self-hosted community is that Disqus’s “free” tier embeds tracking pixels and affiliate link injection — things you can only turn off by paying [$9–$85/month depending on plan].
Two Hugo bloggers who documented their Isso migrations in detail [3][5] arrive at the same conclusion: the setup is fiddly but one-time, and the result is a comment system that works, respects privacy, and doesn’t phone home. The chringel.dev post [3] praises how the Hugo partial system makes Isso easy to swap in as a conditional replacement for Disqus comments. The stiobhart.net walkthrough [5] is notable for its honesty about difficulty — the author describes “several hours of brow-furrowing, head-scratching and nose-picking” before getting it to work, and explicitly pitches the guide at “someone who knows the basics of how to navigate round a file-system using the command-line.”
That calibration matters. Isso is not a tool for people who have never touched a Linux server. It is, however, a reasonable choice for developers who have and who want to stop outsourcing their comment section to a company whose business model involves monetizing reader attention.
What pulls people toward Isso specifically over its self-hosted peers:
- Simpler than Remark42 or Commento — no Redis required, no Postgres, no multi-container Docker setup. SQLite keeps operational overhead near zero for a typical blog.
- Anonymous comments supported — this is an explicit design goal, contrasted directly against Disqus which requires email and records IP [2]. Isso lets readers comment without creating accounts.
- Embed simplicity — one JS tag, one
<section id="isso-thread">, done [1]. No API key registration, no embed code wizard.
Features
Based on the README and documentation:
Comment experience:
- Comments written in Markdown [README]
- Users can edit or delete their own comments within a configurable window (default: 15 minutes) [README]
- Anonymous commenting — name, email, and website fields, none required by default [2]
- Threading with configurable depth [README]
- Voting (upvotes/downvotes) per comment [README]
Moderation:
- Optional moderation queue — new comments are held for approval before going public [1]
- Moderation via signed URLs sent by email (no admin dashboard required) [1]
- SMTP notification for new comments with activation and deletion links [1]
Integration:
- Single JS embed file — 65kB, 20kB gzipped [README]
- Works on any static site — no server-side rendering needed [2]
- Supports Firefox, Safari, Chrome, Edge [README]
- Hugo, Jekyll, and any SSG that allows custom HTML partials [3][5]
- Configurable via
data-isso-*HTML attributes for per-embed customization [3]
Data and migration:
- SQLite backend — single file, easy to back up or migrate [README]
- Disqus import tool included [1][README]
- WordPress import tool included [1][README]
- Server API available for programmatic access [docs sidebar]
Deployment:
- pip install or Docker image [README]
- Docker image available at
ghcr.io/isso-comments/isso:release[README] - The maintainers recommend pinning to a specific release tag [README]
What’s missing (no soft-pedaling):
- No spam filtering built in — Isso has no Akismet integration or captcha. You either moderate everything manually or accept some spam.
- No real admin UI — moderation is done through email links, not a dashboard. Fine for solo bloggers, limiting for anyone who wants to delegate moderation.
- No real-time notifications beyond SMTP — no Slack webhook, no push, nothing modern.
- No comment search or analytics.
- No CDN — you serve the JS from your own domain, which means your server is a single point of failure for the embed.
Pricing: SaaS vs self-hosted math
Disqus (the target replacement):
- Basic (free): full Disqus, with ads and tracking embedded in your site
- Plus: ~$9/month — removes ads, keeps tracking
- Pro: ~$85/month — removes ads, adds more customization, still closed-source SaaS
Isso self-hosted:
- Software license: $0 (MIT)
- Server to run it: $5–10/month on Hetzner, Contabo, or DigitalOcean (a $5 VPS handles most personal blog traffic without strain)
- SQLite backup storage: effectively $0
The math for a typical blogger: If you’re on Disqus Plus to keep ads off your site, you’re paying $108/year. A Hetzner CAX11 (2 vCPU, 4GB RAM) runs €3.79/month — about $50/year — and can run Isso alongside your static site, a reverse proxy, and several other services simultaneously. Annual savings: ~$58 for a like-for-like ad-free experience, plus you’ve eliminated the tracking entirely.
If you’re on Disqus free tier because you tolerate the ads, the savings calculation is different: you’re trading ads and privacy invasions for one afternoon of setup work. Whether that trade is worth it depends on how much you value your readers’ privacy and your site’s load speed.
There is no managed Isso cloud offering. It’s self-hosted or nothing.
Deployment reality check
The honest version of the setup process, synthesized from the official docs and real-world install write-ups [1][5]:
What you need:
- A Linux VPS (1GB RAM is sufficient for most personal blogs — Isso is genuinely lightweight)
- Python 3.8+ with pip
- SQLite 3.3.8 or later
- nginx (or Caddy v1 — the stiobhart.net author warns that Caddy v2 caused persistent server crashes and reverted to nginx [5])
- A subdomain for the comments endpoint (
comments.yourdomain.comis the conventional pattern) - Optional: SMTP access if you want email moderation notifications
Install path:
pip install isso
Then write a config file, run Isso behind nginx as a proxied service, configure systemd to keep it alive, and embed the JS in your static site template. The official quickstart [1] covers the nginx config pattern.
What can go sideways:
The stiobhart.net install guide is the most honest available account [5]. The author took several hours on a relatively modern setup. Specific pain points documented across install write-ups:
- CORS configuration is error-prone. The
hostsetting in isso.cfg must exactly match how your site is accessed (with/without SSL, with/without trailing slash) [1]. Getting this wrong produces silent failures — the JS loads but comments don’t post. - Running Isso on a public IP without a reverse proxy is explicitly warned against [1]. You must proxy through nginx.
- The Docker image changed its tagging scheme in March 2024 (
:latest→:release), which broke pinned deployments that assumed:latestwas stable [README]. The maintainers now recommend explicit version pins likeisso:0.13.0. - No built-in process supervision — you need systemd, supervisor, or similar to restart Isso on crash or reboot.
- The Python virtualenv setup [5] adds complexity relative to a Docker deploy, but Docker is also valid and simpler for most use cases [README].
Realistic time estimate: 1–2 hours for someone who has deployed a Python app behind nginx before. Half a day for someone doing it for the first time. The existing documentation [1][2] is functional but assumes Linux familiarity.
Pros and cons
Pros
- Zero license cost, MIT. Use it, fork it, modify it, embed it in a client project — no commercial restrictions [README].
- Genuine privacy. Comments stay on your server. No third-party JavaScript, no tracking pixels, no data handed to an ad network [2].
- Minimal operational footprint. One Python process plus SQLite — no Redis, no Postgres, no Docker Compose with five services. Backup is literally copying one file.
- Anonymous commenting. A meaningful feature that Disqus removed years ago [2]. Some readers will only comment if they don’t have to create an account.
- Clean embed model. One script tag, one div. Works in any SSG without a plugin or theme modification [1][3].
- Disqus/WordPress migration included. If you’re moving existing comments over, the import tooling handles the two most common sources [1].
- No per-comment or per-pageview billing. High-traffic posts don’t cost more.
Cons
- No spam protection. This is the biggest real-world problem. Without Akismet or a captcha layer, public blogs attract bot comments. Isso has no answer to this beyond the moderation queue, which means you’re manually approving or deleting everything [docs].
- No admin UI. Moderation via email links is workable for low volume, tedious for anything more. There’s no way to bulk-delete, search comments, or see an aggregate view [README].
- Requires technical setup. The stiobhart.net author explicitly warns the guide assumes command-line familiarity [5]. Non-technical founders either need a technical helper or should look at something easier.
- Python dependency. pip installs work but require matching Python versions and can break on OS upgrades. Docker simplifies this but adds its own surface area.
- Caddy v2 incompatibility reported. At least one user found Caddy v2 caused persistent server instability and reverted to nginx [5]. The nginx path is better-documented.
- Small community. IRC on Libera.Chat and GitHub Discussions are the support channels [README]. If you hit a weird bug, you’re probably reading source code.
- No email threading. When someone replies to a comment, there’s no notification to the original commenter unless you’ve wired up SMTP — and even then, the notification story is basic.
- Project maintenance pace is unclear. The Docker tag change in March 2024 is the most recent notable infrastructure activity in the README. The project isn’t abandoned, but it’s not rapidly evolving either.
Who should use this / who shouldn’t
Use Isso if:
- You run a personal blog, developer blog, or documentation site built on a static site generator and you want comments without giving Disqus access to your readers.
- You or a technical colleague are comfortable with pip or Docker, nginx configuration, and systemd.
- Your comment volume is modest — a few posts per day at most. SQLite and a single Python process handle typical blog traffic without strain.
- You want anonymous commenting — readers who won’t comment with an account will comment here.
- You’ve already done the nginx setup and need one more service behind a reverse proxy. The marginal setup cost is low.
Skip it (consider Remark42 instead) if:
- You want a proper admin UI, Telegram notifications, multiple social login providers, and OAuth. Remark42 is more complex but significantly more capable as a full commenting platform.
Skip it (consider Giscus or Utterances) if:
- Your readers are developers who already have GitHub accounts. GitHub Discussions-backed comments (Giscus) require zero server setup and give you moderation through GitHub’s interface. The tradeoff is requiring a GitHub account to comment.
Skip it (stay on Disqus free) if:
- You’re not technically comfortable with Linux administration and don’t have someone to help. The setup is achievable but not zero-effort, and a misconfigured CORS setting will silently break commenting in ways that aren’t obvious.
Skip it (look at managed Commento or Cusdis) if:
- You want the privacy benefits of not using Disqus but you don’t want to manage a server. Both offer managed hosting with similar privacy positioning.
Alternatives worth considering
- Remark42 — self-hosted, Go binary (simpler ops than Python), admin UI, multi-provider social login, Telegram notifications. More features, more setup, still MIT.
- Giscus — backed by GitHub Discussions, zero server setup, zero cost. Requires commenter to have a GitHub account. Best choice for developer blogs.
- Utterances — similar to Giscus but backed by GitHub Issues. Simpler but less featured.
- Cusdis — lightweight self-hosted commenting with a minimal dashboard and email notifications. Easier admin than Isso, newer project.
- Staticman — generates comments as static files committed to your git repo. Unusual approach, no database to maintain, requires understanding of git automation.
- Disqus — the incumbent. Easiest setup (paste one script), largest feature set, worst privacy story, possible ads on free tier.
For a developer running a Hugo or Jekyll blog who wants to stop using Disqus: Isso vs Giscus is the real choice. Isso if you want anonymous comments and no GitHub dependency. Giscus if your readers have GitHub accounts and you’d rather not run another server process.
Bottom line
Isso does exactly what it says: it’s a simple, private, self-hosted Disqus replacement that stores comments in SQLite and embeds with one script tag. The feature set is intentionally narrow — no spam filtering, no admin dashboard, no social login, no real-time notifications. What you get is comment storage under your control, anonymous commenting, Markdown support, and a moderation queue driven by email links. For a solo blogger or small site who wants to stop feeding readers’ data to Disqus, and who can spend an afternoon on Linux setup, that’s a reasonable trade.
The ceiling is also clear: Isso is not the right tool for a high-traffic blog with active moderation needs, a team managing multiple sites, or anyone who needs spam protection without manual review. For those use cases, look at Remark42 or a managed alternative.
If the server setup is the blocker — that’s exactly what unsubbed.co’s parent studio upready.dev deploys for clients. One-time fee, done, you own the infrastructure.
Sources
- Isso Documentation — Quickstart Guide — isso-comments.de. https://isso-comments.de/docs/guides/quickstart/
- Isso Documentation — Getting Started / What’s Isso? — isso-comments.de. https://isso-comments.de/docs/
- chringel.dev — “Isso – An Alternative Commenting System for Hugo” (March 17, 2022). https://chringel.dev/2022/03/isso-an-alternative-commenting-system-for-hugo/
- stiobhart.net — “Adding Isso Comments to Hugo” (February 24, 2017, updated 2021). https://stiobhart.net/2017-02-24-isso-comments/
Primary sources:
- GitHub repository and README: https://github.com/isso-comments/isso (5,270 stars, MIT license)
- Official website: https://isso-comments.de/
- Official documentation: https://isso-comments.de/docs/
Features
Collaboration
- Comments & Discussions
Category
Related Social & Community Tools
View all 119 →Mastodon
50KDecentralized social network where you own your audience. No algorithm, no ads, no corporate control. Part of the Fediverse via ActivityPub.
Mastodon
50KDecentralized social network where you own your audience. No algorithm, no ads, no corporate control. Part of the Fediverse via ActivityPub.
Discourse
47KThe most popular open-source forum platform, powering 22,000+ communities. Built for long-form discussion, knowledge sharing, and community building.
RSSHub
43KRSSHub generates RSS feeds from virtually any website or platform, turning social media, news sites, forums, and services without native RSS into subscribable feeds.
Glance
33KA self-hosted dashboard that puts all your feeds in one place.
Forem
23KReleased under AGPL-3.0, Forem provides platform for building communities on self-hosted infrastructure.