Hello y’all! I have my personal (static) website / blog running on netlify out on the public internet. Netlify, in case you’re not familiar, is not a traditional web host, so I can’t add databases or anything else like that on the server itself. Right now, that site has zero analytics / visitor tracking and I’ve decided I want to fix that. I want to know how many people visited my site and which pages they looked at. I am NOT looking to monetize anything though, to be clear.

I want to self-host that analytics service at home, on my home server, but I need two things, please:

  1. Recommendations for which app to use. I’ve checked out Umami and Plausible and they both look good for my meager purposes. But please - let me know which app makes sense for a personal web site with low-ish traffic. Is there something simpler I could do?

  2. Help getting the reverse proxy set up so my public web site can send analytics data into my home server. I would prefer this to be entirely under my control, so no CloudFlare or Tailscale, for instance. Is Caddy an option? I get really confused really quickly about this level of networking, to be clear, so maybe I just need a really plain-English guide to handling this sort of thing?

Thanks for any / all ideas! Y’all so totally rock!

ETA: A little more info about Netlify and why I can’t install or use tools other traditional web hosts might offer.

** SECOND EDIT**: Thanks to @[email protected] for the goatcounter suggestion, I am trying that out now for the analytics side of this. Getting it set up was easy and free, using their server. (I know, I know…) If I still like the app after the next couple of weeks, I will move it in-house and self-host. That gives me a couple of weeks to figure out my second issue above, how to have my public web site make requests to my self-hosted, behind the firewall/NAT service. Yay, more learning!

  • @joneskind
    link
    English
    28 months ago

    Hello,

    If you only want to track the number of page views you can do something simpler.

    On your website, add an empty image with a known name in the footer that point to your home server (no proxy needed if your website allows loading images from external site)

    You should see the attempt to download the empty image in your home server logs. There are tools to parse your server logs for specific keys (I have Logstash in mind)

    If you want to track anything else, just add another empty image linked to the website event you want to track.