this post was submitted on 15 May 2025
7 points (100.0% liked)

linux4noobs

2032 readers
29 users here now

linux4noobs


Noob Friendly, Expert Enabling

Whether you're a seasoned pro or the noobiest of noobs, you've found the right place for Linux support and information. With a dedication to supporting free and open source software, this community aims to ensure Linux fits your needs and works for you. From troubleshooting to tutorials, practical tips, news and more, all aspects of Linux are warmly welcomed. Join a community of like-minded enthusiasts and professionals driving Linux's ongoing evolution.


Seeking Support?

Community Rules

founded 2 years ago
MODERATORS
 

specs: Pop OS // AMD Ryzen 7 5700U // 16GB RAM

Just trying to gauge the opinion on how to proceed in this case

I just set up Pop Os to run i2p and I was thinking about getting pihole as well.

I've read a few posts commenting about setting up pihole as a VM, perhaps even with dietpi to make it less resource intensive

What do you guys recommend? VM or no VM? dietpi or something else?

The machine will only be used for i2p, browsing and watching videos. Perhaps jellyfin and arr suite in the future when I feel more adventurous? idk, one step at a time i guess

Pi hole is intended to be used by other devices as well

Any other recommendations/tutorial links are welcome, thanks in advance

top 3 comments
sorted by: hot top controversial new old
[–] hamsda@lemm.ee 2 points 9 hours ago

I have some old mini-PC in my living room that's running a hypervisor and a few VMs. One of those VMs is used for pihole. I used docker and docker compose for this.

My docker-compose.yaml is a little more fancy than that because I deploy it via GitLab CI, but here's the kind of config you can expect:

# More Info and full example docker-compose here:
#   https://github.com/pi-hole/docker-pi-hole/#running-pi-hole-docker
services:
  pihole:
    container_name: pihole
    hostname: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "80:80/tcp"
      - "443:443/tcp"
    environment:
      PIHOLE_UID: '1000'
      PIHOLE_GID: '1000'
      TZ: 'YOUR_SERVER_TIMEZONE'
      FTLCONF_webserver_api_password: "YOUR_PIHOLE_ADMIN_PASSWORD"
      FTLCONF_dns_listeningMode: 'all'
    volumes:
      - etc-pihole:/etc/pihole
    restart: unless-stopped

I mostly copy-pasted that from the official pihole docker compose quick-start example.

To update, you would just need to run the following in the same directory as the docker-compose.yml file.

docker compose stop
docker compose pull
docker compose up -d

If pihole is the only thing you really want to run, a new machine and hypervisor are too much for just that. If ad-free surfing is all you want, you can just get a raspberry pi and setup pihole on that thing. You can still use docker compose, as the pihole images are available for ARMv6, ARMv7 and ARM64.

[–] entwine413@lemm.ee 3 points 12 hours ago

You'd be better off just getting a Pi 3b+ or better and hooking it directly into your router. It's super unnecessary to run it as a VM unless you're using a bare bones hypervisor.

[–] elmicha@feddit.org 2 points 11 hours ago

Docker compose.