Self-Deploy Comment and Analytic App
After Migrating My site to 11ty, I decided to self-deploy the comment & analytic app for this website. Why? Because it’s fun to learn something new and I’d like to keep those data on my box. So, these are my review for comments & analytics apps that you can self-deploy.
Comment permalink
So, I begin by searching for the comment app. I want it to be lightweight so it won’t take many resources on my cheap server. I already know about Commento, so I search for “Commento alternative open-source”, these the top result list:
Commento is widely popular, actively maintained, has a nice UI, has a managed cloud version & privacy compliant. The backend is written in Go, which is nice. But the managed version price is quite expensive for me & the DB choice is only Postgres.
Utterances is popular too, it uses Github issues as its backend, it’s open-source, & privacy compliant. But you need to have a Github account to add a comment. So, It is not good for the general audience.
Isso is also popular, actively maintained, & privacy compliant. The backend is written in Python, and uses SQLite for the DB. The UI is ok, I just need to style the font to match my website style.
For the comment app, I choose Isso for its simplicity & SQLite choice as DB. The deployment is quite easy, it comes with a prebuilt binary. So, I just deployed it as systemd service and put it behind a reverse proxy.
Analytic permalink
For analytics I already have some choices, they are:
Umami is popular & widely used, actively maintain, feature-rich & privacy compliant. It is written in NextJS and Prism. The UI is nice & the DB choices are Postgres or MySQL.
Plausible is quite the same as Umami, but it offered a SaaS version. It is written in Elixir, has modern UI, and It should be very performant. The DB choices are Clickhouse or Postgres.
Fathom has two versions the lite and pro. The lite version is the old Fathom, rarely maintained, written in Go and Preact, and the DB choices are SQLite or Postgres. The pro version is a SaaS & has more features compared to the lite version.
I also found GoAccess a server-side tracker. Written in C (super fast!), feature-rich, & privacy compliant.
For the analytic, I choose Fathom Lite. Even if it’s not actively maintained anymore, I’ll still be able to maintain it to some extent. Yeah, I forked it, upgrade the Go version, and fix some accessibility issues as suggested by the Chrome Lighthouse.
Deployment is easy because it is single binary & uses SQLite. I just make it as systemd service and put it behind a reverse proxy.