I did make some progress yesterday with Horilla.
Had a "working" version with the latest state of:
refusal of the media/ folder in its own web root
Refused in sense of, did the initial setup uploaded my company logo, which got placed into the media/ folder but returned 404
They provide a Dockerfile which I abridged with the Cloudron base image and python uv.
First time working styles and assets were missing, saw in the web console 404 for them.
Then I noticed an error on start where it complained about folder staticfiles/ missing.
So created it only to notice nothing changed only the startup error is now gone.
Then I took a look at their own entrypoint.sh and found:
python3 manage.py collectstatic --noinput
What is this? What does it do? Documentation > /dev/null
Did get some insight via:
uv run manage.py collectstatic --help
This collects all static files and places them in staticfiles/.
So now I had styles and assets. Yay.
So. It is documented that before running the server you need to run:
python3 manage.py makemigrations
python3 manage.py migrate
Is this dynamic on every run or can this be static in the image /app/code/?
It should be dynamic and static? 🤨
makemigrations sound like something you need to do before upgrading the software?
migrate could be run on every app startup, if nothing needs to be migrated it should do nothing.
This is all speculation since it is not documented.
Now outside the installation wiki for Ubuntu in the main README.md there is this section about:
Enable Translation
with
python3 manage.py compilemessages
So this is static? Right? Ehhhh looked like no.
Will need to investigate.
It seems this app could also be highly customized by the user with css/scss.
They are implementing dynamic styling => https://github.com/horilla-opensource/horilla/issues/658#issuecomment-2795889647
But as of now, I assume, this here is still valid https://github.com/horilla-opensource/horilla/issues/644#issuecomment-2760161068
Meaning, as of now, styling is done directly via:
sass static/src/scss/main.scss static/build/css/style.min.css
Meaning, a static file suddenly is dynamic. This is a big no no in the Cloudron app context.
Either files are readonly or readwrite and then rw in /app/data/ or /run /tmp and are volatile.
And now to another topic.
There is a settings.py which much more undocumented stuff which need to be edited to enable LDAP. . . .
See: https://github.com/horilla-opensource/horilla/issues/335#issuecomment-2712573285
Sooo much to see, much to do.