From 93b0b0ef9802d7cbe20fee1ea0557b0fcef115c9 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Thu, 11 Jan 2024 17:23:28 +0100 Subject: [PATCH] [bitnami/rabbitmq] Release 3.10.25-debian-11-r78 (#54696) Signed-off-by: Bitnami Containers --- bitnami/rabbitmq/3.10/debian-11/Dockerfile | 4 +- .../debian-11/prebuildfs/usr/sbin/run-script | 2 +- bitnami/rabbitmq/README.md | 128 ++++++++++-------- 3 files changed, 71 insertions(+), 63 deletions(-) diff --git a/bitnami/rabbitmq/3.10/debian-11/Dockerfile b/bitnami/rabbitmq/3.10/debian-11/Dockerfile index 3a4a051e3da1..6c8b629f7d24 100644 --- a/bitnami/rabbitmq/3.10/debian-11/Dockerfile +++ b/bitnami/rabbitmq/3.10/debian-11/Dockerfile @@ -7,10 +7,10 @@ ARG TARGETARCH LABEL com.vmware.cp.artifact.flavor="sha256:1e1b4657a77f0d47e9220f0c37b9bf7802581b93214fff7d1bd2364c8bf22e8e" \ org.opencontainers.image.base.name="docker.io/bitnami/minideb:bullseye" \ - org.opencontainers.image.created="2023-12-24T09:55:35Z" \ + org.opencontainers.image.created="2024-01-11T15:48:38Z" \ org.opencontainers.image.description="Application packaged by VMware, Inc" \ org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.ref.name="3.10.25-debian-11-r77" \ + org.opencontainers.image.ref.name="3.10.25-debian-11-r78" \ org.opencontainers.image.title="rabbitmq" \ org.opencontainers.image.vendor="VMware, Inc." \ org.opencontainers.image.version="3.10.25" diff --git a/bitnami/rabbitmq/3.10/debian-11/prebuildfs/usr/sbin/run-script b/bitnami/rabbitmq/3.10/debian-11/prebuildfs/usr/sbin/run-script index b7a5bf1e50bf..4ca0f897277e 100755 --- a/bitnami/rabbitmq/3.10/debian-11/prebuildfs/usr/sbin/run-script +++ b/bitnami/rabbitmq/3.10/debian-11/prebuildfs/usr/sbin/run-script @@ -10,7 +10,7 @@ fi script=$1 exit_code="${2:-96}" -fail_if_not_present="${3:-y}" +fail_if_not_present="${3:-n}" if test -f "$script"; then sh $script diff --git a/bitnami/rabbitmq/README.md b/bitnami/rabbitmq/README.md index eddf8aff9c6e..524571e6e9af 100644 --- a/bitnami/rabbitmq/README.md +++ b/bitnami/rabbitmq/README.md @@ -160,7 +160,72 @@ docker-compose up -d ### Environment variables - When you start the rabbitmq 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: +| Name | Description | Default Value | Can be set | +|-------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|------------| +| `$RABBITMQ_VOLUME_DIR` | Persistence base directory. | `/bitnami/rabbitmq` | | +| `$RABBITMQ_BASE_DIR` | RabbitMQ installation directory. | `/opt/bitnami/rabbitmq` | | +| `$RABBITMQ_BIN_DIR` | RabbitMQ executables directory. | `${RABBITMQ_BASE_DIR}/sbin` | | +| `$RABBITMQ_DATA_DIR` | RabbitMQ data directory. | `${RABBITMQ_VOLUME_DIR}/mnesia` | | +| `$RABBITMQ_CONF_DIR` | RabbitMQ configuration directory. | `${RABBITMQ_BASE_DIR}/etc/rabbitmq` | | +| `$RABBITMQ_CONF_FILE` | RabbitMQ configuration file. | `${RABBITMQ_CONF_DIR}/rabbitmq.conf` | ✓ | +| `$RABBITMQ_CONF_ENV_FILE` | RabbitMQ configuration file for environment variables. | `${RABBITMQ_CONF_DIR}/rabbitmq-env.conf` | | +| `$RABBITMQ_HOME_DIR` | RabbitMQ home directory. | `${RABBITMQ_BASE_DIR}/.rabbitmq` | | +| `$RABBITMQ_LIB_DIR` | RabbitMQ lib directory. | `${RABBITMQ_BASE_DIR}/var/lib/rabbitmq` | | +| `$RABBITMQ_INITSCRIPTS_DIR` | RabbitMQ init scripts directory. | `/docker-entrypoint-initdb.d` | | +| `$RABBITMQ_LOGS_DIR` | RabbitMQ logs directory. | `${RABBITMQ_BASE_DIR}/var/log/rabbitmq` | | +| `$RABBITMQ_DEFINITIONS_FILE` | Whether to load external RabbitMQ definitions. This is incompatible with setting the RabbitMQ password securely. | `/app/load_definition.json` | ✓ | +| `$RABBITMQ_TMP_DIR` | RabbitMQ directory for temporary runtime files. | `${RABBITMQ_BASE_DIR}/var/run/rabbitmq` | | +| `$RABBITMQ_PID_FILE` | RabbitMQ PID file. | `${RABBITMQ_TMP_DIR}/broker.pid` | | +| `$RABBITMQ_PLUGINS_DIR` | RabbitMQ plugins directory. | `${RABBITMQ_BASE_DIR}/plugins` | | +| `$RABBITMQ_MOUNTED_CONF_DIR` | RabbitMQ directory for mounted configuration files. | `${RABBITMQ_VOLUME_DIR}/conf` | | +| `$RABBITMQ_DAEMON_USER` | RabbitMQ system user name. | `rabbitmq` | | +| `$RABBITMQ_DAEMON_GROUP` | RabbitMQ system user group. | `rabbitmq` | | +| `$RABBITMQ_SECURE_PASSWORD` | Whether to set the RabbitMQ password securely. This is incompatible with loading external RabbitMQ definitions. | `no` | ✓ | +| `$RABBITMQ_CLUSTER_NODE_NAME` | RabbitMQ cluster node name. When specifying this, ensure you also specify a valid hostname as RabbitMQ will fail to start otherwise. | | ✓ | +| `$RABBITMQ_CLUSTER_PARTITION_HANDLING` | RabbitMQ cluster partition recovery mechanism. | `ignore` | ✓ | +| `$RABBITMQ_DISK_FREE_RELATIVE_LIMIT` | Disk relative free space limit of the partition on which RabbitMQ is storing data. | `1.0` | ✓ | +| `$RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT` | Disk absolute free space limit of the partition on which RabbitMQ is storing data (takes precedence over the relative limit). | | ✓ | +| `$RABBITMQ_ERL_COOKIE` | Erlang cookie to determine whether different nodes are allowed to communicate with each other. | | ✓ | +| `$RABBITMQ_VM_MEMORY_HIGH_WATERMARK` | High memory watermark for RabbitMQ to block publishers and prevent new messages from being enqueued. Can be specified as an absolute or relative value (as percentage or value between 0 and 1). | | ✓ | +| `$RABBITMQ_LOAD_DEFINITIONS` | Whether to load external RabbitMQ definitions. This is incompatible with setting the RabbitMQ password securely. | `no` | ✓ | +| `$RABBITMQ_MANAGEMENT_BIND_IP` | RabbitMQ management server bind IP address. | `0.0.0.0` | ✓ | +| `$RABBITMQ_MANAGEMENT_PORT_NUMBER` | RabbitMQ management server port number. | `15672` | ✓ | +| `$RABBITMQ_MANAGEMENT_ALLOW_WEB_ACCESS` | Allow web access to RabbitMQ management portal for RABBITMQ_USERNAME | `false` | ✓ | +| `$RABBITMQ_NODE_NAME` | RabbitMQ node name. | `rabbit@localhost` | ✓ | +| `$RABBITMQ_USE_LONGNAME` | Whether to use fully qualified names to identify nodes | `false` | ✓ | +| `$RABBITMQ_NODE_PORT_NUMBER` | RabbitMQ node port number. | `5672` | ✓ | +| `$RABBITMQ_NODE_TYPE` | RabbitMQ node type. | `stats` | ✓ | +| `$RABBITMQ_VHOST` | RabbitMQ vhost. | `/` | ✓ | +| `$RABBITMQ_VHOSTS` | List of additional virtual host (vhost). | | ✓ | +| `$RABBITMQ_CLUSTER_REBALANCE` | Rebalance the RabbitMQ Cluster. | `false` | ✓ | +| `$RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS` | Max attempts for the rebalance check to run | `100` | ✓ | +| `$RABBITMQ_USERNAME` | RabbitMQ user name. | `user` | ✓ | +| `$RABBITMQ_PASSWORD` | RabbitMQ user password. | `bitnami` | ✓ | +| `$RABBITMQ_FORCE_BOOT` | Force a node to start even if it was not the last to shut down | `no` | ✓ | +| `$RABBITMQ_ENABLE_LDAP` | Enable the LDAP configuration. | `no` | ✓ | +| `$RABBITMQ_LDAP_TLS` | Enable secure LDAP configuration. | `no` | ✓ | +| `$RABBITMQ_LDAP_SERVERS` | Comma, semi-colon or space separated list of LDAP server hostnames. | | ✓ | +| `$RABBITMQ_LDAP_SERVERS_PORT` | LDAP servers port. | `389` | ✓ | +| `$RABBITMQ_LDAP_USER_DN_PATTERN` | DN used to bind to LDAP in the form cn=$${username},dc=example,dc=org. | | ✓ | +| `$RABBITMQ_MNESIA_BASE` | Path to RabbitMQ mnesia directory. | `$RABBITMQ_DATA_DIR` | | +| `$RABBITMQ_NODE_SSL_PORT_NUMBER` | RabbitMQ node port number for SSL connections. | `5671` | ✓ | +| `$RABBITMQ_SSL_CACERTFILE` | Path to the RabbitMQ server SSL CA certificate file. | | ✓ | +| `$RABBITMQ_SSL_CERTFILE` | Path to the RabbitMQ server SSL certificate file. | | ✓ | +| `$RABBITMQ_SSL_KEYFILE` | Path to the RabbitMQ server SSL certificate key file. | | ✓ | +| `$RABBITMQ_COMBINED_CERT_PATH` | Path to the RabbitMQ server SSL certificate key file. | `${RABBITMQ_COMBINED_CERT_PATH:-/tmp/rabbitmq_combined_keys.pem}` | | +| `$RABBITMQ_SSL_DEPTH` | Maximum number of non-self-issued intermediate certificates that may follow the peer certificate in a valid certification path. | | ✓ | +| `$RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT` | Whether to reject TLS connections if client fails to provide a certificate. | `no` | ✓ | +| `$RABBITMQ_SSL_VERIFY` | Whether to enable peer SSL certificate verification. Valid values: verify_none, verify_peer. | `verify_none` | ✓ | +| `$RABBITMQ_MANAGEMENT_SSL_PORT_NUMBER` | RabbitMQ management server port number for SSL/TLS connections. | `15671` | ✓ | +| `$RABBITMQ_MANAGEMENT_SSL_CACERTFILE` | Path to the RabbitMQ management server SSL CA certificate file. | `$RABBITMQ_SSL_CACERTFILE` | ✓ | +| `$RABBITMQ_MANAGEMENT_SSL_CERTFILE` | Path to the RabbitMQ server SSL certificate file. | `$RABBITMQ_SSL_CERTFILE` | ✓ | +| `$RABBITMQ_MANAGEMENT_SSL_KEYFILE` | Path to the RabbitMQ management server SSL certificate key file. | `$RABBITMQ_SSL_KEYFILE` | ✓ | +| `$RABBITMQ_MANAGEMENT_SSL_DEPTH` | Maximum number of non-self-issued intermediate certificates that may follow the peer certificate in a valid certification path, for the RabbitMQ management server. | | ✓ | +| `$RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT` | Whether to reject TLS connections if client fails to provide a certificate for the RabbitMQ management server. | `yes` | ✓ | +| `$RABBITMQ_MANAGEMENT_SSL_VERIFY` | Whether to enable peer SSL certificate verification for the RabbitMQ management server. Valid values: verify_none, verify_peer. | `verify_peer` | ✓ | + + +When you start the rabbitmq 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: * 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/rabbitmq/docker-compose.yml) file present in this repository: : @@ -174,70 +239,13 @@ rabbitmq: * For manual execution add a `-e` option with each variable and value. -Available variables: - -#### Node and cluster configuration - -* `RABBITMQ_VHOST`: RabbitMQ application vhost. Default: **/** -* `RABBITMQ_VHOSTS`: List of additional virtual host (vhost), separated by space. E.g.: **/shared /prioritized /tasks** -* `RABBITMQ_USERNAME`: RabbitMQ application username. Default: **user** -* `RABBITMQ_PASSWORD`: RabbitMQ application password. Default: **bitnami** -* `RABBITMQ_SECURE_PASSWORD`: Whether to set the RabbitMQ password securely. This is incompatible with loading external RabbitMQ definitions. Default: **no** -* `RABBITMQ_LOAD_DEFINITIONS`: Whether to load external RabbitMQ definitions. This is incompatible with setting the RabbitMQ password securely. Default: **no**. -* `RABBITMQ_ERL_COOKIE`: Erlang cookie to determine whether different nodes are allowed to communicate with each other. -* `RABBITMQ_NODE_TYPE`: Node Type. Valid values: *stats*, *queue-ram* or *queue-disc*. Default: **stats** -* `RABBITMQ_NODE_NAME`: Node name and host. E.g.: *node@hostname* or *node* (localhost won't work in cluster topology). Default **rabbit@localhost**. If using this variable, ensure that you specify a valid host name as the container wil fail to start otherwise. If using a fully qualified domain name, `RABBITMQ_USE_LONGNAME` needs to be set to `true` as well. -* `RABBITMQ_USE_LONGNAME`: When set to *true* this will cause RabbitMQ to use fully qualified names to identify nodes. Default: **false** -* `RABBITMQ_FORCE_BOOT`: Force a node to start even if it was not the last to shut down. Default: **no** -* `RABBITMQ_CLUSTER_NODE_NAME`: Node name to cluster with. E.g.: **clusternode@hostname** -* `RABBITMQ_CLUSTER_PARTITION_HANDLING`: Cluster partition recovery mechanism. Default: **ignore** -* `RABBITMQ_NODE_PORT_NUMBER`: Node port. Default: **5672** -* `RABBITMQ_NODE_SSL_PORT_NUMBER`: RabbitMQ node port number for SSL connections. Default: **5671** -* `RABBITMQ_SSL_CACERTFILE`: Path to the RabbitMQ server SSL CA certificate file. No defaults. -* `RABBITMQ_SSL_CERTFILE`: Path to the RabbitMQ server SSL certificate file. No defaults. -* `RABBITMQ_SSL_KEYFILE`: Path to the RabbitMQ server SSL certificate key file. No defaults. -* `RABBITMQ_COMBINED_CERT_PATH`: Cert- and keyfile are combined automatically into one combined file at this file path. If you are using a combined certificate anyways, mount it to the container and set this path to the mounted file. Default: **/tmp/rabbitmq_combined_keys.pem** -* `RABBITMQ_SSL_DEPTH`: Maximum number of non-self-issued intermediate certificates that may follow the peer certificate in a valid certification path. No defaults. -* `RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT`: Whether to reject TLS connections if client fails to provide a certificate. Default: **verify_none** -* `RABBITMQ_SSL_VERIFY`: Whether to enable peer SSL certificate verification. Default: **no** -* `RABBITMQ_PLUGINS`: Comma, semi-colon or space separated list of plugins to enable during the initialization. No defaults. -* `RABBITMQ_COMMUNITY_PLUGINS`: Comma, semi-colon or space separated list of URLs where to download custom plugins during the initialization. No defaults. - -#### Management server configuration - -* `RABBITMQ_MANAGEMENT_BIND_IP`: RabbitMQ management server bind IP address. Default: **0.0.0.0** -* `RABBITMQ_MANAGEMENT_PORT_NUMBER`: RabbitMQ management server port number. Default: **15672** -* `RABBITMQ_MANAGEMENT_ALLOW_WEB_ACCESS`: Allow web access to RabbitMQ management portal for `RABBITMQ_USERNAME`. Default: **false** -* `RABBITMQ_MANAGEMENT_SSL_PORT_NUMBER`: RabbitMQ management server port number for SSL/TLS connections. No defaults. -* `RABBITMQ_MANAGEMENT_SSL_CACERTFILE`: Path to the RabbitMQ management server SSL CA certificate file. No defaults. -* `RABBITMQ_MANAGEMENT_SSL_CERTFILE`: Path to the RabbitMQ management server SSL certificate file. No defaults. -* `RABBITMQ_MANAGEMENT_SSL_KEYFILE`: Path to the RabbitMQ management server SSL certificate key file. No defaults. -* `RABBITMQ_MANAGEMENT_SSL_DEPTH`: Maximum number of non-self-issued intermediate certificates that may follow the peer certificate in a valid certification path, for the RabbitMQ management server. No defaults. -* `RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT`: Whether to reject TLS connections if client fails to provide a certificate for the RabbitMQ management server. Default: **yes** -* `RABBITMQ_MANAGEMENT_SSL_VERIFY`: Whether to enable peer SSL certificate verification for the RabbitMQ management server. Default: **verify_peer** - -#### LDAP configuration - -* `RABBITMQ_ENABLE_LDAP`: Enable the LDAP configuration. Defaults: **no** -* `RABBITMQ_LDAP_TLS`: Enable secure LDAP configuration. Defaults: **no** -* `RABBITMQ_LDAP_SERVERS`: Comma, semi-colon or space separated list of LDAP server hostnames. No defaults. -* `RABBITMQ_LDAP_SERVERS_PORT`: LDAP servers port. Defaults: **389** -* `RABBITMQ_LDAP_USER_DN_PATTERN`: DN used to bind to LDAP in the form `cn=$${username},dc=example,dc=org`. No defaults. - -#### Memory and disk configuration - -* `RABBITMQ_VM_MEMORY_HIGH_WATERMARK`: High memory watermark for RabbitMQ to block publishers and prevent new messages from being enqueued. Can be specified as an absolute or relative value (as percentage or value between 0 and 1). No defaults. -* `RABBITMQ_DISK_FREE_RELATIVE_LIMIT`: Disk relative free space limit of the partition on which RabbitMQ is storing data. Default: **1.0** -* `RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT`: Disk absolute free space limit of the partition on which RabbitMQ is storing data (takes precedence over the relative limit). No defaults. -* `RABBITMQ_ULIMIT_NOFILES`: Resources limits: maximum number of open file descriptors. Default: **65536** - ### Setting up a cluster -### Using Docker Compose +#### Using Docker Compose This is the simplest way to run RabbitMQ with clustering configuration: -#### Step 1: Add a stats node in your `docker-compose.yml` +##### Step 1: Add a stats node in your `docker-compose.yml` Copy the snippet below into your docker-compose.yml to add a RabbitMQ stats node to your cluster configuration.