Problem with update to 26.1
On this page
Problem
After updating to Relution 26.1, the Docker container no longer starts. The container log repeatedly shows the following error:
Exception in thread "main" java.lang.reflect.InvocationTargetException
Caused by: java.io.IOException: Permission denied
at java.base/java.io.File.createTempFile(File.java:2184)
at io.relution.boot.Main.checkTempDirectory(Main.java:291)
at io.relution.boot.Main.main(Main.java:216)
Root Cause
Version 26.1 introduced changes to the user ID used in the Relution container due to updates securtity best practices. The existing internal temp directory (/tmp)in the Docker volume is now owned by the wrong user, preventing the Relution service from gaining write access at startup. Unfortunately, this cannot be solved automatically.
On startup, the service checks access to the temp directory:
- If it is not present, it will be created fresh with the correct permissions.
- If it already exists, the service attempts to clear it — which fails with incorrect ownership.
Solution
The volume will be recreated with the following command.
docker compose up -d --force-recreate --renew-anon-volumes --no-deps relution
Replace
relutionwith the actual name of your compose service if a different one has been used.
After restarting, Relution will automatically recreate the relution.tmp directory with the correct permissions. The Permission denied error will no longer appear and the service will start normally.
Additional Notes
- This issue occurs only when updating from an older version to 26.1, as the directory already exists with outdated permissions.
- Fresh installations of version 26.1 are not affected.
- If the error persists after following these steps, check whether any additional volume mounts contain their own
tmpdirectories.