NEthserver 8 Modules Generator

I tried to build uptime-kuma using your nice module generator and it worked!

After creating the repo which uploaded the module I needed to do following changes:

I found that following is not working in ../actions/get-configuration/20read.
The last line needs to be intended correctly and there shouldn’t be an empty line in between.

if os.path.exists("uptime-kuma.env"):
        data = agent.read_envfile("uptime-kuma.env")
else:

json.dump(config, fp=sys.stdout)

In ../actions/configure-module/10configure_environment_vars I needed to comment out the following as there are no variables used.

uptime-kuma = {
}
agent.write_envfile("uptime-kuma.env", uptime-kuma)

A version tag with just one digit seems to not work in build-images.sh

docker.io/louislam/uptime-kuma:1

Working:

docker.io/louislam/uptime-kuma:1.23.16

Error:

2025-07-04T08:49:25+02:00 [1:update-kuma1:update-kuma1] Error: parsing reference "": repository name must have at least one component

EDIT:

I found that

podman pull docker.io/louislam/uptime-kuma:1

is working so maybe there was another issue…

Edit /home/uptime-kuma1/.config/systemd/user/uptime-kuma-app.service:

ExecStart=/usr/bin/podman run --conmon-pidfile %t/uptime-kuma-app.pid --cidfile %t/uptime-kuma-app.ctr-id --cgroups=no-conmon --pod-id-file %t/uptime-kuma.pod-id --replace -d --name uptime-kuma-app \ --volume ./uptime-kuma-data:/app/data --env uptime-kuma.env ${UPTIME-KUMA_IMAGE}

It should be UPTIME_KUMA_IMAGE, see Images | NS8 dev manual
As volume just use uptime-kuma-data instead of ./uptime-kuma-data to create a data volume.
If you use “./uptime-kuma-data” the directory needs to exist inside the state dir.
Auto-appending “:Z” to the volume would be nice too.

The right port needs to be set (3001 instead of 80), maybe this could be automated, the port is in the compose file.

Edit /home/uptime-kuma1/.config/systemd/user/uptime-kuma.service to set the port:

ExecStartPre=/usr/bin/podman pod create --infra-conmon-pidfile %t/uptime-kuma.pid --pod-id-file %t/uptime-kuma.pod-id --name uptime-kuma --publish 127.0.0.1:${TCP_PORT}:3001 --replace

Here are the needed changes, sorry for 2 commits, note to myself: amend before push

After configuring it in the app settings:

Create admin:

Uptime kuma is ready to use:

The module generator is great, it’s possible to create a basic module very fast.

1 Like