FindSoftware

Schnack

Self-hosted commenting system for static websites, written in JavaScript and embedded with a script tag.

Schnack is a commenting system for static websites, written in JavaScript. The server keeps comments in SQLite, and a page embeds a comment thread with a script tag that points at the server. Site owners approve or reject comments, or trust or block users, in a moderation interface that appears in the comment section for admins. Commenters sign in with third-party accounts through OAuth, so the site owner configures an OAuth app for each provider.

The project site describes two ways to install: cloning the repository and running it with Node.js, or building a Docker image from it. The README also gives an npm route through the npm init schnack command. The README calls Schnack a Disqus-like system and names Commento and Isso among projects that do almost the same thing.

Worth knowing

Plugins for OAuth login and for notifications are separate npm packages, and the schnack-plugins repository collects them. Notifications can go to the site owner by web push, and plugins send them to other channels.

Identity

Status
Stub
Maintainer
Gregor Aisch, Moritz Klack & g-div3
First release
20176

Rendering and deploy

Runs as
Always on1
Install with
npm12

Releases

Current major version
15
Last release
2021-01-165

Adoption

GitHub stars
1,8122
npm downloads a week
774
Contributors
112

Why these figures do not compare

Sources

  1. 2026-11-03: links, Written in, Runtime, Categories, Admin interface, Install with, Runs as, Databases
    schnack.cool/
  2. 2026-11-03: links, Install with, GitHub stars, Contributors
    github.com/schn4ck/schnack
  3. 2026-11-03: Maintainer, License
    github.com/schn4ck/schnack/blob/v1.1.0/LICENSE
  4. 2026-11-03: npm downloads a week
    api.npmjs.org/downloads/range/2026-10-26:2026-11-01/schnack
  5. 2026-11-03: Current major version, Last release
    registry.npmjs.org/schnack
  6. 2026-11-03: First release
    github.com/schn4ck/schnack/tags

Last reviewed · Listed since Edit on GitHubThis page as markdownas JSON