From 1bf2e95f05b437a564448020ae552353c4cb1e9a Mon Sep 17 00:00:00 2001 From: Thomas Clavier Date: Sat, 23 Jul 2022 18:36:02 +0200 Subject: [PATCH 1/6] Configure pm.max_children from env var Signed-off-by: Thomas Clavier --- 25/apache/Dockerfile | 2 ++ 25/fpm/Dockerfile | 2 ++ 26/apache/Dockerfile | 2 ++ 26/fpm/Dockerfile | 2 ++ 27/apache/Dockerfile | 2 ++ 27/fpm/Dockerfile | 2 ++ Dockerfile-debian.template | 2 ++ 7 files changed, 14 insertions(+) diff --git a/25/apache/Dockerfile b/25/apache/Dockerfile index 2c27d014..6820aa51 100644 --- a/25/apache/Dockerfile +++ b/25/apache/Dockerfile @@ -21,6 +21,7 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M +ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -108,6 +109,7 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ + echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/25/fpm/Dockerfile b/25/fpm/Dockerfile index 910f54d3..9d657f6b 100644 --- a/25/fpm/Dockerfile +++ b/25/fpm/Dockerfile @@ -21,6 +21,7 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M +ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -108,6 +109,7 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ + echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/26/apache/Dockerfile b/26/apache/Dockerfile index a6b125cf..36d20dc8 100644 --- a/26/apache/Dockerfile +++ b/26/apache/Dockerfile @@ -21,6 +21,7 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M +ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -109,6 +110,7 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ + echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/26/fpm/Dockerfile b/26/fpm/Dockerfile index e3608e6e..e1548088 100644 --- a/26/fpm/Dockerfile +++ b/26/fpm/Dockerfile @@ -21,6 +21,7 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M +ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -109,6 +110,7 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ + echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/27/apache/Dockerfile b/27/apache/Dockerfile index 5fb93a29..d62295fa 100644 --- a/27/apache/Dockerfile +++ b/27/apache/Dockerfile @@ -21,6 +21,7 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M +ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -109,6 +110,7 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ + echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/27/fpm/Dockerfile b/27/fpm/Dockerfile index d183f371..c8f69ca3 100644 --- a/27/fpm/Dockerfile +++ b/27/fpm/Dockerfile @@ -21,6 +21,7 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M +ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -109,6 +110,7 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ + echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index cea5d93b..ebd9b17e 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -20,6 +20,7 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M +ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -108,6 +109,7 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ + echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ From 6a301fb1d62d004a0feed25f494fcf6948bf11ca Mon Sep 17 00:00:00 2001 From: Thomas Clavier Date: Thu, 26 Oct 2023 11:26:53 +0200 Subject: [PATCH 2/6] Revert "Configure pm.max_children from env var" This reverts commit 4ce703efa64958f8e719575af899ba57c32f104b. Signed-off-by: Thomas Clavier --- 25/apache/Dockerfile | 2 -- 25/fpm/Dockerfile | 2 -- 26/apache/Dockerfile | 2 -- 26/fpm/Dockerfile | 2 -- 27/apache/Dockerfile | 2 -- 27/fpm/Dockerfile | 2 -- Dockerfile-debian.template | 2 -- 7 files changed, 14 deletions(-) diff --git a/25/apache/Dockerfile b/25/apache/Dockerfile index 6820aa51..2c27d014 100644 --- a/25/apache/Dockerfile +++ b/25/apache/Dockerfile @@ -21,7 +21,6 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M -ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -109,7 +108,6 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ - echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/25/fpm/Dockerfile b/25/fpm/Dockerfile index 9d657f6b..910f54d3 100644 --- a/25/fpm/Dockerfile +++ b/25/fpm/Dockerfile @@ -21,7 +21,6 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M -ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -109,7 +108,6 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ - echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/26/apache/Dockerfile b/26/apache/Dockerfile index 36d20dc8..a6b125cf 100644 --- a/26/apache/Dockerfile +++ b/26/apache/Dockerfile @@ -21,7 +21,6 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M -ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -110,7 +109,6 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ - echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/26/fpm/Dockerfile b/26/fpm/Dockerfile index e1548088..e3608e6e 100644 --- a/26/fpm/Dockerfile +++ b/26/fpm/Dockerfile @@ -21,7 +21,6 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M -ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -110,7 +109,6 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ - echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/27/apache/Dockerfile b/27/apache/Dockerfile index d62295fa..5fb93a29 100644 --- a/27/apache/Dockerfile +++ b/27/apache/Dockerfile @@ -21,7 +21,6 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M -ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -110,7 +109,6 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ - echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/27/fpm/Dockerfile b/27/fpm/Dockerfile index c8f69ca3..d183f371 100644 --- a/27/fpm/Dockerfile +++ b/27/fpm/Dockerfile @@ -21,7 +21,6 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M -ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -110,7 +109,6 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ - echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index ebd9b17e..cea5d93b 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -20,7 +20,6 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M -ENV PHP_PM_MAX_CHILDREN 16 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ @@ -109,7 +108,6 @@ RUN { \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \ - echo 'pm.max_children = ${PHP_PM_MAX_CHILDREN}'; \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ From f5f23fcebfa28b316503cdd4fb8aed1f6eefab9e Mon Sep 17 00:00:00 2001 From: Thomas Clavier Date: Thu, 26 Oct 2023 13:16:19 +0200 Subject: [PATCH 3/6] use PHP_FPM_DIR and PHP_PM_MAX_CHILDREN vars Signed-off-by: Thomas Clavier --- update.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/update.sh b/update.sh index f5e6f019..13669110 100755 --- a/update.sh +++ b/update.sh @@ -30,8 +30,8 @@ declare -A base=( declare -A extras=( [apache]='\nRUN a2enmod headers rewrite remoteip ; \\\n { \\\n echo '\''RemoteIPHeader X-Real-IP'\''; \\\n echo '\''RemoteIPInternalProxy 10.0.0.0/8'\''; \\\n echo '\''RemoteIPInternalProxy 172.16.0.0/12'\''; \\\n echo '\''RemoteIPInternalProxy 192.168.0.0/16'\''; \\\n } > /etc/apache2/conf-available/remoteip.conf; \\\n a2enconf remoteip\n\n# set apache config LimitRequestBody\nENV APACHE_BODY_LIMIT 1073741824\nRUN { \\\n echo '\''LimitRequestBody ${APACHE_BODY_LIMIT}'\''; \\\n } > /etc/apache2/conf-available/apache-limits.conf; \\\n a2enconf apache-limits' - [fpm]='' - [fpm-alpine]='' + [fpm]='\nENV PHP_PM_MAX_CHILDREN 16\nRUN {\\\n echo'\''pm = pm=dynamic'\''; \\\n echo'\''pm.start_servers = 4'\''; \\\n echo'\''pm.min_spare_servers = 2'\''; \\\n echo'\''pm.max_spare_servers = 24'\''; \\\n echo'\''pm.max_children = ${PHP_PM_MAX_CHILDREN}'\''; \\\n } > "${PHP_FPM_DIR}/nextcloud.conf";\n' + [fpm-alpine]='\nENV PHP_PM_MAX_CHILDREN 16\nRUN {\\\n echo'\''pm = pm=dynamic'\''; \\\n echo'\''pm.start_servers = 4'\''; \\\n echo'\''pm.min_spare_servers = 2'\''; \\\n echo'\''pm.max_spare_servers = 24'\''; \\\n echo'\''pm.max_children = ${PHP_PM_MAX_CHILDREN}'\''; \\\n } > "${PHP_FPM_DIR}/nextcloud.conf";\n' ) declare -A crontab_int=( From 53c3162c831d009ffe67dc50ff7229c9456664d4 Mon Sep 17 00:00:00 2001 From: Kaloyan Nikolov Date: Thu, 17 Oct 2024 22:17:18 +0300 Subject: [PATCH 4/6] Clarify Readme on bind volumes Signed-off-by: Kaloyan Nikolov --- README.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d8f41dcb..eaf4940f 100644 --- a/README.md +++ b/README.md @@ -87,13 +87,36 @@ If you want to use named volumes for all of these, it would look like this: ```console $ docker run -d \ -v nextcloud:/var/www/html \ --v apps:/var/www/html/custom_apps \ +-v custom_apps:/var/www/html/custom_apps \ -v config:/var/www/html/config \ -v data:/var/www/html/data \ -v theme:/var/www/html/themes/ \ nextcloud ``` +If you'd prefer to use bind mounts instead of named volumes, for instance, when working with different device or network mounts for user data files and configuration: +```console +$ docker run -d \ +-v $(pwd)/nextcloud:/var/www/html \ +-v $(pwd)/custom_apps:/var/www/html/custom_apps \ +-v $(pwd)/config:/var/www/html/config \ +-v $(pwd)/data:/var/www/html/data \ +-v $(pwd)/theme:/var/www/html/themes/ \ +nextcloud +``` + +Here’s the same example using Docker's more detailed `--mount`. Note that with `-v` or `--volume`, the specified folders are created automatically if they don't exist. However, when using `--mount` for bind mounts, the directories must already exist on the host, or Docker will return an error. +```console +$ docker run -d \ +--mount type=bind,source=$(pwd)/nextcloud,target=/var/www/html \ +--mount type=bind,source=$(pwd)/custom_apps,target=/var/www/html/custom_apps \ +--mount type=bind,source=$(pwd)/config,target=/var/www/html/config \ +--mount type=bind,source=$(pwd)/data,target=/var/www/html/data \ +--mount type=bind,source=$(pwd)/theme,target=/var/www/html/themes/ \ +nextcloud +``` +The examples above use the current directory for bind mounts. If this isn't suitable, you can modify the paths by using either a relative or absolute path. Additionally, do not mix the `apps` and `custom_apps` folders. These folders contain different sets of apps, and mixing them will result in a broken installation. While upgrades\recovery may sometimes still be possible, this configuration is likely to cause issues. + ### Custom volumes If mounting additional volumes under `/var/www/html`, you should consider: From 0ee77f1a929147dc6ab9a50a32a699f377cd4d0b Mon Sep 17 00:00:00 2001 From: Kaloyan Nikolov Date: Tue, 22 Oct 2024 02:02:06 +0300 Subject: [PATCH 5/6] Clarify apps and custom_apps Co-authored-by: Josh Signed-off-by: Kaloyan Nikolov --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index eaf4940f..bbe7ee7b 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,9 @@ $ docker run -d \ --mount type=bind,source=$(pwd)/theme,target=/var/www/html/themes/ \ nextcloud ``` -The examples above use the current directory for bind mounts. If this isn't suitable, you can modify the paths by using either a relative or absolute path. Additionally, do not mix the `apps` and `custom_apps` folders. These folders contain different sets of apps, and mixing them will result in a broken installation. While upgrades\recovery may sometimes still be possible, this configuration is likely to cause issues. +The examples above use the current directory for bind mounts. If this isn't suitable, you can modify the paths by using either a relative or absolute path. + +NOTE: Do not confuse the `apps` and `custom_apps` folders. These folders contain different sets of apps, and mixing them will result in a broken installation. The former contains "shipped" apps, which come with Nextcloud Server. The latter contains apps you install from the App Store. ### Custom volumes From daea70d768f055118aff61f3aeaea3b43242b06d Mon Sep 17 00:00:00 2001 From: Kaloyan Nikolov Date: Tue, 12 Nov 2024 23:25:14 +0200 Subject: [PATCH 6/6] Replace bind mounts with figurative path Signed-off-by: Kaloyan Nikolov --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index bbe7ee7b..60762b62 100644 --- a/README.md +++ b/README.md @@ -97,25 +97,25 @@ nextcloud If you'd prefer to use bind mounts instead of named volumes, for instance, when working with different device or network mounts for user data files and configuration: ```console $ docker run -d \ --v $(pwd)/nextcloud:/var/www/html \ --v $(pwd)/custom_apps:/var/www/html/custom_apps \ --v $(pwd)/config:/var/www/html/config \ --v $(pwd)/data:/var/www/html/data \ --v $(pwd)/theme:/var/www/html/themes/ \ +-v /path/on/host/to/folder/nextcloud:/var/www/html \ +-v /path/on/host/to/folder/custom_apps:/var/www/html/custom_apps \ +-v /path/on/host/to/folder/config:/var/www/html/config \ +-v /path/on/host/to/folder/data:/var/www/html/data \ +-v /path/on/host/to/folder/theme:/var/www/html/themes/ \ nextcloud ``` Here’s the same example using Docker's more detailed `--mount`. Note that with `-v` or `--volume`, the specified folders are created automatically if they don't exist. However, when using `--mount` for bind mounts, the directories must already exist on the host, or Docker will return an error. ```console $ docker run -d \ ---mount type=bind,source=$(pwd)/nextcloud,target=/var/www/html \ ---mount type=bind,source=$(pwd)/custom_apps,target=/var/www/html/custom_apps \ ---mount type=bind,source=$(pwd)/config,target=/var/www/html/config \ ---mount type=bind,source=$(pwd)/data,target=/var/www/html/data \ ---mount type=bind,source=$(pwd)/theme,target=/var/www/html/themes/ \ +--mount type=bind,source=/path/on/host/to/folder/nextcloud,target=/var/www/html \ +--mount type=bind,source=/path/on/host/to/folder/custom_apps,target=/var/www/html/custom_apps \ +--mount type=bind,source=/path/on/host/to/folder/config,target=/var/www/html/config \ +--mount type=bind,source=/path/on/host/to/folder/data,target=/var/www/html/data \ +--mount type=bind,source=/path/on/host/to/folder/theme,target=/var/www/html/themes/ \ nextcloud ``` -The examples above use the current directory for bind mounts. If this isn't suitable, you can modify the paths by using either a relative or absolute path. +The examples above use figurative directory `/path/on/host/to/folder/` for bind mounts. Please modify the paths by using either a relative or absolute path. NOTE: Do not confuse the `apps` and `custom_apps` folders. These folders contain different sets of apps, and mixing them will result in a broken installation. The former contains "shipped" apps, which come with Nextcloud Server. The latter contains apps you install from the App Store.