In some cases it may be needed to adapt the PHP settings of the Nextcloud installed from the Univention Appcenter. For instance, you want to raise the PHP limit for uploading files from 2 to 20MB.
Whereas the majority of the nextcloud settings can be set via the files located under:
/var/lib/univention-appcenter/apps/nextcloud/, some stay “hidden” inside the app container.
For smaller tests it is sufficient to connect to the container using
univention-app shell nextcloud and edit the files manually, but this is not safe for future updates etc.
Therefore, we are going to extend the nextcloud docker container by attaching an extra volume with our customizations.
It is required that nextcloud is not installed, otherwise we have to reinstall it later.
1. Create a custom php.ini
For our example, we want to create our custom files under
/usr/share/nextcloud/, so first create this folder using
Then, create your custom settings under
[PHP] engine = On ... ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir ;upload_tmp_dir = ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 20M ; Maximum number of files that can be uploaded via a single request max_file_uploads = 20 ...
... indicate skips of unrelevant parts. Don’t just copy and paste the example above.
Now we want this file to replace the one used inside the app container…
2. Link this file as a volume to the nextcloud docker container
Now we set an UCR variable to link our file inside the (not yet existing) docker container:
ucr set appcenter/apps/nextcloud/docker/params='-v /usr/share/nextcloud/php.ini:/etc/php/7.2/apache2/php.ini:ro'
It is important to do this before the installation of the nextcloud app, otherwise the file won’t be linked.
It is also possible to link more files or whole folders, but be careful that the path inside the container is correctly and that things may change during updates.
3. Install the Nextcloud app
Now you can install the nextcloud app by
univention-app install nextcloud
4. Make sure it works
To check if it works, just connect to your running nextcloud instance and check the changes in the php.ini:
univention-app shell nextcloud
cat /etc/php/7.2/apache2/php.ini | grep upload_max
Which should be
If you make changes to your custom file, just restart the container by
univention-app restart nextcloud to apply your change inside the app container.
Have a successful time with your UCS system