Node and PHP, upgrade process within container
-
Could someone confirm what version of Node and PHP we should be on and/or migrating to? I ask because I've had a significant amount of trouble with packages seemingly getting upgraded automatically. I'm aware of the need to upgrade PHP to at least 8.2 (within the Nextcloud container, anyway).
To be cautious, I disabled apt's Unattended Upgrade and Automatic Security Updates. As detailed in the Ubuntu documentation, it seems dependencies and whatnot are fair game if a security update requires it. That was before I realized this is more complex, as there's an isolated file system that runs within the Nextcloud Docker container.
I didn't see anything that would cause automatic updates as far as apt is concerned. My confusion partly stems from troubleshooting now-restored systems (thank goodness for "snapshots"). The
cloudron-support --troubleshoot
command appears to check the versions outside the container environment, while I couldn't get it to work at all inside the Nextcloud Docker shell.That doesn't make much sense, so I'm assuming I'm doing something wrong there.
Currently, my "exterior" packages for node and PHP are v20.17.0 and 8.3.6, respectively. The container environment reports node @ v18.18.0 and PHP @ 8.1.2. I make sure not to upgrade packages, so I'm assuming these are the default versions for Ubuntu 24.04.
Is there a suggested method for updating PHP or just apt install php8.3* (within the container)?
Appreciate the help!
-
So on Cloudron all apps run in isolated Docker containers. They do not have access or depend on the packages which are installed on the host system (the main Ubuntu system).
Since Cloudron does not use php on the platform side, it doesn't matter which php version is installed there. The host system should have ubuntu security updates enabled and ubuntu packages where specific versions are required for Cloudron will get updated by Cloudron platform updates.
Inside apps containers, the app run in a mostly read-only filesystem for various reasons, one being security reasons. So we are updating the dependencies based on the requirements of the app in question. Those will get delivered as app updates in Cloudron.
Generally there is never a reason to run
apt
manually with Cloudron. -
Yes that is handled by app package updates. We usually stay as close to what the upstream app recommends. Through the containerization, we can have different php (and other languages/framework/library) versions on the same system, depending on the individual app. This also means if you find a package using a wrong or by now outdated version, please let us know in that app section in the forum and we will see if and how to update those accordingly.