[bitnami/drupal] Release 11.3.3-debian-12-r4 (#91099)

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
Bitnami Bot
2026-02-25 10:08:33 +01:00
committed by GitHub
parent 74d2b2d56b
commit d61aa4eaa3
2 changed files with 11 additions and 253 deletions
+8 -6
View File
@@ -7,7 +7,7 @@ ARG DOWNLOADS_URL="downloads.bitnami.com/files/stacksmith"
ARG TARGETARCH
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
org.opencontainers.image.created="2026-02-18T12:39:42Z" \
org.opencontainers.image.created="2026-02-25T08:44:27Z" \
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/drupal/README.md" \
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/drupal" \
@@ -23,15 +23,16 @@ ENV HOME="/" \
COPY prebuildfs /
SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"]
# Install required system packages and dependencies
RUN install_packages acl ca-certificates curl gnupg libaudit1 libbrotli1 libbsd0 libbz2-1.0 libcap-ng0 libcom-err2 libcrypt1 libcurl4 libexpat1 libffi8 libfftw3-double3 libfontconfig1 libfreetype6 libgcc-s1 libgcrypt20 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libhashkit2 libhogweed6 libicu72 libidn2-0 libjpeg62-turbo libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblcms2-2 libldap-2.5-0 liblqr-1-0 libltdl7 liblzma5 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmd0 libmemcached11 libncurses6 libnettle8 libnghttp2-14 libonig5 libp11-kit0 libpam0g libpcre2-8-0 libpcre3 libpng16-16 libpq5 libpsl5 libreadline8 librtmp1 libsasl2-2 libsodium23 libsqlite3-0 libssh2-1 libssl3 libstdc++6 libsybdb5 libtasn1-6 libtidy5deb1 libtinfo6 libunistring2 libuuid1 libwebp7 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxslt1.1 libzip4 libzstd1 openssl procps unzip zlib1g
RUN install_packages acl ca-certificates curl gnupg libaudit1 libbrotli1 libbsd0 libbz2-1.0 libcap-ng0 libcom-err2 libcrypt1 libcurl4 libexpat1 libffi8 libfftw3-double3 libfontconfig1 libfreetype6 libgcc-s1 libgcrypt20 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libhashkit2 libhogweed6 libicu72 libidn2-0 libjpeg62-turbo libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblcms2-2 libldap-2.5-0 liblqr-1-0 libltdl7 liblzma5 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmd0 libmemcached11 libncurses6 libnettle8 libnghttp2-14 libonig5 libp11-kit0 libpam0g libpcre2-8-0 libpcre3 libpng16-16 libpsl5 libreadline8 librtmp1 libsasl2-2 libsodium23 libsqlite3-0 libssh2-1 libssl3 libstdc++6 libsybdb5 libtasn1-6 libtidy5deb1 libtinfo6 libunistring2 libuuid1 libwebp7 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxslt1.1 libzip4 libzstd1 openssl procps unzip zlib1g
RUN --mount=type=secret,id=downloads_url,env=SECRET_DOWNLOADS_URL \
DOWNLOADS_URL=${SECRET_DOWNLOADS_URL:-${DOWNLOADS_URL}} ; \
mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ || exit 1 ; \
COMPONENTS=( \
"render-template-1.0.9-162-linux-${OS_ARCH}-debian-12" \
"php-8.4.18-1-linux-${OS_ARCH}-debian-12" \
"php-8.4.18-4-linux-${OS_ARCH}-debian-12" \
"mysql-client-12.2.2-0-linux-${OS_ARCH}-debian-12" \
"libphp-8.4.18-0-linux-${OS_ARCH}-debian-12" \
"libphp-8.4.18-3-linux-${OS_ARCH}-debian-12" \
"postgresql-lib-18.3.0-0-linux-${OS_ARCH}-debian-12" \
"apache-2.4.66-0-linux-${OS_ARCH}-debian-12" \
"drupal-11.3.3-0-linux-${OS_ARCH}-debian-12" \
) ; \
@@ -60,8 +61,9 @@ ENV APACHE_HTTPS_PORT_NUMBER="" \
APACHE_HTTP_PORT_NUMBER="" \
APP_VERSION="11.3.3" \
BITNAMI_APP_NAME="drupal" \
IMAGE_REVISION="3" \
PATH="/opt/bitnami/common/bin:/opt/bitnami/php/bin:/opt/bitnami/php/sbin:/opt/bitnami/mysql/bin:/opt/bitnami/apache/bin:/opt/bitnami/drupal/vendor/bin:$PATH"
IMAGE_REVISION="4" \
LD_LIBRARY_PATH="/opt/bitnami/postgresql/lib:$LD_LIBRARY_PATH" \
PATH="/opt/bitnami/common/bin:/opt/bitnami/php/bin:/opt/bitnami/php/sbin:/opt/bitnami/mysql/bin:/opt/bitnami/postgresql-lib/bin:/opt/bitnami/apache/bin:/opt/bitnami/drupal/vendor/bin:$PATH"
EXPOSE 8080 8443
+3 -247
View File
@@ -71,127 +71,16 @@ docker build -t bitnami/APP:latest .
Drupal requires access to a MySQL or MariaDB database to store information. We'll use the [Bitnami Docker Image for MariaDB](https://github.com/bitnami/containers/tree/main/bitnami/mariadb) for the database requirements.
### Using the Docker Command Line
#### Step 1: Create a network
```console
docker network create drupal-network
```
#### Step 2: Create a volume for MariaDB persistence and create a MariaDB container
```console
$ docker volume create --name mariadb_data
docker run -d --name mariadb \
--env ALLOW_EMPTY_PASSWORD=yes \
--env MARIADB_USER=bn_drupal \
--env MARIADB_PASSWORD=bitnami \
--env MARIADB_DATABASE=bitnami_drupal \
--network drupal-network \
--volume mariadb_data:/bitnami/mariadb \
bitnami/mariadb:latest
```
#### Step 3: Create volumes for Drupal persistence and launch the container
```console
$ docker volume create --name drupal_data
docker run -d --name drupal \
-p 8080:8080 -p 8443:8443 \
--env ALLOW_EMPTY_PASSWORD=yes \
--env DRUPAL_DATABASE_USER=bn_drupal \
--env DRUPAL_DATABASE_PASSWORD=bitnami \
--env DRUPAL_DATABASE_NAME=bitnami_drupal \
--network drupal-network \
--volume drupal_data:/bitnami/drupal \
bitnami/drupal:latest
```
Access your application at `http://your-ip:8080/`
### Run the application using Docker Compose
```console
curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal/docker-compose.yml > docker-compose.yml
docker-compose up -d
```
Please be aware this file has not undergone internal testing. Consequently, we advise its use exclusively for development or testing purposes. For production-ready deployments, we highly recommend utilizing its associated [Bitnami Helm chart](https://github.com/bitnami/charts/tree/main/bitnami/drupal).
If you detect any issue in the `docker-compose.yaml` file, feel free to report it or contribute with a fix by following our [Contributing Guidelines](https://github.com/bitnami/containers/blob/main/CONTRIBUTING.md).
## Persisting your application
If you remove the container all your data will be lost, and the next time you run the image the database will be reinitialized. To avoid this loss of data, you should mount a volume that will persist even after the container is removed.
For persistence you should mount a directory at the `/bitnami/drupal` path. If the mounted directory is empty, it will be initialized on the first run. Additionally you should [mount a volume for persistence of the MariaDB data](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#persisting-your-database).
The above examples define the Docker volumes named mariadb_data and drupal_data. The Drupal application state will persist as long as volumes are not removed.
To avoid inadvertent removal of volumes, you can mount host directories as data volumes. Alternatively you can make use of volume plugins to host the volume data.
### Mount host directories as data volumes with Docker Compose
This requires a minor change to the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/drupal/docker-compose.yml) file present in this repository:
```diff
mariadb:
...
volumes:
- - mariadb_data:/bitnami/mariadb
+ - /path/to/mariadb-persistence:/bitnami/mariadb
...
drupal:
...
volumes:
- - drupal_data:/bitnami/drupal
+ - /path/to/drupal-persistence:/bitnami/drupal
...
-volumes:
- mariadb_data:
- driver: local
- drupal_data:
- driver: local
```
> NOTE: As this is a non-root container, the mounted files and directories must have the proper permissions for the UID `1001`.
### Mount host directories as data volumes using the Docker command line
#### Step 1: Create a network (if it does not exist)
```console
docker network create drupal-network
```
#### Step 2. Create a MariaDB container with host volume
```console
docker run -d --name mariadb \
--env ALLOW_EMPTY_PASSWORD=yes \
--env MARIADB_USER=bn_drupal \
--env MARIADB_PASSWORD=bitnami \
--env MARIADB_DATABASE=bitnami_drupal \
--network drupal-network \
--volume /path/to/mariadb-persistence:/bitnami/mariadb \
bitnami/mariadb:latest
```
#### Step 3. Create the Drupal container with host volumes
```console
docker run -d --name drupal \
-p 8080:8080 -p 8443:8443 \
--env ALLOW_EMPTY_PASSWORD=yes \
--env DRUPAL_DATABASE_USER=bn_drupal \
--env DRUPAL_DATABASE_PASSWORD=bitnami \
--env DRUPAL_DATABASE_NAME=bitnami_drupal \
--network drupal-network \
--volume /path/to/drupal-persistence:/bitnami/drupal \
bitnami/drupal:latest
```
## Configuration
### Environment variables
@@ -234,64 +123,11 @@ docker run -d --name drupal \
| `DRUPAL_DEFAULT_DATABASE_HOST` | Default database server host. | `mariadb` |
| `PHP_DEFAULT_MEMORY_LIMIT` | Default PHP memory limit. | `256M` |
When you start the Drupal image, you can adjust the configuration of the instance by passing one or more environment variables either on the docker-compose file or on the `docker run` command line. If you want to add a new environment variable:
When you start the Drupal image, you can adjust the configuration of the instance by passing one or more environment variables either on the docker-compose file or on the `docker run` command line.
- For docker-compose add the variable name and value under the application section in the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/drupal/docker-compose.yml) file present in this repository:
#### SMTP configuration
```yaml
drupal:
...
environment:
- DRUPAL_PASSWORD=my_password
...
```
- For manual execution add a `--env` option with each variable and value:
```console
docker run -d --name drupal -p 80:8080 -p 443:8443 \
--env DRUPAL_PASSWORD=my_password \
--network drupal-tier \
--volume /path/to/drupal-persistence:/bitnami \
bitnami/drupal:latest
```
#### Example
This would be an example of SMTP configuration using a Gmail account:
- Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/drupal/docker-compose.yml) file present in this repository:
```yaml
drupal:
...
environment:
- DRUPAL_DATABASE_USER=bn_drupal
- DRUPAL_DATABASE_NAME=bitnami_drupal
- ALLOW_EMPTY_PASSWORD=yes
- DRUPAL_SMTP_HOST=smtp.gmail.com
- DRUPAL_SMTP_PORT=587
- DRUPAL_SMTP_USER=your_email@gmail.com
- DRUPAL_SMTP_PASSWORD=your_password
- DRUPAL_SMTP_PROTOCOL=tls
...
```
- For manual execution:
```console
docker run -d --name drupal -p 80:8080 -p 443:8443 \
--env DRUPAL_DATABASE_USER=bn_drupal \
--env DRUPAL_DATABASE_NAME=bitnami_drupal \
--env DRUPAL_SMTP_HOST=smtp.gmail.com \
--env DRUPAL_SMTP_PORT=587 \
--env DRUPAL_SMTP_USER=your_email@gmail.com \
--env DRUPAL_SMTP_PASSWORD=your_password \
--env DRUPAL_SMTP_PROTOCOL=tls \
--network drupal-tier \
--volume /path/to/drupal-persistence:/bitnami \
bitnami/drupal:latest
```
The `DRUPAL_SMTP_*` environment variables allows you configure the SMTP settings in the application. Please take a look at the environment variables information above for more information.
### FIPS configuration in Bitnami Secure Images
@@ -366,44 +202,6 @@ For the Drupal container:
bitnami/drupal:latest
```
### Upgrade this image
Bitnami provides up-to-date versions of MariaDB and Drupal, including security patches, soon after they are made upstream. We recommend that you follow these steps to upgrade your container. We will cover here the upgrade of the Drupal container. For the MariaDB upgrade see: <https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image>
#### Step 1: Get the updated image
```console
docker pull bitnami/drupal:latest
```
#### Step 2: Stop the running container
Stop the currently running container using the command
```console
docker-compose stop drupal
```
#### Step 3: Take a snapshot of the application state
Follow the steps in [Backing up your container](#backing-up-your-container) to take a snapshot of the current application state.
#### Step 4: Remove the currently running container
Remove the currently running container by executing the following command:
```console
docker-compose rm -v drupal
```
#### Step 5: Run the new image
Update the image tag in `docker-compose.yml` and re-create your container with the new image:
```console
docker-compose up -d
```
## Customize this image
The Bitnami Drupal Docker image is designed to be extended so it can be used as the base image for your custom web applications.
@@ -425,48 +223,6 @@ FROM bitnami/drupal
...
```
Here is an example of extending the image with the following modifications:
- Install the `vim` editor
- Modify the Apache configuration file
- Modify the ports used by Apache
```Dockerfile
FROM bitnami/drupal
## Change user to perform privileged actions
USER 0
## Install 'vim'
RUN install_packages vim
## Revert to the original non-root user
USER 1001
## Enable mod_ratelimit module
RUN sed -i -r 's/#LoadModule ratelimit_module/LoadModule ratelimit_module/' /opt/bitnami/apache/conf/httpd.conf
## Modify the ports used by Apache by default
# It is also possible to change these environment variables at runtime
ENV APACHE_HTTP_PORT_NUMBER=8181
ENV APACHE_HTTPS_PORT_NUMBER=8143
EXPOSE 8181 8143
```
Based on the extended image, you can update the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/drupal/docker-compose.yml) file present in this repository to add other features:
```diff
drupal:
- image: bitnami/drupal:latest
+ build: .
ports:
- - 80:8080
- - 443:8443
+ - 80:8181
+ - 443:8143
environment:
+ - PHP_MEMORY_LIMIT=512m
...
```
## Notable Changes
## 8.9.2-debian-10-r3 and 9.0.2-debian-10-r3