Docker image defaults to 1 worker because memory limits can not be established

When I start the backend server container (in Podman) I get the following error:

cat: /sys/fs/cgroup/memory/memory.limit_in_bytes: No such file or directory
using 1 worker(s) based on available memory ()..
starting server.
/usr/odk/./start-odk.sh: line 34: [: : integer expression expected

Checking for the file in the container indeed shows that memory.limit_in_bytes is not there, and when looking at the start-odk.sh line in question it shows that since it can't establish the memory available, it defaults to one worker instead of the normal 4 workers.

I guess I could modify the start-odk.sh to avoid this check, but I wonder if this is a quirk of my system because I use Podman instead of Docker, or if this might indeed be a bug.

Thanks!

It looks like odk.sh decides you’re on CGroupsV1 (which is becoming vanishingly rare, a modern system will have CGroupsV2, but to confuse things, there are “hybrid” setups as well).

What does stat -fc %T /sys/fs/cgroup/ report for you?

I wouldn’t worry too much about the number of workers. ODK performance is mostly database-bound; multiple workers are (in what I’ve seen so far) not super useful except in a few situations, and sometimes even detrimental to overall performance, because the memory they take up could be better used otherwise. You can find some more thoughts on this topic here .