mirror of
https://github.com/nextcloud/docker.git
synced 2025-07-27 17:08:05 +02:00
Compare commits
16 commits
9b6eb55635
...
a213828ae8
Author | SHA1 | Date | |
---|---|---|---|
|
a213828ae8 | ||
|
29d959acfd | ||
|
d3341b61c1 | ||
|
aaa667ad0d | ||
|
cb8afbbe60 | ||
|
090934d9b0 | ||
|
9b245ac4a1 | ||
|
24b6769682 | ||
|
7e188da4fa | ||
|
60f205abea | ||
|
e3dc1f3d62 | ||
|
9395077d11 | ||
|
abf51f1cd7 | ||
|
9b63f3e4dc | ||
|
abd813f5fb | ||
|
e72a9e97c5 |
22 changed files with 98 additions and 37 deletions
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -23,6 +23,7 @@ services:
|
||||||
- 127.0.0.1:8080:80
|
- 127.0.0.1:8080:80
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_HOST=db
|
- MYSQL_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
|
@ -37,6 +38,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
|
@ -21,6 +21,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_HOST=db
|
- MYSQL_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
|
@ -37,6 +38,7 @@ services:
|
||||||
- 127.0.0.1:8080:80
|
- 127.0.0.1:8080:80
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z,ro
|
- nextcloud:/var/www/html:z,ro
|
||||||
|
# NOTE: The `volumes` included here should match those of the `app` container (unless you know what you're doing)
|
||||||
depends_on:
|
depends_on:
|
||||||
- app
|
- app
|
||||||
|
|
||||||
|
@ -45,6 +47,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
|
@ -18,6 +18,7 @@ services:
|
||||||
- 127.0.0.1:8080:80
|
- 127.0.0.1:8080:80
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_HOST=db
|
- POSTGRES_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
|
@ -32,6 +33,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
|
@ -16,6 +16,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_HOST=db
|
- POSTGRES_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
|
@ -32,6 +33,7 @@ services:
|
||||||
- 127.0.0.1:8080:80
|
- 127.0.0.1:8080:80
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z,ro
|
- nextcloud:/var/www/html:z,ro
|
||||||
|
# NOTE: The `volumes` included here should match those of the `app` container (unless you know what you're doing)
|
||||||
depends_on:
|
depends_on:
|
||||||
- app
|
- app
|
||||||
|
|
||||||
|
@ -40,6 +42,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
|
@ -21,6 +21,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
environment:
|
environment:
|
||||||
- VIRTUAL_HOST=
|
- VIRTUAL_HOST=
|
||||||
- LETSENCRYPT_HOST=
|
- LETSENCRYPT_HOST=
|
||||||
|
@ -45,6 +46,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
|
@ -21,6 +21,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_HOST=db
|
- MYSQL_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
|
@ -36,6 +37,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z,ro
|
- nextcloud:/var/www/html:z,ro
|
||||||
|
# NOTE: The `volumes` included here should match those of the `app` container (unless you know what you're doing)
|
||||||
environment:
|
environment:
|
||||||
- VIRTUAL_HOST=
|
- VIRTUAL_HOST=
|
||||||
- LETSENCRYPT_HOST=
|
- LETSENCRYPT_HOST=
|
||||||
|
@ -51,6 +53,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
|
@ -16,6 +16,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
environment:
|
environment:
|
||||||
- VIRTUAL_HOST=
|
- VIRTUAL_HOST=
|
||||||
- LETSENCRYPT_HOST=
|
- LETSENCRYPT_HOST=
|
||||||
|
@ -37,6 +38,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
|
@ -18,6 +18,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_HOST=db
|
- POSTGRES_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
|
@ -33,6 +34,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z,ro
|
- nextcloud:/var/www/html:z,ro
|
||||||
|
# NOTE: The `volumes` included here should match those of the `app` container (unless you know what you're doing)
|
||||||
environment:
|
environment:
|
||||||
- VIRTUAL_HOST=
|
- VIRTUAL_HOST=
|
||||||
- LETSENCRYPT_HOST=
|
- LETSENCRYPT_HOST=
|
||||||
|
@ -48,6 +50,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html:z
|
- nextcloud:/var/www/html:z
|
||||||
|
# NOTE: The `volumes` config of the `cron` and `app` containers must match
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -14,8 +14,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
// required for some non Amazon S3 implementations
|
// required for some non Amazon S3 implementations
|
||||||
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
|
||||||
// required for older protocol versions
|
// required for older protocol versions
|
||||||
|
|
|
@ -88,15 +88,22 @@ RUN set -ex; \
|
||||||
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
||||||
ENV PHP_MEMORY_LIMIT 512M
|
ENV PHP_MEMORY_LIMIT 512M
|
||||||
ENV PHP_UPLOAD_LIMIT 512M
|
ENV PHP_UPLOAD_LIMIT 512M
|
||||||
|
ENV PHP_OPCACHE_INTERNED_STRINGS_BUFFER 32
|
||||||
|
ENV PHP_OPCACHE_MAX_ACCELERATED_FILES 10000
|
||||||
|
ENV PHP_OPCACHE_MEMORY_CONSUMPTION 128
|
||||||
|
ENV PHP_OPCACHE_SAVE_COMMENTS 1
|
||||||
|
ENV PHP_OPCACHE_REVALIDATE_FREQ 60
|
||||||
|
ENV PHP_OPCACHE_JIT 1255
|
||||||
|
ENV PHP_OPCACHE_JIT_BUFFER_SIZE 128M
|
||||||
RUN { \
|
RUN { \
|
||||||
echo 'opcache.enable=1'; \
|
echo 'opcache.enable=1'; \
|
||||||
echo 'opcache.interned_strings_buffer=32'; \
|
echo 'opcache.interned_strings_buffer=${PHP_OPCACHE_INTERNED_STRINGS_BUFFER}'; \
|
||||||
echo 'opcache.max_accelerated_files=10000'; \
|
echo 'opcache.max_accelerated_files=${PHP_OPCACHE_MAX_ACCELERATED_FILES}'; \
|
||||||
echo 'opcache.memory_consumption=128'; \
|
echo 'opcache.memory_consumption=${PHP_OPCACHE_MEMORY_CONSUMPTION}'; \
|
||||||
echo 'opcache.save_comments=1'; \
|
echo 'opcache.save_comments=${PHP_OPCACHE_SAVE_COMMENTS}'; \
|
||||||
echo 'opcache.revalidate_freq=60'; \
|
echo 'opcache.revalidate_freq=${PHP_OPCACHE_REVALIDATE_FREQ}'; \
|
||||||
echo 'opcache.jit=1255'; \
|
echo 'opcache.jit=${PHP_OPCACHE_JIT}'; \
|
||||||
echo 'opcache.jit_buffer_size=128M'; \
|
echo 'opcache.jit_buffer_size=${PHP_OPCACHE_JIT_BUFFER_SIZE}'; \
|
||||||
} > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \
|
} > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \
|
||||||
\
|
\
|
||||||
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
|
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
|
||||||
|
|
|
@ -20,6 +20,13 @@ RUN set -ex; \
|
||||||
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html
|
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html
|
||||||
ENV PHP_MEMORY_LIMIT 512M
|
ENV PHP_MEMORY_LIMIT 512M
|
||||||
ENV PHP_UPLOAD_LIMIT 512M
|
ENV PHP_UPLOAD_LIMIT 512M
|
||||||
|
ENV PHP_OPCACHE_INTERNED_STRINGS_BUFFER 32
|
||||||
|
ENV PHP_OPCACHE_MAX_ACCELERATED_FILES 10000
|
||||||
|
ENV PHP_OPCACHE_MEMORY_CONSUMPTION 128
|
||||||
|
ENV PHP_OPCACHE_SAVE_COMMENTS 1
|
||||||
|
ENV PHP_OPCACHE_REVALIDATE_FREQ 60
|
||||||
|
ENV PHP_OPCACHE_JIT 1255
|
||||||
|
ENV PHP_OPCACHE_JIT_BUFFER_SIZE 128M
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
\
|
\
|
||||||
savedAptMark="$(apt-mark showmanual)"; \
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
@ -95,13 +102,13 @@ RUN set -ex; \
|
||||||
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
||||||
RUN { \
|
RUN { \
|
||||||
echo 'opcache.enable=1'; \
|
echo 'opcache.enable=1'; \
|
||||||
echo 'opcache.interned_strings_buffer=32'; \
|
echo 'opcache.interned_strings_buffer=${PHP_OPCACHE_INTERNED_STRINGS_BUFFER}'; \
|
||||||
echo 'opcache.max_accelerated_files=10000'; \
|
echo 'opcache.max_accelerated_files=${PHP_OPCACHE_MAX_ACCELERATED_FILES}'; \
|
||||||
echo 'opcache.memory_consumption=128'; \
|
echo 'opcache.memory_consumption=${PHP_OPCACHE_MEMORY_CONSUMPTION}'; \
|
||||||
echo 'opcache.save_comments=1'; \
|
echo 'opcache.save_comments=${PHP_OPCACHE_SAVE_COMMENTS}'; \
|
||||||
echo 'opcache.revalidate_freq=60'; \
|
echo 'opcache.revalidate_freq=${PHP_OPCACHE_REVALIDATE_FREQ}'; \
|
||||||
echo 'opcache.jit=1255'; \
|
echo 'opcache.jit=${PHP_OPCACHE_JIT}'; \
|
||||||
echo 'opcache.jit_buffer_size=128M'; \
|
echo 'opcache.jit_buffer_size=${PHP_OPCACHE_JIT_BUFFER_SIZE}'; \
|
||||||
} > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \
|
} > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; \
|
||||||
\
|
\
|
||||||
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
|
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
|
||||||
|
|
29
README.md
29
README.md
|
@ -103,7 +103,8 @@ If mounting additional volumes under `/var/www/html`, you should consider:
|
||||||
You should note that data inside the main folder (`/var/www/html`) will be overridden/removed during installation and upgrades, unless listed in [upgrade.exclude](https://github.com/nextcloud/docker/blob/master/upgrade.exclude). The additional volumes officially supported are already in that list, but custom volumes will need to be added by you. We suggest mounting custom storage volumes outside of `/var/www/html` and if possible read-only so that making this adjustment is unnecessary. If you must do so, however, you may build a custom image with a modified `/upgrade.exclude` file that incorporates your custom volume(s).
|
You should note that data inside the main folder (`/var/www/html`) will be overridden/removed during installation and upgrades, unless listed in [upgrade.exclude](https://github.com/nextcloud/docker/blob/master/upgrade.exclude). The additional volumes officially supported are already in that list, but custom volumes will need to be added by you. We suggest mounting custom storage volumes outside of `/var/www/html` and if possible read-only so that making this adjustment is unnecessary. If you must do so, however, you may build a custom image with a modified `/upgrade.exclude` file that incorporates your custom volume(s).
|
||||||
|
|
||||||
|
|
||||||
## Using the Nextcloud command-line interface
|
## Using the Nextcloud command-line interface (`occ`)
|
||||||
|
|
||||||
To use the [Nextcloud command-line interface](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html) (aka. `occ` command):
|
To use the [Nextcloud command-line interface](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html) (aka. `occ` command):
|
||||||
```console
|
```console
|
||||||
$ docker exec --user www-data CONTAINER_ID php occ
|
$ docker exec --user www-data CONTAINER_ID php occ
|
||||||
|
@ -112,6 +113,23 @@ or for docker compose:
|
||||||
```console
|
```console
|
||||||
$ docker compose exec --user www-data app php occ
|
$ docker compose exec --user www-data app php occ
|
||||||
```
|
```
|
||||||
|
or even shorter:
|
||||||
|
```console
|
||||||
|
$ docker compose exec -u33 app ./occ
|
||||||
|
```
|
||||||
|
Note: substitute `82` for `33` if using the Alpine-based images.
|
||||||
|
|
||||||
|
## Viewing the Nextcloud configuration (`config.php`)
|
||||||
|
|
||||||
|
The image takes advantage of Nextcloud's [Multiple config.php support](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#multiple-config-php-file) to inject auto configuration environment variables and set image specific config values.
|
||||||
|
|
||||||
|
This means that merely viewing your `config.php` will not give you an accurate view of your running config. Instead, you should use Nextcloud's [`occ config:list system` command](https://docs.nextcloud.com/server/latest/admin_manual/occ_command.html#config-commands-label) to get get a complete view of your merged configuration. This has the added benefit of automatically omitting sensitive values such as passwords and secrets from the output by default (e.g. useful for shared publicly or assisting others when troubleshooting or reporting a bug).
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker compose exec -u33 app ./occ config:list system
|
||||||
|
```
|
||||||
|
|
||||||
|
The `--private` flag can also be specified, in order to output all configuration values including passwords and secrets.
|
||||||
|
|
||||||
## Auto configuration via environment variables
|
## Auto configuration via environment variables
|
||||||
The Nextcloud image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. You must specify all of the environment variables for a given database or the database environment variables defaults to SQLITE. ONLY use one database type!
|
The Nextcloud image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. You must specify all of the environment variables for a given database or the database environment variables defaults to SQLITE. ONLY use one database type!
|
||||||
|
@ -216,6 +234,15 @@ To customize Apache max file upload limit you can change the following variable:
|
||||||
- `APACHE_BODY_LIMIT` (default `1073741824` [1GiB]) This restricts the total
|
- `APACHE_BODY_LIMIT` (default `1073741824` [1GiB]) This restricts the total
|
||||||
size of the HTTP request body sent from the client. It specifies the number of _bytes_ that are allowed in a request body. A value of **0** means **unlimited**. Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#apache) for more information.
|
size of the HTTP request body sent from the client. It specifies the number of _bytes_ that are allowed in a request body. A value of **0** means **unlimited**. Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#apache) for more information.
|
||||||
|
|
||||||
|
To customize OPcache parameters you can change the following variables:
|
||||||
|
- `PHP_OPCACHE_INTERNED_STRINGS_BUFFER` (default `32`) The amount of memory used to store interned strings, in megabytes.
|
||||||
|
- `PHP_OPCACHE_MAX_ACCELERATED_FILES` (default `10000`) The maximum number of keys (and therefore scripts) in the OPcache hash table. The actual value used will be the first number in the set of prime numbers { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 } that is greater than or equal to the configured value. The minimum value is 200. The maximum value is 1000000. Values outside of this range are clamped to the permissible range.
|
||||||
|
- `PHP_OPCACHE_MEMORY_CONSUMPTION` (default `128`) The size of the shared memory storage used by OPcache, in megabytes. The minimum permissible value is "8", which is enforced if a smaller value is set.
|
||||||
|
- `PHP_OPCACHE_SAVE_COMMENT` (default `1`) If disabled, all documentation comments will be discarded from the opcode cache to reduce the size of the optimised code. Disabling this configuration directive may break applications and frameworks that rely on comment parsing for annotations, including Doctrine, Zend Framework 2 and PHPUnit.
|
||||||
|
- `PHP_OPCACHE_REVALIDATE_FREQ` (default `60`) How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.
|
||||||
|
- `PHP_OPCACHE_JIT` (default `1255`) This set JIT configuration mode. Check the [OPcache JIT configuration](https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.jit) for more information.
|
||||||
|
- `PHP_OPCACHE_JIT_BUFFER_SIZE` (default `128M`) The amount of shared memory to reserve for compiled JIT code. A zero value disables the JIT.
|
||||||
|
|
||||||
### Auto configuration and Nextcloud updates
|
### Auto configuration and Nextcloud updates
|
||||||
The image comes with special config files for Nextcloud that set parameters specific to containerized usage (e.g. `upgrade-disable-web.config.php`) or enable auto configuration via environment variables (e.g. `reverse-proxy.config.php`). Within the image, the latest version of these config files are located in `/usr/src/nextcloud/config`.
|
The image comes with special config files for Nextcloud that set parameters specific to containerized usage (e.g. `upgrade-disable-web.config.php`) or enable auto configuration via environment variables (e.g. `reverse-proxy.config.php`). Within the image, the latest version of these config files are located in `/usr/src/nextcloud/config`.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
stable_channel='29.0.7'
|
stable_channel='30.0.1'
|
||||||
|
|
||||||
self="$(basename "$BASH_SOURCE")"
|
self="$(basename "$BASH_SOURCE")"
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue