Pihole container run out of disk space

I’ve got a 128GB disk connected to my RB5009 for my pihole container to use. Although it is mostly empty the container claims to be 99% full and is reporting a disk shortage error (the db and log files are maxed out).

How can I increase the space available to the pihole container? It seems to be using only 1GB and it’s obvious why it isn’t using all of the disk. I wonder if there is a env variable to set?

D.

Are you sure you are running on external storage and not internal ?
Because 1Gb happens to be … limit on internal storage for RB5009.

I have the external disk labelled “disk1” in Slot usb1-part1. The container mounts are set to Src /disk1/etc and /disk1/etc-dnsmasq.d

I assume it’s using the external disk from this. I find the terminology a bit confusing. Also, if I look under Files, there seems to be no disk-level segregation of files.

So, you might be right, but how can I check?

Can you provide export of /disk and /container part of your config ?

Sure.

/container mounts
add dst=/etc/dnsmasq.d name=dnsmasq_pihole src=/disk1/etc-dnsmasq.d
add dst=/etc/pihole name=etc_pihole src=/disk1/etc
/disk
set usb1 type=hardware
add parent=usb1 partition-number=1 partition-offset=512 partition-size=
“128 035 675 648” type=partition

/container
add envlist=pihole_envs interface=veth1 mounts=dnsmasq_pihole,etc_pihole
root-dir=disk1/pihole start-on-boot=yes
/container config
set registry-url=https://registry-1.docker.io tmpdir="disk1/pull "
/container envs
add key=TZ name=pihole_envs value=Europe/London
add key=WEBPASSWORD name=pihole_envs value=YYYYY
add key=DNSMASQ_USER name=pihole_envs value=rooty

I suspect /disk1/ is most likely your internal disk (though I am not 100% sure, it is logical).

You may have to recreate that container but use /usb1-part1 as base.

Like this (pulled from my RB5009 where PiHole is running as well in a container, using external disk):

/container mounts
add dst=/etc/pihole name=etc_pihole src=/usb1-part1/etc
add dst=/etc/dnsmasq.d name=dnsmasq_pihole src=/usb1-part1/etc-dnsmasq.d

/container
add envlist=pihole interface=veth4-PiHole mounts=etc_pihole,dnsmasq_pihole root-dir=usb1-part1/pihole

/container envs
add key=TZ name=pihole value=Europe/Brussels
add key=WEBPASSWORD name=pihole value=<xyz>
add key=DNSMASQ_USER name=pihole value=root

The above is configuration. If you execute /disk/print you’ll see actual running values, one of them being slot. Also observe flags column, it should contain “M” (for Mounted). The “slot” property indicates mount point name. You can run the print command with “verbose” to see more details.

That helps. The disk is mounted but I’ve pointed the container to the internal storage.

Is it possible to copy the folders from the internal storage to the USB drive before I change the mount points, so I can have a smooth continuation of service? There’s not an obvious file management structure, and I don’t see an obvious way to access files in the container folders.

D.

PS. For that matter, I’ve also wondered how I can update the pihole image without losing settings.

For pihole, I wouldn’t bother too much about copying files.
Let it recreate its info.
Probably using FTP it would be possible if you’re really eager to try.

Update:
that’s the whole idea of having the data part separate from the image storage.
Simply delete the container, keep the data part on the external storage.
Recreate the container using the new image, point again to same data storage.

I tried just moving mounts, but that broke stuff. I think I probably need to recreate the entire pihole again as certain things, like the VETH, seem linked to the folder I started off with.

Have I got that right?

Veth is linked to container, not to mount points.
But starting new is probably best.