diff --git a/28/apache/Dockerfile b/28/apache/Dockerfile index a9e4f152..d63fb3a8 100644 --- a/28/apache/Dockerfile +++ b/28/apache/Dockerfile @@ -67,7 +67,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ diff --git a/28/fpm-alpine/Dockerfile b/28/fpm-alpine/Dockerfile index 5d0f0eb5..a7352299 100644 --- a/28/fpm-alpine/Dockerfile +++ b/28/fpm-alpine/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ diff --git a/28/fpm/Dockerfile b/28/fpm/Dockerfile index b4531eee..ae69769d 100644 --- a/28/fpm/Dockerfile +++ b/28/fpm/Dockerfile @@ -67,7 +67,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ diff --git a/29/apache/Dockerfile b/29/apache/Dockerfile index 874348e8..8e9316c9 100644 --- a/29/apache/Dockerfile +++ b/29/apache/Dockerfile @@ -67,7 +67,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ diff --git a/29/fpm-alpine/Dockerfile b/29/fpm-alpine/Dockerfile index bd0828e3..5344aed5 100644 --- a/29/fpm-alpine/Dockerfile +++ b/29/fpm-alpine/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ diff --git a/29/fpm/Dockerfile b/29/fpm/Dockerfile index 1b216522..a69317bb 100644 --- a/29/fpm/Dockerfile +++ b/29/fpm/Dockerfile @@ -67,7 +67,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ diff --git a/30/apache/Dockerfile b/30/apache/Dockerfile index abcd9e7c..b01d9611 100644 --- a/30/apache/Dockerfile +++ b/30/apache/Dockerfile @@ -67,7 +67,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ @@ -140,7 +140,7 @@ RUN { \ } > /etc/apache2/conf-available/apache-limits.conf; \ a2enconf apache-limits -ENV NEXTCLOUD_VERSION 30.0.0 +ENV NEXTCLOUD_VERSION 30.0.1 RUN set -ex; \ fetchDeps=" \ @@ -150,8 +150,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.0.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.0.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.1.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.1.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/30/fpm-alpine/Dockerfile b/30/fpm-alpine/Dockerfile index 9a553d78..a6197cc8 100644 --- a/30/fpm-alpine/Dockerfile +++ b/30/fpm-alpine/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ @@ -120,7 +120,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 30.0.0 +ENV NEXTCLOUD_VERSION 30.0.1 RUN set -ex; \ apk add --no-cache --virtual .fetch-deps \ @@ -128,8 +128,8 @@ RUN set -ex; \ gnupg \ ; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.0.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.0.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.1.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.1.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/30/fpm/Dockerfile b/30/fpm/Dockerfile index 2877c10e..9ab2e055 100644 --- a/30/fpm/Dockerfile +++ b/30/fpm/Dockerfile @@ -67,7 +67,7 @@ RUN set -ex; \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ - pecl install memcached-3.2.0; \ + pecl install memcached-3.3.0; \ pecl install redis-6.1.0; \ \ docker-php-ext-enable \ @@ -125,7 +125,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 30.0.0 +ENV NEXTCLOUD_VERSION 30.0.1 RUN set -ex; \ fetchDeps=" \ @@ -135,8 +135,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.0.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.0.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.1.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.1.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/README.md b/README.md index d8f41dcb..8e838a26 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,70 @@ $ docker compose exec --user www-data app php occ ``` ## 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 of the initial installation via environment variables. You can preconfigure everything that is usually asked on the install page on first run. + +In addition, support for adjusting several other key aspects of Nextcloud and the container's runtime environment are supported by the image. + +Keep in mind the intention is to auto configure initial installation. Only a few variables may be used after initial deployment (i.e. changing them in your Compose file may not flow through to an existing installation). + +All variables below, at a minimum, work at installation time. Some may be used after installation time and thus may override `config.php` and similar parameters. Specifics are noted in the tables below. Details about each variable follow the table. + +* Usage + - Install + - Post-install +* Dependencies +* Visibility + - `config.php` + - `occ config:list` +* Priority + - Overrides `config.php` +* Secret? +* Compatibility + - Rootless +* Injection method(s) + - `entrypoint.sh` to Server installer + - `autoconfig.php` to Server installer + + +| Environment Variable | Description | Example | Default | Secret[4] | Post-install[5] | Visibility | Notes | Method | +| :------------------: | :---------: | :-----: | :------ | :-------: | :-------------: | :--------: | ----- | ------ | +| SQLITE_DATABASE | Use SQLite as the database and use as the `dbname` | `ncdb` | Yes | No | No | `config.php` | Suitable to testing and minimal-instances only | Injected via `entrypoint.sh` to `occ maintenance:install` (when specified with `NEXTCLOUD_ADMIN_*`) otherwise via `autoconfig.php` | +| MYSQL_DATABASE | Use MySQL/MariaDB as the database and use as the `dbname` | `ncdb` | n/a | ✓ | No | `config.php` | Ignored unless all `MYSQL_*` variables are specified | Injected via `entrypoint.sh` to `occ maintenance:install` (when specified with `NEXTCLOUD_ADMIN_*`) otherwise via `autoconfig.php` | +| MYSQL_USER | the `dbuser` | `ncdbuser` | n/a | ✓ | No | `config.php` | See `MYSQL_DATABASE` | | +| MYSQL_PASSWORD | the `dbpass` | `ncdbpass` | n/a | ✓ | No | `config.php` | See `MYSQL_DATABASE` | | +| MYSQL_HOST | the `dbhost` | `db` or `localhost:/usr/local/run/mysql.sock` | n/a | ✓ | No | `config.php` | See `MYSQL_DATABASE` | | +| POSTGRES_DB | Use PostgreSQL as the database and use as the `dbname` | `ncdb` | n/a | ✓ | No | `config.php` | Ignored unless all `POSTGRES_*` variables are specified | Injected via `entrypoint.sh` to `occ maintenance:install` (when specified with `NEXTCLOUD_ADMIN_*`) otherwise via `autoconfig.php` | +| POSTGRES_USER | the `dbuser` | `ncdbuser` | n/a | ✓ | No | `config.php` | See `POSTGRES_DB` | | +| POSTGRES_PASSWORD | the `dbpass` | `ncdbpass` | n/a | ✓ | No | `config.php` | See `POSTGRES_DB` | | +| POSTGRES_HOST | the `dbhost` | `db` | n/a | ✓ | No | `config.php` | See `POSTGRES_DB` | | +| NEXTCLOUD_ADMIN_USER | the initial Nextcloud admin user | `ncadmin` | n/a | ✓ | No | Nextcloud Super `admin` group | Ignored unless `NEXTCLOUD_ADMIN_PASSWORD` + preferred database variables are specified | Injected via `entrypoint.sh` to `occ maintenance:install` | +| NEXTCLOUD_ADMIN_PASSWORD | the initial Nextcloud admin password | `ncadminpass` | n/a | ✓ | No | Nextcloud Super `admin` group | Ignored unless `NEXTCLOUD_ADMIN_USER` + preferred database variables are specified | Injected via `entrypoint.sh` to `occ maintenance:install` | +| NEXTCLOUD_DATA_DIR | data directory where nextcloud stores all files from the users | `/var/www/html/data` | `/var/www/html/data` | No | No | `config.php` | | Injected via `entrypoint.sh` to `occ maintenance:install` (when specified with `NEXTCLOUD_ADMIN_*` + db parameters; otherwise via `autoconfig.php` | +| NEXTCLOUD_TRUSTED_DOMAINS +| TRUSTED_PROXIES +| NEXTCLOUD_UPDATE +| NEXTCLOUD_INIT_HTACCESS +| REDIS_* +| SMTP_* +| MAIL_* +| OBJECTSTORE_* +| PHP_MEMORY_LIMIT +| PHP_UPLOAD_LIMIT +| APACHE_BODY_LIMIT +| APACHE_DISABLE_REWRITE_IP +| OVERWRITE* + + +[4] Can be specified as a Docker secret or pulled from a file available from within the container. See [#docker-secrets](Docker Secrets). + +[5] No = Installation only (i.e. cannot be modified post-installation via variable). + + + +--- + +Set your database connection via auto configuration using 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! __SQLite__: - `SQLITE_DATABASE` Name of the database using sqlite diff --git a/latest.txt b/latest.txt index 8dd5c17a..1c8398ee 100644 --- a/latest.txt +++ b/latest.txt @@ -1 +1 @@ -30.0.0 +30.0.1 diff --git a/versions.json b/versions.json index 241dc1c1..db86e255 100644 --- a/versions.json +++ b/versions.json @@ -1,9 +1,9 @@ { "30": { "branch": "30", - "version": "30.0.0", - "url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.0.tar.bz2", - "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.0.tar.bz2.asc", + "version": "30.0.1", + "url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.1.tar.bz2", + "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.1.tar.bz2.asc", "variants": { "apache": { "variant": "apache",