With a default number of workers set to 150, the example apache
configuration will use over 4GB of RAM in the following, rather
likely, demonstration scenario:
* sync a directory with 1000 photos in one directory from a desktop to
nextCloud
* go to the web interface and quickly scroll down to the bottom of the
list of photos that were just uploaded
* apache will run as many apache workers as possible (150) to create
thumbnails and use over 4GB of RAM
The default number of workers is reduced to 30 which has been
experienced to fit in a 2GB virtual machine. It takes longer to
complete but does not trigger out of memory problems.
The `*/*/Dockerfile` are created from `Docker*template` by the
update.sh script. We add a comment at the beginning of the file with
information to find their origin. We also make them readonly to remind
people who would like to improve these files that they are not meant
to be modified.
This commit updates the directory permissions to be more compatible when
running the image without root f.e. on OpenShift or when specifying it
when running with `docker run --user www-data:root ...`.
It adds detection logic to the entrypoint script as sudo is not always
allowed.
This change in directory permissions was also proposed by the official
documentation, see https://github.com/nextcloud/documentation/commit/22e2530.
The `chown` before the volume definition is needed to prepare the volume
as it inherits the permissions.
refs https://github.com/nextcloud/docker/issues/107