Implementing a Lightweight Comment System with Self-Hosted Cusdis
I lightened my blog's comment functionality with Cusdis. I self-hosted this privacy-focused, cookie-free, open-source tool that requires no user registration. This post mainly discusses the pros and cons of its implementation.
*This post contains advertisements
Hello, I'm a professional engineer.
This blog runs on Ghost CMS, which comes with a built-in comment feature. However, using this feature as-is was a bit difficult because comments only worked for registered and logged-in users.
So, this post is about how I ended up with Cusdis after searching for a way to allow comments without requiring user registration.
What is Cusdis?
Cusdis is an open-source, "ultra-lightweight and privacy-focused" embedded comment system.
It's a tool that allows you to easily add a comment section to blogs and static sites, and it was developed as a lightweight and clean alternative to the equally famous comment tool, Disqus.
Key Features and Benefits
-
Extremely Lightweight (approx. 5KB gzip)
- Cusdis operates with only about 5KB of JS, ensuring it doesn't slow down your site's loading speed.
-
Privacy-Friendly (Cookie-Free)
- It does not use visitors' cookies and performs no tracking or ad display whatsoever. Its design is also compatible with privacy protection standards like GDPR.
-
Easy Self-Hosting
- An official Docker image is provided, allowing it to run in various environments.
-
Simple Approval System
- Submitted comments are initially held in pending status and are only published after approval from the admin panel.
-
Notification Integration (Webhook / Email)
- You can receive notifications for new comments via email or Webhooks.
Visual Examples
For those wondering what the comment section actually looks like, here are some images. Below is the comment section for each article. Also, if I haven't changed my mind, the actual comment section should be placed further down in this article!

Next, here's the administration screen. From this screen, you can approve or reject comments. Note that automatic approval is not possible; comments must always be approved by some action.

Why I Chose Self-Hosting
First, there are roughly two ways to implement Cusdis:
- Managed service (running on servers provided by Cusdis official)
- Self-hosting (running on your own server)
Without a doubt, the former is easier to implement. Although there are some limitations, for a personal blog, these limitations are unlikely to become restrictive. In my past experience, hardly anyone leaves comments even if you provide a comment section! There used to be a culture of leaving comments like, "I'll be quoting this," but times have changed, haven't they?
So, why did I choose to self-host? It was because I had "unused credits available on Google Cloud." I subscribe to Google AI Pro, a paid service that lets me use Gemini and other features effectively, and it comes with credits.
I've tried to make good use of them many times before but always ended up leaving them unused, so I thought this would be a good opportunity to utilize them.
Pros and Cons of Self-Hosting
Self-hosting also has its advantages and disadvantages, so I'll discuss those.
Advantages
First, regarding the advantages, honestly, for a small personal blog, they are practically non-existent.
While there's the benefit of not having to worry about comment limits, even the official hosted service allows 100 comments per month, which a personal blog is unlikely to exceed. Also, unlike in the past, social media reactions have become the primary form of engagement.
Personally, I feel that the biggest advantage is being able to manage data myself. If you're considering migrating data to other services, self-hosting offers more flexibility.
But still, I generally feel that the benefits of self-hosting aren't that significant after all.
Disadvantages
Next, let's talk about the disadvantages. I think the biggest drawback is undoubtedly the significantly increased effort required for setup.
Also, generally, self-hosting is likely to result in higher operational costs. Of course, there are combinations that allow you to set this up for free, but it still involves effort.
If you have a vibrant site that could truly benefit from self-hosting, it might be a reason to adopt it... but it's tough.
Combinations for Self-Hosting
Since I went to the trouble of self-hosting, I'd like to introduce a few combinations.
What I Tried This Time
Google Cloud Run + Google Cloud SQL.
With this combination, Cloud Run can be used within the free tier, but Google Cloud SQL typically costs around $10/month or more. The cost-performance isn't great, so I don't recommend it, haha.
I'll probably switch to another method or remove the comment section eventually!
For a Free Setup
Vercel + Supabase.
This combination should generally be available for free. Also, since I haven't tried it this time, I can't go into detail, but it seems Cusdis officially provides a one-click setup feature for easy deployment. Why didn't I just go with that from the start?
Update: What I Ended Up Doing
Google Cloud Run + Supabase.
The bottleneck was database cost, so I switched to Supabase to achieve free operation. Performance has noticeably dropped, but with lazy loading, it's probably not too bothersome. It does take a bit longer to post comments, though.
The reason I didn't use Vercel was that there was no compelling reason to rebuild what I had already set up with Cloud Run. I just needed to change the database connection, which was quick.
While this deviated from one of my initial goals of utilizing my credits, I'm sure they'll gradually be consumed by playing around with the Gemini API...
By the way, I heard rumors that Vercel + Supabase could be set up easily with one click, but that was not the case at all. I tried a trial setup with Vercel too, but it required quite a bit of maintenance due to library versions and such. Well, these things happen.
Summary
- If you want to implement a lightweight external comment system, Cusdis is a good choice.
- Generally, the officially hosted version is sufficient.
- If you want to self-host, Vercel + Supabase is recommended.
In Conclusion
As I was writing this, I actually started wanting to rebuild it with Vercel + Supabase, lol.
There's a chance what I set up today might disappear tomorrow, so I decided to save it as a favorite as a keepsake. Cloud Run might come in handy again sometime.

This article was translated from the original Japanese version (Cusdisをセルフホストして、軽量なコメント機能を導入する) using Gemini API.
Comments