I wanted to bring back comments for my blog articles for a while now. The downside of using a headless CMS is to some extent, that there are mostly no batteries included. Most headless systems are pretty unspecific and versatile, which is nice in so many ways. But pretty time consuming in others. I could have modelled a comment system on sanity.io, hooked up some endpoints on my Express and all of that jazz but decided against it. It just gets too complex, way too quickly. And I really don't feel like re-inventing the wheel, once again. I was sure that there has to be something like Disqus - but without all the user data gobbling that "free" services like them do, to being able to afford offering said "free" service in the first place. I wanted something lean and simple and something I could preferably run on my own infrastructure.
After some digging I found a couple of "headless comment systems" but they all felt a bit dated. I was lucky enough to stumble over Commento, which you can use either as a hosted service or you can just run it on your own server, if you so prefer.
Since I already have a few VPS instances running containers, I cobbled together a config and now run my own instance of Commento. It combines the prebuilt Commento image with a Postgres instance on a private network. In front of Commento, a Traefik reverse proxy handles SSL and automatic Let's Encrypt certificate generation.
My config is available on GitHub if you'd like to try yourself. If you don't feel like messing around with Docker, just head over to the Commento website and get yourself a subscription. If you consider using Disqus, reconsider and use Commento. As they write on their website: "Commento has not, does not, and will not gather your personal information to sell to advertisers, third-party trackers, or other organisations." That's great in my book.
All config files are available in this repo on GitHub.