[GH-ISSUE #1273] Make Komodo ZFS-Aware for disk pool mount reporting #7784

Open
opened 2026-04-27 21:47:51 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @Crosis47 on GitHub (Mar 26, 2026).
Original GitHub issue: https://github.com/moghtech/komodo/issues/1273

I have attempted to add my ZFS pools to Komodo to track disk usage however there is a flaw in Komodo when used with ZFS. The standard Linux commands to get disk space stats do not work on ZFS pools. Here's a good explanation by ChatGPT as to the actual issue:

Image

Here is something that would fix the issue as well as how the output looks (This command could be enabled possibly with an environment variable or option in the included mounts config to tell Komodo that a mount is ZFS and to use the ZFS commands instead of df for that specific mount) I would like to see a new environment variable such as "PERIPHERY_INCLUDE_ZFS_POOLS":

zpool list
Image

Variation to pull specific pool's data
Image

Unfortunately, without this implementation, Komodo disk mount reporting on ZFS filesystems is essentially useless

There is also a command to list datasets and the space they each use but I don't think that would be useful in the context of Komodo stat reporting. If anyone else disagrees feel free to share the command.

Originally created by @Crosis47 on GitHub (Mar 26, 2026). Original GitHub issue: https://github.com/moghtech/komodo/issues/1273 I have attempted to add my ZFS pools to Komodo to track disk usage however there is a flaw in Komodo when used with ZFS. The standard Linux commands to get disk space stats do not work on ZFS pools. Here's a good explanation by ChatGPT as to the actual issue: <img width="795" height="756" alt="Image" src="https://github.com/user-attachments/assets/ffc844ee-1d83-4ed2-bc08-83e5f3aee81f" /> Here is something that would fix the issue as well as how the output looks (This command could be enabled possibly with an environment variable or option in the included mounts config to tell Komodo that a mount is ZFS and to use the ZFS commands instead of df for that specific mount) I would like to see a new environment variable such as "PERIPHERY_INCLUDE_ZFS_POOLS": zpool list <img width="746" height="89" alt="Image" src="https://github.com/user-attachments/assets/9dc04a6d-d572-42b5-91b5-be946e018f94" /> Variation to pull specific pool's data <img width="706" height="51" alt="Image" src="https://github.com/user-attachments/assets/02a736d5-88ee-4f01-a23d-c5f20c644e17" /> Unfortunately, without this implementation, Komodo disk mount reporting on ZFS filesystems is essentially useless There is also a command to list datasets and the space they each use but I don't think that would be useful in the context of Komodo stat reporting. If anyone else disagrees feel free to share the command.
Author
Owner

@NeurekaSoftware commented on GitHub (Mar 26, 2026):

Same issue here! Both the disk and ram issue need resolved within Komodo.

<!-- gh-comment-id:4132247230 --> @NeurekaSoftware commented on GitHub (Mar 26, 2026): Same issue here! Both the disk and ram issue need resolved within Komodo.
Author
Owner

@Zeilar commented on GitHub (Mar 26, 2026):

It's weird, for me there is one "disk" on path /etc/hostname which happens to include my ZFS array, so it somehow accidentally correctly reports the total amount.

But since this path is nearly empty, then of course Komodo says as much, and my storage is therefore reported at 99% empty.

There is an option to hide unwated mounts, but I don't see a way to add any.

<!-- gh-comment-id:4132370320 --> @Zeilar commented on GitHub (Mar 26, 2026): It's weird, for me there is one "disk" on path `/etc/hostname` which happens to include my ZFS array, so it somehow accidentally correctly reports the *total* amount. But since this path is nearly empty, then of course Komodo says as much, and my storage is therefore reported at 99% empty. There is an option to _hide_ unwated mounts, but I don't see a way to **add** any.
Author
Owner

@Crosis47 commented on GitHub (Mar 26, 2026):

It's weird, for me there is one "disk" on path /etc/hostname which happens to include my ZFS array, so it somehow accidentally correctly reports the total amount.

But since this path is nearly empty, then of course Komodo says as much, and my storage is therefore reported at 99% empty.

There is an option to hide unwanted mounts, but I don't see a way to add any.

This is happening because /etc/hostname is always going to exist on the boot disk of any Linux system so that is showing you your boot pool. You can add other pools though it's just going to show you the current available space as total space with 0 used.

EDIT: I stand corrected:
I did some testing and /etc/hostname in a Docker stack is going to be a part of the actual Docker installation so it is going to be whichever ZFS pool your Docker environment is installed in. In my case it is my NVME-based Apps pool as shown here from my periphery container and adguard container.
Image

Image

It is very terribly documented but to add disk mounts you have to mount them as volumes in the periphery container so that it can access them (read-only to be safe) like below:

volumes:
  - /mnt/Apps:/mnt/Apps:ro
  - /mnt/Data:/mnt/Data:ro

Then you have to include them in the environment variables like so:
PERIPHERY_INCLUDE_DISK_MOUNTS: /mnt/Apps,/mnt/Data

When you mount them, you can mount them as any path in the container and use that path in the variable. Though, I personally feel using anything other than the original path would just cause confusion as to what exactly you are looking at in the UI. It is an option if you find it useful however.

I would assume that a systemd periphery installed via binary would just need the mounts added to the environment variable as there would be no container to bind the mounts in so it should already have access to them.

<!-- gh-comment-id:4136074771 --> @Crosis47 commented on GitHub (Mar 26, 2026): > It's weird, for me there is one "disk" on path `/etc/hostname` which happens to include my ZFS array, so it somehow accidentally correctly reports the _total_ amount. > > But since this path is nearly empty, then of course Komodo says as much, and my storage is therefore reported at 99% empty. > > There is an option to _hide_ unwanted mounts, but I don't see a way to **add** any. This is happening because /etc/hostname is always going to exist on the boot disk of any Linux system ~~so that is showing you your boot pool~~. You can add other pools though it's just going to show you the current available space as total space with 0 used. EDIT: I stand corrected: I did some testing and /etc/hostname in a Docker stack is going to be a part of the actual Docker installation so it is going to be whichever ZFS pool your Docker environment is installed in. In my case it is my NVME-based Apps pool as shown here from my periphery container and adguard container. <img width="538" height="82" alt="Image" src="https://github.com/user-attachments/assets/4ddc43c9-d7dd-44b3-a092-42ae347a2cac" /> <img width="570" height="52" alt="Image" src="https://github.com/user-attachments/assets/d5e2da9e-8a7c-4887-bf44-a9e64d937ceb" /> It is very terribly documented but to add disk mounts you have to mount them as volumes in the periphery container so that it can access them (read-only to be safe) like below: ``` volumes: - /mnt/Apps:/mnt/Apps:ro - /mnt/Data:/mnt/Data:ro ``` Then you have to include them in the environment variables like so: `PERIPHERY_INCLUDE_DISK_MOUNTS: /mnt/Apps,/mnt/Data` When you mount them, you can mount them as any path in the container and use that path in the variable. Though, I personally feel using anything other than the original path would just cause confusion as to what exactly you are looking at in the UI. It is an option if you find it useful however. I would assume that a systemd periphery installed via binary would just need the mounts added to the environment variable as there would be no container to bind the mounts in so it should already have access to them.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/komodo#7784