Blocky vs. Pihole v6 for older routers

I have a spare RB3011 that I dedicated to running containers. I’ve been running Pihole v5 on it for a while, and every few days the pihole container craps out due to resource exhaustion. I have a lot of block lists. I’m wondering if people running either blocky or pihole v6 on an older router can comment on how these containers do. Thanks.

I’d have to guess Blocky be more efficient. It is pure Go code, which is designed for containers and doesn’t have all of the rest of Linux like PiHole. Now blocky is more limited in feature if you’re coming PiHole.

Also MikroTik does have adlist now in DNS, which takes a basic URL lists to block. That likely be most efficient, and most limited features.

I would be surprised you could even run blocky on that. My RB5009UPr+S+ struggles to even startup a blocky container and only manages to run it with considerable delay in responses. (and the CPU and Memory on this router are below 25% utilization)

My overall experience across multiple devices is that RouterOS is not at all optimized for running containers. :frowning:

I recently upgraded my Raspberry P3 to a P5 running Pi-Hole v6 … what a pleasure – what a great experience … combining that with MOAB … very nice …

So I ended up going ahead with Pihole v6, and thought people might be interested in performance. First of all, I basically started from scratch.

  • The RB3011 was running 7.17.2, but had been upgraded all the way back from 7.10 (I think). I netinstalled it to 7.18.2


  • I use a USB enclosure with an old 500 GB spinning hard drive. I got what I wanted off it, cleared it with gparted and reformatted it as ext4 on the router


  • After the netinstall, I ran selected commands out of my config backup by hand. A couple things I did manually since I wanted them to be different than the old backup


  • I do firewalling on the router for certain things, but I also use fast track to keep utilization down


  • I use the nextdns client in an alpine container. I built that fresh with the latest client, got it on the USB drive, and imported it

After that, I installed Pihole and opened up my latest teleporter backup zip. I configured the stuff I needed from that, again by hand (things like the adlists and allow/deny domains and regex). Then I updated gravity…and the available memory dropped to 250 MB free. These routers have 1GB of memory and I have the RAM high for containers set to 850 MB so it was almost there. On the pihole v5 container, it would slowly run out of memory and after 4 days the web interface wouldn’t respond anymore. So I thought it was basically toast, but I let it keep running.

The next day I took a look and saw the memory had recovered a little - maybe to around 350 MB or so. So I figured what the hell and updated gravity again. Memory dropped again to around 230 MB, but then at the end of the process where gravity swaps databases the memory in use dropped by over 500 MB! So now it was over 700 MB free. I did this again the next day, and the memory again recovered to 700 MB after the database swap. This happened again the same way yesterday, and today. I’m pretty surprised by this. All along the web interface has been reasonably responsive as well. So it hasn’t even been a week but I’m going to see how long it’ll keep running. Obviously YMMV :smiley:
v6-console.png