diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 60bb4246f6f1..eb8a9cf225e4 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -25,7 +25,7 @@ ### Applicable issues - - fixes # +- fixes # ### Additional information diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 48beb02e0808..d37a56d93229 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -12,6 +12,6 @@ If you are subjected to or witness unacceptable behavior, or have any other conc If you have suggestions to improve this Code of Conduct, please submit an issue or PR. -**Attribution** +## Attribution -This Code of Conduct is adapted from the Angular project available at this page: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md +This Code of Conduct is adapted from the Angular project available at this page: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7c804d59e0bc..d52a8b8519ac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,9 +14,10 @@ Any type of contribution is welcome: new features, bug fixes, documentation impr ### Requirements When submitting a PR make sure that: + - It must pass CI jobs for linting and test the changes (if any). - It must follow [container best practices](https://engineering.bitnami.com/articles/best-practices-writing-a-dockerfile.html). -- The title of the PR is clear enough and starts with "[bitnami/]" +- The title of the PR is clear enough and starts with "[bitnami/container-name]" - If necessary, add information to the repository's `README.md`. #### Sign Your Work @@ -25,7 +26,9 @@ The sign-off is a simple line at the end of the explanation for a commit. All co Then you just add a line to every git commit message: - Signed-off-by: Joe Smith +```text +Signed-off-by: Joe Smith +``` Use your real name (sorry, no pseudonyms or anonymous contributions.) @@ -33,7 +36,7 @@ If you set your `user.name` and `user.email` git configs, you can sign your comm Note: If your git config information is set properly then viewing the `git log` information for your commit will look something like this: -``` +```text Author: Joe Smith Date: Thu Feb 2 11:41:15 2018 -0800 diff --git a/README.md b/README.md index c91c8d9dac86..587ac02caa08 100644 --- a/README.md +++ b/README.md @@ -19,21 +19,21 @@ Popular applications, provided by [Bitnami](https://bitnami.com), containerized The recommended way to get any of the Bitnami Images is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/). ```console -$ docker pull bitnami/APP +docker pull bitnami/APP ``` To use a specific version, you can pull a versioned tag. ```console -$ docker pull bitnami/APP:[TAG] +docker pull bitnami/APP:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP . ``` > Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` placeholders in the example command above with the correct values. @@ -43,8 +43,8 @@ $ docker build -t bitnami/APP . The main folder of each application contains a functional `docker-compose.yml` file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/APP/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/APP/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` > Remember to replace the `APP` placeholder in the example command above with the correct value. @@ -70,7 +70,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. diff --git a/bitnami/acmesolver/README.md b/bitnami/acmesolver/README.md index 14a8f210a017..2ffaa57052c1 100644 --- a/bitnami/acmesolver/README.md +++ b/bitnami/acmesolver/README.md @@ -12,14 +12,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/acmesolver:latest +docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/acmesolver:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/acmesolver/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/acmesolver/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -71,7 +71,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/airflow-exporter/README.md b/bitnami/airflow-exporter/README.md index 52a35093105f..4c4684185ef5 100644 --- a/bitnami/airflow-exporter/README.md +++ b/bitnami/airflow-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name airflow-exporter bitnami/airflow-exporter:latest +docker run --name airflow-exporter bitnami/airflow-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Airflow Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/airflow-exporter). ```console -$ docker pull bitnami/airflow-exporter:latest +docker pull bitnami/airflow-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/airflow-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/airflow-exporter:[TAG] +docker pull bitnami/airflow-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create airflow-exporter-network --driver bridge +docker network create airflow-exporter-network --driver bridge ``` #### Step 2: Launch the airflow-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create airflow-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `airflow-exporter-network` network. ```console -$ docker run --name airflow-exporter-node1 --network airflow-exporter-network bitnami/airflow-exporter:latest +docker run --name airflow-exporter-node1 --network airflow-exporter-network bitnami/airflow-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration options in the [Airflow Prometheus Exporter documenta The Bitnami Airflow Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs airflow-exporter +docker logs airflow-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of Airflow Exporter, including security pat #### Step 1: Get the updated image ```console -$ docker pull bitnami/airflow-exporter:latest +docker pull bitnami/airflow-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/airflow-exporter:latest Stop the currently running container using the command ```console -$ docker stop airflow-exporter +docker stop airflow-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v airflow-exporter +docker rm -v airflow-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v airflow-exporter Re-create your container from the new image. ```console -$ docker run --name airflow-exporter bitnami/airflow-exporter:latest +docker run --name airflow-exporter bitnami/airflow-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/airflow-scheduler/README.md b/bitnami/airflow-scheduler/README.md index 4d6adc005dd7..80473d33af31 100644 --- a/bitnami/airflow-scheduler/README.md +++ b/bitnami/airflow-scheduler/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow-scheduler/docker-compose.yml -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow-scheduler/docker-compose.yml +docker-compose up ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -50,8 +50,8 @@ You will need an [Airflow Webserver](https://github.com/bitnami/containers/tree/ The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/airflow-scheduler/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow-scheduler/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow-scheduler/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -60,82 +60,82 @@ If you want to run the application manually instead of using `docker-compose`, t 1. Create a network - ```console - $ docker network create airflow-tier - ``` + ```console + docker network create airflow-tier + ``` 2. Create a volume for PostgreSQL persistence and create a PostgreSQL container - ```console - $ docker volume create --name postgresql_data - $ docker run -d --name postgresql \ - -e POSTGRESQL_USERNAME=bn_airflow \ - -e POSTGRESQL_PASSWORD=bitnami1 \ - -e POSTGRESQL_DATABASE=bitnami_airflow \ - --net airflow-tier \ - --volume postgresql_data:/bitnami/postgresql \ - bitnami/postgresql:latest - ``` + ```console + docker volume create --name postgresql_data + docker run -d --name postgresql \ + -e POSTGRESQL_USERNAME=bn_airflow \ + -e POSTGRESQL_PASSWORD=bitnami1 \ + -e POSTGRESQL_DATABASE=bitnami_airflow \ + --net airflow-tier \ + --volume postgresql_data:/bitnami/postgresql \ + bitnami/postgresql:latest + ``` 3. Create a volume for Redis(R) persistence and create a Redis(R) container - ```console - $ docker volume create --name redis_data - $ docker run -d --name redis \ - -e ALLOW_EMPTY_PASSWORD=yes \ - --net airflow-tier \ - --volume redis_data:/bitnami \ - bitnami/redis:latest - ``` + ```console + docker volume create --name redis_data + docker run -d --name redis \ + -e ALLOW_EMPTY_PASSWORD=yes \ + --net airflow-tier \ + --volume redis_data:/bitnami \ + bitnami/redis:latest + ``` -4. Launch the Apache Airflow Scheduler web container +4. Launch the {{ .Name }} web container - ```console - $ docker run -d --name airflow -p 8080:8080 \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - -e AIRFLOW_PASSWORD=bitnami123 \ - -e AIRFLOW_USERNAME=user \ - -e AIRFLOW_EMAIL=user@example.com \ - --net airflow-tier \ - bitnami/airflow:latest - ``` + ```console + docker run -d --name airflow -p 8080:8080 \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + -e AIRFLOW_PASSWORD=bitnami123 \ + -e AIRFLOW_USERNAME=user \ + -e AIRFLOW_EMAIL=user@example.com \ + --net airflow-tier \ + bitnami/airflow:latest + ``` -5. Launch the Apache Airflow Scheduler scheduler container +5. Launch the {{ .Name }} scheduler container - ```console - $ docker run -d --name airflow-scheduler \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - --net airflow-tier \ - bitnami/airflow-scheduler:latest - ``` + ```console + docker run -d --name airflow-scheduler \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + --net airflow-tier \ + bitnami/airflow-scheduler:latest + ``` -6. Launch the Apache Airflow Scheduler worker container +6. Launch the {{ .Name }} worker container - ```console - $ docker run -d --name airflow-worker \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - --net airflow-tier \ - bitnami/airflow-worker:latest - ``` + ```console + docker run -d --name airflow-worker \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + --net airflow-tier \ + bitnami/airflow-worker:latest + ``` -Access your application at `http://your-ip:8080` + Access your application at `http://your-ip:8080` ### Persisting your application @@ -206,78 +206,78 @@ services: 1. Create a network (if it does not exist) - ```console - $ docker network create airflow-tier - ``` + ```console + docker network create airflow-tier + ``` 2. Create the PostgreSQL container with host volumes - ```console - $ docker run -d --name postgresql \ - -e POSTGRESQL_USERNAME=bn_airflow \ - -e POSTGRESQL_PASSWORD=bitnami1 \ - -e POSTGRESQL_DATABASE=bitnami_airflow \ - --net airflow-tier \ - --volume /path/to/postgresql-persistence:/bitnami \ - bitnami/postgresql:latest - ``` + ```console + docker run -d --name postgresql \ + -e POSTGRESQL_USERNAME=bn_airflow \ + -e POSTGRESQL_PASSWORD=bitnami1 \ + -e POSTGRESQL_DATABASE=bitnami_airflow \ + --net airflow-tier \ + --volume /path/to/postgresql-persistence:/bitnami \ + bitnami/postgresql:latest + ``` 3. Create the Redis(R) container with host volumes - ```console - $ docker run -d --name redis \ - -e ALLOW_EMPTY_PASSWORD=yes \ - --net airflow-tier \ - --volume /path/to/redis-persistence:/bitnami \ - bitnami/redis:latest - ``` + ```console + docker run -d --name redis \ + -e ALLOW_EMPTY_PASSWORD=yes \ + --net airflow-tier \ + --volume /path/to/redis-persistence:/bitnami \ + bitnami/redis:latest + ``` 4. Create the Airflow container - ```console - $ docker run -d --name airflow -p 8080:8080 \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - -e AIRFLOW_PASSWORD=bitnami123 \ - -e AIRFLOW_USERNAME=user \ - -e AIRFLOW_EMAIL=user@example.com \ - --net airflow-tier \ - bitnami/airflow:latest - ``` + ```console + docker run -d --name airflow -p 8080:8080 \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + -e AIRFLOW_PASSWORD=bitnami123 \ + -e AIRFLOW_USERNAME=user \ + -e AIRFLOW_EMAIL=user@example.com \ + --net airflow-tier \ + bitnami/airflow:latest + ``` -5. Create the Apache Airflow Scheduler container +5. Create the {{ .Name }} container - ```console - $ docker run -d --name airflow-scheduler \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - --net airflow-tier \ - bitnami/airflow-scheduler:latest - ``` + ```console + docker run -d --name airflow-scheduler \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + --net airflow-tier \ + bitnami/airflow-scheduler:latest + ``` 6. Create the Airflow Worker container - ```console - $ docker run -d --name airflow-worker \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - --net airflow-tier \ - bitnami/airflow-worker:latest - ``` + ```console + docker run -d --name airflow-worker \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + --net airflow-tier \ + bitnami/airflow-worker:latest + ``` ## Configuration @@ -289,30 +289,30 @@ This container supports the installation of additional python modules at start-u The Apache Airflow Scheduler instance can be customized by specifying environment variables on the first run. The following environment values are provided to customize Apache Airflow Scheduler: -###### Apache Airflow Scheduler configuration +#### Apache Airflow Scheduler configuration -- `AIRFLOW_EXECUTOR`: Apache Airflow Scheduler executor. Default: **SequentialExecutor** -- `AIRFLOW_FERNET_KEY`: Apache Airflow Scheduler Fernet key. No defaults. -- `AIRFLOW_SECRET_KEY`: Apache Airflow Scheduler Secret key. No defaults. -- `AIRFLOW_WEBSERVER_HOST`: Apache Airflow Scheduler webserver host. Default: **airflow** -- `AIRFLOW_WEBSERVER_PORT_NUMBER`: Apache Airflow Scheduler webserver port. Default: **8080** -- `AIRFLOW_LOAD_EXAMPLES`: To load example tasks into the application. Default: **yes** -- `AIRFLOW_HOSTNAME_CALLABLE`: Method to obtain the hostname. No defaults. +* `AIRFLOW_EXECUTOR`: Apache Airflow Scheduler executor. Default: **SequentialExecutor** +* `AIRFLOW_FERNET_KEY`: Apache Airflow Scheduler Fernet key. No defaults. +* `AIRFLOW_SECRET_KEY`: Apache Airflow Scheduler Secret key. No defaults. +* `AIRFLOW_WEBSERVER_HOST`: Apache Airflow Scheduler webserver host. Default: **airflow** +* `AIRFLOW_WEBSERVER_PORT_NUMBER`: Apache Airflow Scheduler webserver port. Default: **8080** +* `AIRFLOW_LOAD_EXAMPLES`: To load example tasks into the application. Default: **yes** +* `AIRFLOW_HOSTNAME_CALLABLE`: Method to obtain the hostname. No defaults. -###### Use an existing database +#### Use an existing database -- `AIRFLOW_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** -- `AIRFLOW_DATABASE_PORT_NUMBER`: Port used by PostgreSQL server. Default: **5432** -- `AIRFLOW_DATABASE_NAME`: Database name that Apache Airflow Scheduler will use to connect with the database. Default: **bitnami_airflow** -- `AIRFLOW_DATABASE_USERNAME`: Database user that Apache Airflow Scheduler will use to connect with the database. Default: **bn_airflow** -- `AIRFLOW_DATABASE_PASSWORD`: Database password that Apache Airflow Scheduler will use to connect with the database. No defaults. -- `AIRFLOW_DATABASE_USE_SSL`: Set to yes if the database uses SSL. Default: **no** -- `AIRFLOW_REDIS_USE_SSL`: Set to yes if Redis(R) uses SSL. Default: **no** -- `REDIS_HOST`: Hostname for Redis(R) server. Default: **redis** -- `REDIS_PORT_NUMBER`: Port used by Redis(R) server. Default: **6379** -- `REDIS_USER`: USER that Apache Airflow Scheduler will use to connect with Redis(R). No defaults. -- `REDIS_PASSWORD`: Password that Apache Airflow Scheduler will use to connect with Redis(R). No defaults. -- `REDIS_DATABASE`: Database number for Redis(R) server. Default: **1** +* `AIRFLOW_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** +* `AIRFLOW_DATABASE_PORT_NUMBER`: Port used by PostgreSQL server. Default: **5432** +* `AIRFLOW_DATABASE_NAME`: Database name that Apache Airflow Scheduler will use to connect with the database. Default: **bitnami_airflow** +* `AIRFLOW_DATABASE_USERNAME`: Database user that Apache Airflow Scheduler will use to connect with the database. Default: **bn_airflow** +* `AIRFLOW_DATABASE_PASSWORD`: Database password that Apache Airflow Scheduler will use to connect with the database. No defaults. +* `AIRFLOW_DATABASE_USE_SSL`: Set to yes if the database uses SSL. Default: **no** +* `AIRFLOW_REDIS_USE_SSL`: Set to yes if Redis(R) uses SSL. Default: **no** +* `REDIS_HOST`: Hostname for Redis(R) server. Default: **redis** +* `REDIS_PORT_NUMBER`: Port used by Redis(R) server. Default: **6379** +* `REDIS_USER`: USER that Apache Airflow Scheduler will use to connect with Redis(R). No defaults. +* `REDIS_PASSWORD`: Password that Apache Airflow Scheduler will use to connect with Redis(R). No defaults. +* `REDIS_DATABASE`: Database number for Redis(R) server. Default: **1** > In addition to the previous environment variables, all the parameters from the configuration file can be overwritten by using environment variables with this format: `AIRFLOW__{SECTION}__{KEY}`. Note the double underscores. @@ -339,7 +339,7 @@ services: #### Specifying Environment variables on the Docker command line ```console -$ docker run -d --name airflow -p 8080:8080 \ +docker run -d --name airflow -p 8080:8080 \ -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ -e AIRFLOW_EXECUTOR=CeleryExecutor \ @@ -357,8 +357,8 @@ $ docker run -d --name airflow -p 8080:8080 \ ### 1.10.15-debian-10-r18 and 2.0.1-debian-10-r52 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. ## Contributing diff --git a/bitnami/airflow-worker/README.md b/bitnami/airflow-worker/README.md index 0761ab0e0b77..bd1e56f83bbc 100644 --- a/bitnami/airflow-worker/README.md +++ b/bitnami/airflow-worker/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow-worker/docker-compose.yml -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow-worker/docker-compose.yml +docker-compose up ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -50,8 +50,8 @@ You will need an [Airflow Webserver](https://github.com/bitnami/containers/tree/ The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/airflow-worker/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow-worker/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow-worker/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -60,83 +60,83 @@ If you want to run the application manually instead of using `docker-compose`, t 1. Create a network - ```console - $ docker network create airflow-tier - ``` + ```console + docker network create airflow-tier + ``` 2. Create a volume for PostgreSQL persistence and create a PostgreSQL container - ```console - $ docker volume create --name postgresql_data - $ docker run -d --name postgresql \ - -e POSTGRESQL_USERNAME=bn_airflow \ - -e POSTGRESQL_PASSWORD=bitnami1 \ - -e POSTGRESQL_DATABASE=bitnami_airflow \ - --net airflow-tier \ - --volume postgresql_data:/bitnami/postgresql \ - bitnami/postgresql:latest - ``` + ```console + docker volume create --name postgresql_data + docker run -d --name postgresql \ + -e POSTGRESQL_USERNAME=bn_airflow \ + -e POSTGRESQL_PASSWORD=bitnami1 \ + -e POSTGRESQL_DATABASE=bitnami_airflow \ + --net airflow-tier \ + --volume postgresql_data:/bitnami/postgresql \ + bitnami/postgresql:latest + ``` 3. Create a volume for Redis(R) persistence and create a Redis(R) container - ```console - $ docker volume create --name redis_data - $ docker run -d --name redis \ - -e ALLOW_EMPTY_PASSWORD=yes \ - --net airflow-tier \ - --volume redis_data:/bitnami \ - bitnami/redis:latest - ``` + ```console + docker volume create --name redis_data + docker run -d --name redis \ + -e ALLOW_EMPTY_PASSWORD=yes \ + --net airflow-tier \ + --volume redis_data:/bitnami \ + bitnami/redis:latest + ``` -4. Launch the Apache Airflow Worker web container +4. Launch the {{ .Name }} web container - ```console - $ docker run -d --name airflow -p 8080:8080 \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - -e AIRFLOW_PASSWORD=bitnami123 \ - -e AIRFLOW_USERNAME=user \ - -e AIRFLOW_EMAIL=user@example.com \ - --net airflow-tier \ - bitnami/airflow:latest - ``` + ```console + docker run -d --name airflow -p 8080:8080 \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + -e AIRFLOW_PASSWORD=bitnami123 \ + -e AIRFLOW_USERNAME=user \ + -e AIRFLOW_EMAIL=user@example.com \ + --net airflow-tier \ + bitnami/airflow:latest + ``` -5. Launch the Apache Airflow Worker scheduler container +5. Launch the {{ .Name }} scheduler container - ```console - $ docker run -d --name airflow-scheduler \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - --net airflow-tier \ - bitnami/airflow-scheduler:latest - ``` + ```console + docker run -d --name airflow-scheduler \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + --net airflow-tier \ + bitnami/airflow-scheduler:latest + ``` -6. Launch the Apache Airflow Worker worker container +6. Launch the {{ .Name }} worker container - ```console - $ docker run -d --name airflow-worker \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_QUEUE=new_queue \ - --net airflow-tier \ - bitnami/airflow-worker:latest - ``` + ```console + docker run -d --name airflow-worker \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_QUEUE=new_queue \ + --net airflow-tier \ + bitnami/airflow-worker:latest + ``` -Access your application at `http://your-ip:8080` + Access your application at `http://your-ip:8080` ### Persisting your application @@ -207,78 +207,78 @@ services: 1. Create a network (if it does not exist) - ```console - $ docker network create airflow-tier - ``` + ```console + docker network create airflow-tier + ``` 2. Create the PostgreSQL container with host volumes - ```console - $ docker run -d --name postgresql \ - -e POSTGRESQL_USERNAME=bn_airflow \ - -e POSTGRESQL_PASSWORD=bitnami1 \ - -e POSTGRESQL_DATABASE=bitnami_airflow \ - --net airflow-tier \ - --volume /path/to/postgresql-persistence:/bitnami \ - bitnami/postgresql:latest - ``` + ```console + docker run -d --name postgresql \ + -e POSTGRESQL_USERNAME=bn_airflow \ + -e POSTGRESQL_PASSWORD=bitnami1 \ + -e POSTGRESQL_DATABASE=bitnami_airflow \ + --net airflow-tier \ + --volume /path/to/postgresql-persistence:/bitnami \ + bitnami/postgresql:latest + ``` 3. Create the Redis(R) container with host volumes - ```console - $ docker run -d --name redis \ - -e ALLOW_EMPTY_PASSWORD=yes \ - --net airflow-tier \ - --volume /path/to/redis-persistence:/bitnami \ - bitnami/redis:latest - ``` + ```console + docker run -d --name redis \ + -e ALLOW_EMPTY_PASSWORD=yes \ + --net airflow-tier \ + --volume /path/to/redis-persistence:/bitnami \ + bitnami/redis:latest + ``` 4. Create the Airflow container - ```console - $ docker run -d --name airflow -p 8080:8080 \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - -e AIRFLOW_PASSWORD=bitnami123 \ - -e AIRFLOW_USERNAME=user \ - -e AIRFLOW_EMAIL=user@example.com \ - --net airflow-tier \ - bitnami/airflow:latest - ``` + ```console + docker run -d --name airflow -p 8080:8080 \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + -e AIRFLOW_PASSWORD=bitnami123 \ + -e AIRFLOW_USERNAME=user \ + -e AIRFLOW_EMAIL=user@example.com \ + --net airflow-tier \ + bitnami/airflow:latest + ``` 5. Create the Airflow Scheduler container - ```console - $ docker run -d --name airflow-scheduler \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - --net airflow-tier \ - bitnami/airflow-scheduler:latest - ``` + ```console + docker run -d --name airflow-scheduler \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + --net airflow-tier \ + bitnami/airflow-scheduler:latest + ``` 6. Create the Airflow Worker container - ```console - $ docker run -d --name airflow-worker \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - --net airflow-tier \ - bitnami/airflow-worker:latest - ``` + ```console + docker run -d --name airflow-worker \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + --net airflow-tier \ + bitnami/airflow-worker:latest + ``` ## Configuration @@ -290,30 +290,30 @@ This container supports the installation of additional python modules at start-u The Airflow Worker instance can be customized by specifying environment variables on the first run. The following environment values are provided to customize Airflow Worker: -###### Airflow Worker configuration +#### Airflow Worker configuration -- `AIRFLOW_EXECUTOR`: Airflow Worker executor. Default: **SequentialExecutor** -- `AIRFLOW_FERNET_KEY`: Airflow Worker Fernet key. No defaults. -- `AIRFLOW_SECRET_KEY`: Airflow Worker Secret key. No defaults. -- `AIRFLOW_WEBSERVER_HOST`: Airflow Worker webserver host. Default: **airflow** -- `AIRFLOW_WEBSERVER_PORT_NUMBER`: Airflow Worker webserver port. Default: **8080** -- `AIRFLOW_HOSTNAME_CALLABLE`: Method to obtain the hostname. No defaults. -- `AIRFLOW_QUEUE`: A queue for the worker to pull tasks from. No defaults. +* `AIRFLOW_EXECUTOR`: Airflow Worker executor. Default: **SequentialExecutor** +* `AIRFLOW_FERNET_KEY`: Airflow Worker Fernet key. No defaults. +* `AIRFLOW_SECRET_KEY`: Airflow Worker Secret key. No defaults. +* `AIRFLOW_WEBSERVER_HOST`: Airflow Worker webserver host. Default: **airflow** +* `AIRFLOW_WEBSERVER_PORT_NUMBER`: Airflow Worker webserver port. Default: **8080** +* `AIRFLOW_HOSTNAME_CALLABLE`: Method to obtain the hostname. No defaults. +* `AIRFLOW_QUEUE`: A queue for the worker to pull tasks from. No defaults. -###### Use an existing database +#### Use an existing database -- `AIRFLOW_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** -- `AIRFLOW_DATABASE_PORT_NUMBER`: Port used by PostgreSQL server. Default: **5432** -- `AIRFLOW_DATABASE_NAME`: Database name that Airflow Worker will use to connect with the database. Default: **bitnami_airflow** -- `AIRFLOW_DATABASE_USERNAME`: Database user that Airflow Worker will use to connect with the database. Default: **bn_airflow** -- `AIRFLOW_DATABASE_PASSWORD`: Database password that Airflow Worker will use to connect with the database. No defaults. -- `AIRFLOW_DATABASE_USE_SSL`: Set to yes if the database uses SSL. Default: **no** -- `AIRFLOW_REDIS_USE_SSL`: Set to yes if Redis(R) uses SSL. Default: **no** -- `REDIS_HOST`: Hostname for Redis(R) server. Default: **redis** -- `REDIS_PORT_NUMBER`: Port used by Redis(R) server. Default: **6379** -- `REDIS_USER`: User that Airflow Worker will use to connect with Redis(R). No defaults. -- `REDIS_PASSWORD`: Password that Airflow Worker will use to connect with Redis(R). No defaults. -- `REDIS_DATABASE`: Database number for Redis(R) server. Default: **1** +* `AIRFLOW_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** +* `AIRFLOW_DATABASE_PORT_NUMBER`: Port used by PostgreSQL server. Default: **5432** +* `AIRFLOW_DATABASE_NAME`: Database name that Airflow Worker will use to connect with the database. Default: **bitnami_airflow** +* `AIRFLOW_DATABASE_USERNAME`: Database user that Airflow Worker will use to connect with the database. Default: **bn_airflow** +* `AIRFLOW_DATABASE_PASSWORD`: Database password that Airflow Worker will use to connect with the database. No defaults. +* `AIRFLOW_DATABASE_USE_SSL`: Set to yes if the database uses SSL. Default: **no** +* `AIRFLOW_REDIS_USE_SSL`: Set to yes if Redis(R) uses SSL. Default: **no** +* `REDIS_HOST`: Hostname for Redis(R) server. Default: **redis** +* `REDIS_PORT_NUMBER`: Port used by Redis(R) server. Default: **6379** +* `REDIS_USER`: User that Airflow Worker will use to connect with Redis(R). No defaults. +* `REDIS_PASSWORD`: Password that Airflow Worker will use to connect with Redis(R). No defaults. +* `REDIS_DATABASE`: Database number for Redis(R) server. Default: **1** > In addition to the previous environment variables, all the parameters from the configuration file can be overwritten by using environment variables with this format: `AIRFLOW__{SECTION}__{KEY}`. Note the double underscores. @@ -340,7 +340,7 @@ services: #### Specifying Environment variables on the Docker command line ```console -$ docker run -d --name airflow -p 8080:8080 \ +docker run -d --name airflow -p 8080:8080 \ -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ -e AIRFLOW_EXECUTOR=CeleryExecutor \ @@ -357,8 +357,8 @@ $ docker run -d --name airflow -p 8080:8080 \ ### 1.10.15-debian-10-r18 and 2.0.1-debian-10-r51 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. ## Contributing diff --git a/bitnami/airflow/README.md b/bitnami/airflow/README.md index 297edd924385..69e31268bd83 100644 --- a/bitnami/airflow/README.md +++ b/bitnami/airflow/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow/docker-compose.yml -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow/docker-compose.yml +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -49,8 +49,8 @@ Airflow requires access to a PostgreSQL database to store information. We will u The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/airflow/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/airflow/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -59,84 +59,84 @@ If you want to run the application manually instead of using `docker-compose`, t 1. Create a network - ```console - $ docker network create airflow-tier - ``` + ```console + docker network create airflow-tier + ``` 2. Create a volume for PostgreSQL persistence and create a PostgreSQL container - ```console - $ docker volume create --name postgresql_data - $ docker run -d --name postgresql \ - -e POSTGRESQL_USERNAME=bn_airflow \ - -e POSTGRESQL_PASSWORD=bitnami1 \ - -e POSTGRESQL_DATABASE=bitnami_airflow \ - --net airflow-tier \ - --volume postgresql_data:/bitnami/postgresql \ - bitnami/postgresql:latest - ``` + ```console + docker volume create --name postgresql_data + docker run -d --name postgresql \ + -e POSTGRESQL_USERNAME=bn_airflow \ + -e POSTGRESQL_PASSWORD=bitnami1 \ + -e POSTGRESQL_DATABASE=bitnami_airflow \ + --net airflow-tier \ + --volume postgresql_data:/bitnami/postgresql \ + bitnami/postgresql:latest + ``` 3. Create a volume for Redis(R) persistence and create a Redis(R) container - ```console - $ docker volume create --name redis_data - $ docker run -d --name redis \ - -e ALLOW_EMPTY_PASSWORD=yes \ - --net airflow-tier \ - --volume redis_data:/bitnami \ - bitnami/redis:latest - ``` + ```console + docker volume create --name redis_data + docker run -d --name redis \ + -e ALLOW_EMPTY_PASSWORD=yes \ + --net airflow-tier \ + --volume redis_data:/bitnami \ + bitnami/redis:latest + ``` -4. Launch the Apache Airflow web container +4. Launch the {{ .Name }} web container - ```console - $ docker run -d --name airflow -p 8080:8080 \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - -e AIRFLOW_PASSWORD=bitnami123 \ - -e AIRFLOW_USERNAME=user \ - -e AIRFLOW_EMAIL=user@example.com \ - --net airflow-tier \ - bitnami/airflow:latest - ``` + ```console + docker run -d --name airflow -p 8080:8080 \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + -e AIRFLOW_PASSWORD=bitnami123 \ + -e AIRFLOW_USERNAME=user \ + -e AIRFLOW_EMAIL=user@example.com \ + --net airflow-tier \ + bitnami/airflow:latest + ``` -5. Launch the Apache Airflow scheduler container +5. Launch the {{ .Name }} scheduler container - ```console - $ docker run -d --name airflow-scheduler \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - -e AIRFLOW_WEBSERVER_HOST=airflow \ - --net airflow-tier \ - bitnami/airflow-scheduler:latest - ``` + ```console + docker run -d --name airflow-scheduler \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + -e AIRFLOW_WEBSERVER_HOST=airflow \ + --net airflow-tier \ + bitnami/airflow-scheduler:latest + ``` -6. Launch the Apache Airflow worker container +6. Launch the {{ .Name }} worker container - ```console - $ docker run -d --name airflow-worker \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_WEBSERVER_HOST=airflow \ - --net airflow-tier \ - bitnami/airflow-worker:latest - ``` + ```console + docker run -d --name airflow-worker \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_WEBSERVER_HOST=airflow \ + --net airflow-tier \ + bitnami/airflow-worker:latest + ``` -Access your application at `http://your-ip:8080` + Access your application at `http://your-ip:8080` ### Persisting your application @@ -207,80 +207,80 @@ services: 1. Create a network (if it does not exist) - ```console - $ docker network create airflow-tier - ``` + ```console + docker network create airflow-tier + ``` 2. Create the PostgreSQL container with host volumes - ```console - $ docker run -d --name postgresql \ - -e POSTGRESQL_USERNAME=bn_airflow \ - -e POSTGRESQL_PASSWORD=bitnami1 \ - -e POSTGRESQL_DATABASE=bitnami_airflow \ - --net airflow-tier \ - --volume /path/to/postgresql-persistence:/bitnami \ - bitnami/postgresql:latest - ``` + ```console + docker run -d --name postgresql \ + -e POSTGRESQL_USERNAME=bn_airflow \ + -e POSTGRESQL_PASSWORD=bitnami1 \ + -e POSTGRESQL_DATABASE=bitnami_airflow \ + --net airflow-tier \ + --volume /path/to/postgresql-persistence:/bitnami \ + bitnami/postgresql:latest + ``` 3. Create the Redis(R) container with host volumes - ```console - $ docker run -d --name redis \ - -e ALLOW_EMPTY_PASSWORD=yes \ - --net airflow-tier \ - --volume /path/to/redis-persistence:/bitnami \ - bitnami/redis:latest - ``` + ```console + docker run -d --name redis \ + -e ALLOW_EMPTY_PASSWORD=yes \ + --net airflow-tier \ + --volume /path/to/redis-persistence:/bitnami \ + bitnami/redis:latest + ``` 4. Create the Airflow container - ```console - $ docker run -d --name airflow -p 8080:8080 \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - -e AIRFLOW_PASSWORD=bitnami123 \ - -e AIRFLOW_USERNAME=user \ - -e AIRFLOW_EMAIL=user@example.com \ - --net airflow-tier \ - bitnami/airflow:latest - ``` + ```console + docker run -d --name airflow -p 8080:8080 \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + -e AIRFLOW_PASSWORD=bitnami123 \ + -e AIRFLOW_USERNAME=user \ + -e AIRFLOW_EMAIL=user@example.com \ + --net airflow-tier \ + bitnami/airflow:latest + ``` 5. Create the Airflow Scheduler container - ```console - $ docker run -d --name airflow-scheduler \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_LOAD_EXAMPLES=yes \ - -e AIRFLOW_WEBSERVER_HOST=airflow \ - --net airflow-tier \ - bitnami/airflow-scheduler:latest - ``` + ```console + docker run -d --name airflow-scheduler \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_LOAD_EXAMPLES=yes \ + -e AIRFLOW_WEBSERVER_HOST=airflow \ + --net airflow-tier \ + bitnami/airflow-scheduler:latest + ``` 6. Create the Airflow Worker container - ```console - $ docker run -d --name airflow-worker \ - -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ - -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ - -e AIRFLOW_EXECUTOR=CeleryExecutor \ - -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ - -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ - -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ - -e AIRFLOW_WEBSERVER_HOST=airflow \ - --net airflow-tier \ - bitnami/airflow-worker:latest - ``` + ```console + docker run -d --name airflow-worker \ + -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ + -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ + -e AIRFLOW_EXECUTOR=CeleryExecutor \ + -e AIRFLOW_DATABASE_NAME=bitnami_airflow \ + -e AIRFLOW_DATABASE_USERNAME=bn_airflow \ + -e AIRFLOW_DATABASE_PASSWORD=bitnami1 \ + -e AIRFLOW_WEBSERVER_HOST=airflow \ + --net airflow-tier \ + bitnami/airflow-worker:latest + ``` ## Configuration @@ -296,60 +296,60 @@ This container supports the installation of additional python modules at start-u The Airflow instance can be customized by specifying environment variables on the first run. The following environment values are provided to customize Airflow: -###### User configuration +#### User configuration -- `AIRFLOW_USERNAME`: Airflow application username. Default: **user** -- `AIRFLOW_PASSWORD`: Airflow application password. Default: **bitnami** -- `AIRFLOW_EMAIL`: Airflow application email. Default: **user@example.com** +* `AIRFLOW_USERNAME`: Airflow application username. Default: **user** +* `AIRFLOW_PASSWORD`: Airflow application password. Default: **bitnami** +* `AIRFLOW_EMAIL`: Airflow application email. Default: **user@example.com** -###### Airflow configuration +#### Airflow configuration -- `AIRFLOW_EXECUTOR`: Airflow executor. Default: **SequentialExecutor** -- `AIRFLOW_FERNET_KEY`: Airflow Fernet key. No defaults. -- `AIRFLOW_SECRET_KEY`: Airflow Secret key. No defaults. -- `AIRFLOW_WEBSERVER_HOST`: Airflow webserver host. Default: **127.0.0.1** -- `AIRFLOW_WEBSERVER_PORT_NUMBER`: Airflow webserver port. Default: **8080** -- `AIRFLOW_LOAD_EXAMPLES`: To load example tasks into the application. Default: **yes** -- `AIRFLOW_BASE_URL`: Airflow webserver base URL. No defaults. -- `AIRFLOW_HOSTNAME_CALLABLE`: Method to obtain the hostname. No defaults. -- `AIRFLOW_POOL_NAME`: Pool name. No defaults. -- `AIRFLOW_POOL_SIZE`: Pool size, required with `AIRFLOW_POOL_NAME`. No defaults. -- `AIRFLOW_POOL_DESC`: Pool description, required with `AIRFLOW_POOL_NAME`. No defaults. +* `AIRFLOW_EXECUTOR`: Airflow executor. Default: **SequentialExecutor** +* `AIRFLOW_FERNET_KEY`: Airflow Fernet key. No defaults. +* `AIRFLOW_SECRET_KEY`: Airflow Secret key. No defaults. +* `AIRFLOW_WEBSERVER_HOST`: Airflow webserver host. Default: **127.0.0.1** +* `AIRFLOW_WEBSERVER_PORT_NUMBER`: Airflow webserver port. Default: **8080** +* `AIRFLOW_LOAD_EXAMPLES`: To load example tasks into the application. Default: **yes** +* `AIRFLOW_BASE_URL`: Airflow webserver base URL. No defaults. +* `AIRFLOW_HOSTNAME_CALLABLE`: Method to obtain the hostname. No defaults. +* `AIRFLOW_POOL_NAME`: Pool name. No defaults. +* `AIRFLOW_POOL_SIZE`: Pool size, required with `AIRFLOW_POOL_NAME`. No defaults. +* `AIRFLOW_POOL_DESC`: Pool description, required with `AIRFLOW_POOL_NAME`. No defaults. -###### Use an existing database +#### Use an existing database -- `AIRFLOW_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** -- `AIRFLOW_DATABASE_PORT_NUMBER`: Port used by PostgreSQL server. Default: **5432** -- `AIRFLOW_DATABASE_NAME`: Database name that Airflow will use to connect with the database. Default: **bitnami_airflow** -- `AIRFLOW_DATABASE_USERNAME`: Database user that Airflow will use to connect with the database. Default: **bn_airflow** -- `AIRFLOW_DATABASE_PASSWORD`: Database password that Airflow will use to connect with the database. No defaults. -- `AIRFLOW_DATABASE_USE_SSL`: Set to yes if the database is using SSL. Default: **no** -- `AIRFLOW_REDIS_USE_SSL`: Set to yes if Redis(R) uses SSL. Default: **no** -- `REDIS_HOST`: Hostname for Redis(R) server. Default: **redis** -- `REDIS_PORT_NUMBER`: Port used by Redis(R) server. Default: **6379** -- `REDIS_USER`: User that Airflow will use to connect with Redis(R). No defaults. -- `REDIS_PASSWORD`: Password that Airflow will use to connect with Redis(R). No defaults. -- `REDIS_DATABASE`: Database number for Redis(R) server. Default: **1** +* `AIRFLOW_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** +* `AIRFLOW_DATABASE_PORT_NUMBER`: Port used by PostgreSQL server. Default: **5432** +* `AIRFLOW_DATABASE_NAME`: Database name that Airflow will use to connect with the database. Default: **bitnami_airflow** +* `AIRFLOW_DATABASE_USERNAME`: Database user that Airflow will use to connect with the database. Default: **bn_airflow** +* `AIRFLOW_DATABASE_PASSWORD`: Database password that Airflow will use to connect with the database. No defaults. +* `AIRFLOW_DATABASE_USE_SSL`: Set to yes if the database is using SSL. Default: **no** +* `AIRFLOW_REDIS_USE_SSL`: Set to yes if Redis(R) uses SSL. Default: **no** +* `REDIS_HOST`: Hostname for Redis(R) server. Default: **redis** +* `REDIS_PORT_NUMBER`: Port used by Redis(R) server. Default: **6379** +* `REDIS_USER`: User that Airflow will use to connect with Redis(R). No defaults. +* `REDIS_PASSWORD`: Password that Airflow will use to connect with Redis(R). No defaults. +* `REDIS_DATABASE`: Database number for Redis(R) server. Default: **1** -###### Airflow LDAP authentication +#### Airflow LDAP authentication -- `AIRFLOW_LDAP_ENABLE`: Enable LDAP authentication. Default: **no** -- `AIRFLOW_LDAP_URI`: LDAP server URI. No defaults. -- `AIRFLOW_LDAP_SEARCH`: LDAP search base. No defaults. -- `AIRFLOW_LDAP_UID_FIELD`: LDAP field used for uid. No defaults. -- `AIRFLOW_LDAP_BIND_USER`: LDAP user name. No defaults. -- `AIRFLOW_LDAP_BIND_PASSWORD`: LDAP user password. No defaults. -- `AIRFLOW_USER_REGISTRATION`: User self registration. Default: **True** -- `AIRFLOW_USER_REGISTRATION_ROLE`: Role for the created user. No defaults. -- `AIRFLOW_LDAP_ROLES_MAPPING`: Mapping from LDAP DN to a list of Airflow roles. No defaults. -- `AIRFLOW_LDAP_ROLES_SYNC_AT_LOGIN`: Replace ALL the user's roles each login, or only on registration. Default: **True** -- `AIRFLOW_LDAP_USE_TLS`: Use LDAP SSL. Defaults: **False**. -- `AIRFLOW_LDAP_ALLOW_SELF_SIGNED`: Allow self signed certicates in LDAP ssl. Default: **True** -- `AIRFLOW_LDAP_TLS_CA_CERTIFICATE`: File that store the CA for LDAP ssl. No defaults. +* `AIRFLOW_LDAP_ENABLE`: Enable LDAP authentication. Default: **no** +* `AIRFLOW_LDAP_URI`: LDAP server URI. No defaults. +* `AIRFLOW_LDAP_SEARCH`: LDAP search base. No defaults. +* `AIRFLOW_LDAP_UID_FIELD`: LDAP field used for uid. No defaults. +* `AIRFLOW_LDAP_BIND_USER`: LDAP user name. No defaults. +* `AIRFLOW_LDAP_BIND_PASSWORD`: LDAP user password. No defaults. +* `AIRFLOW_USER_REGISTRATION`: User self registration. Default: **True** +* `AIRFLOW_USER_REGISTRATION_ROLE`: Role for the created user. No defaults. +* `AIRFLOW_LDAP_ROLES_MAPPING`: Mapping from LDAP DN to a list of Airflow roles. No defaults. +* `AIRFLOW_LDAP_ROLES_SYNC_AT_LOGIN`: Replace ALL the user's roles each login, or only on registration. Default: **True** +* `AIRFLOW_LDAP_USE_TLS`: Use LDAP SSL. Defaults: **False**. +* `AIRFLOW_LDAP_ALLOW_SELF_SIGNED`: Allow self signed certicates in LDAP ssl. Default: **True** +* `AIRFLOW_LDAP_TLS_CA_CERTIFICATE`: File that store the CA for LDAP ssl. No defaults. > In addition to the previous environment variables, all the parameters from the configuration file can be overwritten by using environment variables with this format: `AIRFLOW__{SECTION}__{KEY}`. Note the double underscores. -#### Specifying Environment variables using Docker Compose +### Specifying Environment variables using Docker Compose ```yaml version: '2' @@ -369,10 +369,10 @@ services: - AIRFLOW_EMAIL=user@example.com ``` -#### Specifying Environment variables on the Docker command line +### Specifying Environment variables on the Docker command line ```console -$ docker run -d --name airflow -p 8080:8080 \ +docker run -d --name airflow -p 8080:8080 \ -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ -e AIRFLOW_EXECUTOR=CeleryExecutor \ @@ -389,17 +389,17 @@ $ docker run -d --name airflow -p 8080:8080 \ To configure Airflow to send email using SMTP you can set the following environment variables: -- `AIRFLOW__SMTP__SMTP_HOST`: Host for outgoing SMTP email. Default: **localhost** -- `AIRFLOW__SMTP__SMTP_PORT`: Port for outgoing SMTP email. Default: **25** -- `AIRFLOW__SMTP__SMTP_STARTTLS`: To use TLS communication. Default: **True** -- `AIRFLOW__SMTP__SMTP_SSL`: To use SSL communication. Default: **False** -- `AIRFLOW__SMTP__SMTP_USER`: User of SMTP used for authentication (likely email). No defaults. -- `AIRFLOW__SMTP__SMTP_PASSWORD`: Password for SMTP. No defaults. -- `AIRFLOW__SMTP__SMTP_MAIL_FROM`: To modify the "from email address". Default: **airflow@example.com** +* `AIRFLOW__SMTP__SMTP_HOST`: Host for outgoing SMTP email. Default: **localhost** +* `AIRFLOW__SMTP__SMTP_PORT`: Port for outgoing SMTP email. Default: **25** +* `AIRFLOW__SMTP__SMTP_STARTTLS`: To use TLS communication. Default: **True** +* `AIRFLOW__SMTP__SMTP_SSL`: To use SSL communication. Default: **False** +* `AIRFLOW__SMTP__SMTP_USER`: User of SMTP used for authentication (likely email). No defaults. +* `AIRFLOW__SMTP__SMTP_PASSWORD`: Password for SMTP. No defaults. +* `AIRFLOW__SMTP__SMTP_MAIL_FROM`: To modify the "from email address". Default: **airflow@example.com** This would be an example of SMTP configuration using a GMail account: - * docker-compose (application part): +* docker-compose (application part): ```yaml airflow: @@ -425,7 +425,7 @@ This would be an example of SMTP configuration using a GMail account: * For manual execution: ```console -$ docker run -d --name airflow -p 8080:8080 \ +docker run -d --name airflow -p 8080:8080 \ -e AIRFLOW_FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= \ -e AIRFLOW_SECRET_KEY=a25mQ1FHTUh3MnFRSk5KMEIyVVU2YmN0VGRyYTVXY08= \ -e AIRFLOW_EXECUTOR=CeleryExecutor \ @@ -446,8 +446,8 @@ $ docker run -d --name airflow -p 8080:8080 \ ### 1.10.15-debian-10-r17 and 2.0.1-debian-10-r50 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. ## Contributing diff --git a/bitnami/alertmanager/README.md b/bitnami/alertmanager/README.md index 8428762c8bcc..99d5abe1655e 100644 --- a/bitnami/alertmanager/README.md +++ b/bitnami/alertmanager/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name alertmanager bitnami/alertmanager:latest +docker run --name alertmanager bitnami/alertmanager:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Alertmanager Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/alertmanager). ```console -$ docker pull bitnami/alertmanager:latest +docker pull bitnami/alertmanager:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/alertmanager/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/alertmanager:[TAG] +docker pull bitnami/alertmanager:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -66,7 +66,7 @@ For persistence you should mount a volume at the `/opt/bitnami/data` path. The a To avoid inadvertent removal of this volume you can [mount host directories as data volumes](https://docs.docker.com/engine/tutorials/dockervolumes/). Alternatively you can make use of volume plugins to host the volume data. ```console -$ docker run -v /path/to/alertmanager-persistence:/opt/bitnami/data bitnami/alertmanager:latest +docker run -v /path/to/alertmanager-persistence:/opt/bitnami/data bitnami/alertmanager:latest ``` > NOTE: As this is a non-root container, the mounted files and directories must have the proper permissions for the UID `1001`. @@ -82,7 +82,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create alertmanager-network --driver bridge +docker network create alertmanager-network --driver bridge ``` #### Step 2: Launch the Alertmanager container within your network @@ -90,7 +90,7 @@ $ docker network create alertmanager-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `alertmanager-network` network. ```console -$ docker run --name alertmanager-node1 --network alertmanager-network bitnami/alertmanager:latest +docker run --name alertmanager-node1 --network alertmanager-network bitnami/alertmanager:latest ``` #### Step 3: Run another containers @@ -102,7 +102,7 @@ We can launch another containers using the same flag (`--network NETWORK`) in th The configuration can easily be setup by mounting your own configuration file on the directory `/opt/bitnami/alertmanager/conf/`: ```console -$ docker run --name alertmanager -v /path/to/config.yml:/opt/bitnami/alertmanager/conf/config.yml bitnami/alertmanager:latest +docker run --name alertmanager -v /path/to/config.yml:/opt/bitnami/alertmanager/conf/config.yml bitnami/alertmanager:latest ``` After that, your configuration will be taken into account in the server's behaviour. @@ -130,7 +130,7 @@ Configuration is yaml based. The full documentation of the configuration can be The Bitnami alertmanager Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs alertmanager +docker logs alertmanager ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -144,7 +144,7 @@ Bitnami provides up-to-date versions of alertmanager, including security patches #### Step 1: Get the updated image ```console -$ docker pull bitnami/alertmanager:latest +docker pull bitnami/alertmanager:latest ``` #### Step 2: Stop and backup the currently running container @@ -152,13 +152,13 @@ $ docker pull bitnami/alertmanager:latest Stop the currently running container using the command ```console -$ docker stop alertmanager +docker stop alertmanager ``` Next, take a snapshot of the persistent volume `/path/to/alertmanager-persistence` using: ```console -$ rsync -a /path/to/alertmanager-persistence /path/to/alertmanager-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/alertmanager-persistence /path/to/alertmanager-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -166,15 +166,15 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v alertmanager +docker rm -v alertmanager ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name alertmanager bitnami/alertmanager:latest +docker run --name alertmanager bitnami/alertmanager:latest ``` ## Contributing @@ -186,13 +186,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/apache-exporter/README.md b/bitnami/apache-exporter/README.md index 5e4114815efc..675c28c013e3 100644 --- a/bitnami/apache-exporter/README.md +++ b/bitnami/apache-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name apache-exporter bitnami/apache-exporter:latest +docker run --name apache-exporter bitnami/apache-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Apache Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/apache-exporter). ```console -$ docker pull bitnami/apache-exporter:latest +docker pull bitnami/apache-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/apache-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/apache-exporter:[TAG] +docker pull bitnami/apache-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create apache-exporter-network --driver bridge +docker network create apache-exporter-network --driver bridge ``` #### Step 2: Launch the apache-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create apache-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `apache-exporter-network` network. ```console -$ docker run --name apache-exporter-node1 --network apache-exporter-network bitnami/apache-exporter:latest +docker run --name apache-exporter-node1 --network apache-exporter-network bitnami/apache-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration flags in [the Apache Exporter official documentation] The Bitnami Apache Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs apache-exporter +docker logs apache-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of Apache Exporter, including security patc #### Step 1: Get the updated image ```console -$ docker pull bitnami/apache-exporter:latest +docker pull bitnami/apache-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/apache-exporter:latest Stop the currently running container using the command ```console -$ docker stop apache-exporter +docker stop apache-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v apache-exporter +docker rm -v apache-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v apache-exporter Re-create your container from the new image. ```console -$ docker run --name apache-exporter bitnami/apache-exporter:latest +docker run --name apache-exporter bitnami/apache-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/apache/README.md b/bitnami/apache/README.md index 14ebb8ad8388..ae5d3086ad59 100644 --- a/bitnami/apache/README.md +++ b/bitnami/apache/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name apache bitnami/apache:latest +docker run --name apache bitnami/apache:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/apache/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/apache/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the available configuration options in the [Environment Variables](#environment-variables) section. @@ -55,21 +55,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Apache Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/apache). ```console -$ docker pull bitnami/apache:latest +docker pull bitnami/apache:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/apache/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/apache:[TAG] +docker pull bitnami/apache:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Hosting a static website @@ -77,7 +77,7 @@ $ docker build -t bitnami/APP:latest . The `/app` path is configured as the Apache [DocumentRoot](https://httpd.apache.org/docs/2.4/urlmapping.html#documentroot). Content mounted here is served by the default catch-all virtual host. ```console -$ docker run --name apache -v /path/to/app:/app bitnami/apache:latest +docker run --name apache -v /path/to/app:/app bitnami/apache:latest ``` or using Docker Compose: @@ -102,13 +102,13 @@ services: To access your web server from your host machine you can ask Docker to map a random port on your host to ports `8080` and `8443` exposed in the container. ```console -$ docker run --name apache -P bitnami/apache:latest +docker run --name apache -P bitnami/apache:latest ``` Run `docker port` to determine the random ports Docker assigned. ```console -$ docker port apache +docker port apache 8443/tcp -> 0.0.0.0:32768 8080/tcp -> 0.0.0.0:32769 ``` @@ -116,7 +116,7 @@ $ docker port apache You can also manually specify the ports you want forwarded from your host to the container. ```console -$ docker run -p 8080:8080 -p 8443:8443 bitnami/apache:latest +docker run -p 8080:8080 -p 8443:8443 bitnami/apache:latest ``` Access your web server in the browser by navigating to `http://localhost:8080/`. @@ -127,7 +127,7 @@ Access your web server in the browser by navigating to `http://localhost:8080/`. When you start the Apache 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: +* For docker-compose add the variable name and value under the application section: ```yaml version: '2' @@ -142,10 +142,10 @@ services: - APACHE_HTTP_PORT_NUMBER=8081 ``` - * For manual execution add a `-e` option with each variable and value: +* For manual execution add a `-e` option with each variable and value: ```console -$ docker run -d --name apache -p 80:8081 -p 443:443 \ +docker run -d --name apache -p 80:8081 -p 443:443 \ --network apache-tier \ --e APACHE_HTTP_PORT_NUMBER=8081 \ bitnami/apache:latest @@ -153,8 +153,8 @@ $ docker run -d --name apache -p 80:8081 -p 443:443 \ Available variables: - - `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** - - `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** +* `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** +* `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** ### Adding custom virtual hosts @@ -162,7 +162,7 @@ The default `httpd.conf` includes virtual hosts placed in `/opt/bitnami/apache/c For example, in order add a vhost for `www.example.com`: -#### Step 1: Write your `my_vhost.conf` file with the following content. +#### Step 1: Write your `my_vhost.conf` file with the following content ```apache @@ -176,10 +176,10 @@ For example, in order add a vhost for `www.example.com`: ``` -#### Step 2: Mount the configuration as a volume. +#### Step 2: Mount the configuration as a volume ```console -$ docker run --name apache \ +docker run --name apache \ -v /path/to/my_vhost.conf:/vhosts/my_vhost.conf:ro \ bitnami/apache:latest ``` @@ -210,9 +210,9 @@ This container comes with SSL support already pre-configured and with a dummy ce In your local computer, create a folder called `certs` and put your certificates files. Make sure you rename both files to `server.crt` and `server.key` respectively: ```console -$ mkdir /path/to/apache-certs -p -$ cp /path/to/certfile.crt /path/to/apache-certs/server.crt -$ cp /path/to/keyfile.key /path/to/apache-certs/server.key +mkdir /path/to/apache-certs -p +cp /path/to/certfile.crt /path/to/apache-certs/server.crt +cp /path/to/keyfile.key /path/to/apache-certs/server.key ``` #### Step 2: Run the Apache image @@ -220,7 +220,7 @@ $ cp /path/to/keyfile.key /path/to/apache-certs/server.key Run the Apache image, mounting the certificates directory from your host. ```console -$ docker run --name apache \ +docker run --name apache \ -v /path/to/apache-certs:/certs \ bitnami/apache:latest ``` @@ -245,7 +245,7 @@ services: The image looks for configurations in `/opt/bitnami/apache/conf`. You can overwrite the `httpd.conf` file using your own custom configuration file. ```console -$ docker run --name apache \ +docker run --name apache \ -v /path/to/httpd.conf:/opt/bitnami/apache/conf/httpd.conf \ bitnami/apache:latest ``` @@ -271,20 +271,20 @@ Apache can be used to reverse proxy to other containers using Docker's linking s **Further Reading:** - - [mod_proxy documentation](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#forwardreverse) +* [mod_proxy documentation](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#forwardreverse) ## Logging The Bitnami Apache Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs apache +docker logs apache ``` or using Docker Compose: ```console -$ docker-compose logs apache +docker-compose logs apache ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -297,10 +297,10 @@ The Bitnami Apache Docker image is designed to be extended so it can be used as Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](#full-configuration). -- [Using custom SSL certificates](#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](#full-configuration). +* [Using custom SSL certificates](#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -312,10 +312,10 @@ FROM bitnami/apache 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 -- Change the user that runs the container +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache +* Change the user that runs the container ```Dockerfile FROM bitnami/apache @@ -341,9 +341,9 @@ USER 1002 Based on the extended image, you can use a Docker Compose file like the one below to add other features: -- Add a custom virtual host -- Add custom certificates -- Clone your web application and serve it through Apache +* Add a custom virtual host +* Add custom certificates +* Clone your web application and serve it through Apache ```yaml version: '2' @@ -382,7 +382,7 @@ Bitnami provides up-to-date versions of Apache, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/apache:latest +docker pull bitnami/apache:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -393,19 +393,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop apache +docker stop apache ``` or using Docker Compose: ```console -$ docker-compose stop apache +docker-compose stop apache ``` Next, take a snapshot of the persistent volume `/path/to/apache-persistence` using: ```console -$ rsync -a /path/to/apache-persistence /path/to/apache-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/apache-persistence /path/to/apache-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -413,13 +413,13 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v apache +docker rm -v apache ``` or using Docker Compose: ```console -$ docker-compose rm -v apache +docker-compose rm -v apache ``` #### Step 4: Run the new image @@ -427,69 +427,69 @@ $ docker-compose rm -v apache Re-create your container from the new image. ```console -$ docker run --name apache bitnami/apache:latest +docker run --name apache bitnami/apache:latest ``` or using Docker Compose: ```console -$ docker-compose up apache +docker-compose up apache ``` ## Useful Links -- [Create An AMP Development Environment With Bitnami Containers +* [Create An AMP Development Environment With Bitnami Containers ](https://docs.bitnami.com/containers/how-to/create-amp-environment-containers/) ## Notable Changes ### 2.4.54-debian-11-r22 -- Removed the [Apache PageSpeed Module (`mod_pagespeed`)](https://developers.google.com/speed/pagespeed/module). +* Removed the [Apache PageSpeed Module (`mod_pagespeed`)](https://developers.google.com/speed/pagespeed/module). ### 2.4.43-debian-10-r66 -- Included [Apache PageSpeed Module (`mod_pagespeed`)](https://developers.google.com/speed/pagespeed/module). It is disabled by default. To enable it, uncomment the following lines in `httpd.conf`: +* Included [Apache PageSpeed Module (`mod_pagespeed`)](https://developers.google.com/speed/pagespeed/module). It is disabled by default. To enable it, uncomment the following lines in `httpd.conf`: -``` +```text ##Include conf/pagespeed.conf ##Include conf/pagespeed_libraries.conf ``` -- Included [ModSecurity v2](https://github.com/SpiderLabs/ModSecurity). It is disabled by default. To enable it, mount and enable your custom ModSecurity rules for the virtual hosts, and uncomment the following line in `httpd.conf`: +* Included [ModSecurity v2](https://github.com/SpiderLabs/ModSecurity). It is disabled by default. To enable it, mount and enable your custom ModSecurity rules for the virtual hosts, and uncomment the following line in `httpd.conf`: -``` +```text ##LoadModule security2_module modules/mod_security2.so ``` -- Included [ModSecurity v3](https://github.com/SpiderLabs/ModSecurity) and [ModSecurity v3 Apache Connector (`mod_security3`)](https://github.com/SpiderLabs/ModSecurity-apache). It is disabled by default. To enable it, mount and enable your custom ModSecurity rules for the virtual hosts, and uncomment the following line in `httpd.conf`: +* Included [ModSecurity v3](https://github.com/SpiderLabs/ModSecurity) and [ModSecurity v3 Apache Connector (`mod_security3`)](https://github.com/SpiderLabs/ModSecurity-apache). It is disabled by default. To enable it, mount and enable your custom ModSecurity rules for the virtual hosts, and uncomment the following line in `httpd.conf`: -``` +```text ##LoadModule security3_module modules/mod_security3.so ``` ### 2.4.41-debian-9-r40 and 2.4.41-ol-7-r42 -- Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. +* Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. ### 2.4.39-debian-9-r40 and 2.4.39-ol-7-r50 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. Find an example at [Using custom SSL certificates](#using-custom-ssl-certificates). +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. Find an example at [Using custom SSL certificates](#using-custom-ssl-certificates). ### 2.4.34-r8 -- The Apache container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `apache` user. From now on, both the container and the Apache daemon run as user `1001`. As a consequence, the HTTP/HTTPS ports exposed by the container are now 8080/8443 instead of 80/443. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Apache container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `apache` user. From now on, both the container and the Apache daemon run as user `1001`. As a consequence, the HTTP/HTTPS ports exposed by the container are now 8080/8443 instead of 80/443. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 2.4.18-r0 -- The configuration volume has been moved to `/bitnami/apache`. Now you only need to mount a single volume at `/bitnami/apache` for persisting configuration. `/app` is still used for serving content by the default virtual host. -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* The configuration volume has been moved to `/bitnami/apache`. Now you only need to mount a single volume at `/bitnami/apache` for persisting configuration. `/app` is still used for serving content by the default virtual host. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ### 2.4.12-4-r01 -- The `/app` directory is no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume are not persisted between Dockerfile `RUN` instructions. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option. +* The `/app` directory is no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume are not persisted between Dockerfile `RUN` instructions. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option. ## Contributing @@ -507,7 +507,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/appsmith/README.md b/bitnami/appsmith/README.md index ec7bebec992e..c4323f17411c 100644 --- a/bitnami/appsmith/README.md +++ b/bitnami/appsmith/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name appsmith bitnami/appsmith +docker run -it --name appsmith bitnami/appsmith ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/appsmith/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/appsmith/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Appsmith Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/appsmith). ```console -$ docker pull bitnami/appsmith:latest +docker pull bitnami/appsmith:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/appsmith/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/appsmith:[TAG] +docker pull bitnami/appsmith:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Appsmith, including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/appsmith:latest +docker pull bitnami/appsmith:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/appsmith:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v appsmith +docker rm -v appsmith ``` or using Docker Compose: ```console -$ docker-compose rm -v appsmith +docker-compose rm -v appsmith ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v appsmith Re-create your container from the new image. ```console -$ docker run --name appsmith bitnami/appsmith:latest +docker run --name appsmith bitnami/appsmith:latest ``` or using Docker Compose: ```console -$ docker-compose up appsmith +docker-compose up appsmith ``` ## Configuration @@ -106,7 +106,7 @@ $ docker-compose up appsmith When you start the Appsmith 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. Please note that some variables are only considered when the container is started for the first time. 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/appsmith/docker-compose.yml) file present in this repository: +* 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/appsmith/docker-compose.yml) file present in this repository: ```yaml appsmith-api: @@ -116,10 +116,10 @@ When you start the Appsmith image, you can adjust the configuration of the insta ... ``` -- For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name appsmith-api -p 80:8080 -p 443:8443 \ + docker run -d --name appsmith-api -p 80:8080 -p 443:8443 \ --env APPSMITH_PASSWORD=my_password \ --env APPSMITH_MODE=backend \ --network appsmith-tier \ @@ -133,44 +133,44 @@ Available environment variables: Appsmith supports three running modes: -- Backend: The Appsmith API. It is the essential functional element of Appsmith. -- RTS: Necessary for performing real-time editing of the applications created by Appsmith. -- Client: Contains the UI of Appsmith. This is the main entrypoint for users. +* Backend: The Appsmith API. It is the essential functional element of Appsmith. +* RTS: Necessary for performing real-time editing of the applications created by Appsmith. +* Client: Contains the UI of Appsmith. This is the main entrypoint for users. The running mode is defined via the `APPSMITH_MODE` environment variable. The possible values are `backend`, `rts` and `client`. ##### User and Site configuration -- `APPSMITH_UI_HTTP_PORT`: Port used by the Client for HTTP. Default: **8080** -- `APPSMITH_USERNAME`: Appsmith application username. Default: **user** -- `APPSMITH_PASSWORD`: Appsmith application password. Default: **bitnami** -- `APPSMITH_EMAIL`: Appsmith application email. Default: **user@example.com** -- `APPSMITH_DATA_TO_PERSIST`: Space separated list of files and directories to persist. Use a space to persist no data: `" "`. Default: **"docker.env"** +* `APPSMITH_UI_HTTP_PORT`: Port used by the Client for HTTP. Default: **8080** +* `APPSMITH_USERNAME`: Appsmith application username. Default: **user** +* `APPSMITH_PASSWORD`: Appsmith application password. Default: **bitnami** +* `APPSMITH_EMAIL`: Appsmith application email. Default: **user@example.com** +* `APPSMITH_DATA_TO_PERSIST`: Space separated list of files and directories to persist. Use a space to persist no data: `" "`. Default: **"docker.env"** ##### Salt and keys configuration Authentication unique keys and salts. Specify these values to prevent cookies from being invalidated when creating a new container or when using multiple containers to serve the same Appsmith instance. By default these values are generated randomly: -- `APPSMITH_ENCRYPTION_PASSWORD`: Database encryption password. Default: **bitnami**. -- `APPSMITH_ENCRYPTION_SALT`: Database encryption salt. Default: **bitnami**. +* `APPSMITH_ENCRYPTION_PASSWORD`: Database encryption password. Default: **bitnami**. +* `APPSMITH_ENCRYPTION_SALT`: Database encryption salt. Default: **bitnami**. ##### Database connection configuration -- `APPSMITH_DATABASE_HOST`: Hostname for the MongoDB(TM) servers (comma separated). Default: **mongodb** -- `APPSMITH_DATABASE_PORT_NUMBER`: Port used by the MongoDB(TM) server. Default: **27017** -- `APPSMITH_DATABASE_NAME`: Database name that Appsmith will use to connect with the database. Default: **bitnami_appsmith** -- `APPSMITH_DATABASE_USER`: Database user that Appsmith will use to connect with the database. Default: **bn_appsmith** -- `APPSMITH_DATABASE_PASSWORD`: Database password that Appsmith will use to connect with the database. No defaults. -- `APPSMITH_REDIS_HOST`: Hostname for the Redis(TM) server. Default: **redis** -- `APPSMITH_REDIS_PORT_NUMBER`: Port used by the Redis(TM) server. Default: **6379** -- `APPSMITH_REDIS_PASSWORD`: Database password that Appsmith will use to connect with the database. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `APPSMITH_DATABASE_HOST`: Hostname for the MongoDB(TM) servers (comma separated). Default: **mongodb** +* `APPSMITH_DATABASE_PORT_NUMBER`: Port used by the MongoDB(TM) server. Default: **27017** +* `APPSMITH_DATABASE_NAME`: Database name that Appsmith will use to connect with the database. Default: **bitnami_appsmith** +* `APPSMITH_DATABASE_USER`: Database user that Appsmith will use to connect with the database. Default: **bn_appsmith** +* `APPSMITH_DATABASE_PASSWORD`: Database password that Appsmith will use to connect with the database. No defaults. +* `APPSMITH_REDIS_HOST`: Hostname for the Redis(TM) server. Default: **redis** +* `APPSMITH_REDIS_PORT_NUMBER`: Port used by the Redis(TM) server. Default: **6379** +* `APPSMITH_REDIS_PASSWORD`: Database password that Appsmith will use to connect with the database. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** ##### Connect Appsmith container to an existing database The Bitnami Appsmith container supports connecting the Appsmith application to an external database. This would be an example of using an external database for Appsmith. -- Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/appsmith/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/appsmith/docker-compose.yml) file present in this repository: ```diff appsmith: @@ -186,10 +186,10 @@ The Bitnami Appsmith container supports connecting the Appsmith application to a ... ``` -- For manual execution: +* For manual execution: ```console - $ docker run -d --name appsmith\ + docker run -d --name appsmith\ -p 8080:8080 -p 8443:8443 \ --network appsmith-network \ --env APPSMITH_DATABASE_HOST=mongodb_host \ @@ -206,13 +206,13 @@ The Bitnami Appsmith container supports connecting the Appsmith application to a The Bitnami Appsmith Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs wordpress +docker logs wordpress ``` Or using Docker Compose: ```console -$ docker-compose logs wordpress +docker-compose logs wordpress ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -233,7 +233,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/argo-cd/README.md b/bitnami/argo-cd/README.md index 681aeb59908a..ab7c304c5f5d 100644 --- a/bitnami/argo-cd/README.md +++ b/bitnami/argo-cd/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name argo-cd bitnami/argo-cd +docker run -it --name argo-cd bitnami/argo-cd ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/argo-cd/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/argo-cd/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Argo CD Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/argo-cd). ```console -$ docker pull bitnami/argo-cd:latest +docker pull bitnami/argo-cd:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/argo-cd/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/argo-cd:[TAG] +docker pull bitnami/argo-cd:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Argo CD, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/argo-cd:latest +docker pull bitnami/argo-cd:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/argo-cd:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v argo-cd +docker rm -v argo-cd ``` or using Docker Compose: ```console -$ docker-compose rm -v argo-cd +docker-compose rm -v argo-cd ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v argo-cd Re-create your container from the new image. ```console -$ docker run --name argo-cd bitnami/argo-cd:latest +docker run --name argo-cd bitnami/argo-cd:latest ``` or using Docker Compose: ```console -$ docker-compose up argo-cd +docker-compose up argo-cd ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up argo-cd To run commands inside this container you can use `docker run`, for example to execute `argocd --help` you can follow the example below: ```console -$ docker run --rm --name argo-cd bitnami/argo-cd:latest --help +docker run --rm --name argo-cd bitnami/argo-cd:latest --help ``` Check the [official Argo CD documentation](https://argo-cd.readthedocs.io/en/stable/operator-manual/server-commands/argocd-server/) for the list of the available parameters. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/argo-workflow-cli/README.md b/bitnami/argo-workflow-cli/README.md index dfcd197dae4d..744c679ec3d6 100644 --- a/bitnami/argo-workflow-cli/README.md +++ b/bitnami/argo-workflow-cli/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name argo-workflow-cli bitnami/argo-workflow-cli +docker run -it --name argo-workflow-cli bitnami/argo-workflow-cli ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/argo-workflow-cli/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/argo-workflow-cli/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -51,21 +51,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Argo Workflows CLI Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/argo-workflow-cli). ```console -$ docker pull bitnami/argo-workflow-cli:latest +docker pull bitnami/argo-workflow-cli:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/argo-workflow-cli/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/argo-workflow-cli:[TAG] +docker pull bitnami/argo-workflow-cli:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -77,7 +77,7 @@ Bitnami provides up-to-date versions of Argo Workflows CLI, including security p #### Step 1: Get the updated image ```console -$ docker pull bitnami/argo-workflow-cli:latest +docker pull bitnami/argo-workflow-cli:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/argo-workflow-cli:latest`. @@ -85,13 +85,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v argo-workflow-cli +docker rm -v argo-workflow-cli ``` or using Docker Compose: ```console -$ docker-compose rm -v argo-workflow-cli +docker-compose rm -v argo-workflow-cli ``` #### Step 3: Run the new image @@ -99,13 +99,13 @@ $ docker-compose rm -v argo-workflow-cli Re-create your container from the new image. ```console -$ docker run --name argo-workflow-cli bitnami/argo-workflow-cli:latest +docker run --name argo-workflow-cli bitnami/argo-workflow-cli:latest ``` or using Docker Compose: ```console -$ docker-compose up argo-workflow-cli +docker-compose up argo-workflow-cli ``` ## Configuration @@ -115,7 +115,7 @@ $ docker-compose up argo-workflow-cli To run commands inside this container you can use `docker run`, for example to execute `argocd --help` you can follow the example below: ```console -$ docker run --rm --name argo-workflow-cli bitnami/argo-workflow-cli:latest --help +docker run --rm --name argo-workflow-cli bitnami/argo-workflow-cli:latest --help ``` Check the [official Argo Workflows CLI documentation](https://argoproj.github.io/argo-workflows/cli/) for the list of the available parameters. @@ -136,7 +136,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/argo-workflow-controller/README.md b/bitnami/argo-workflow-controller/README.md index e0809eac10ca..10bba462c274 100644 --- a/bitnami/argo-workflow-controller/README.md +++ b/bitnami/argo-workflow-controller/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name argo-workflow-controller bitnami/argo-workflow-controller +docker run -it --name argo-workflow-controller bitnami/argo-workflow-controller ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/argo-workflow-controller/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/argo-workflow-controller/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -51,21 +51,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Argo Workflows Controller Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/argo-workflow-controller). ```console -$ docker pull bitnami/argo-workflow-controller:latest +docker pull bitnami/argo-workflow-controller:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/argo-workflow-controller/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/argo-workflow-controller:[TAG] +docker pull bitnami/argo-workflow-controller:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -77,7 +77,7 @@ Bitnami provides up-to-date versions of Argo Workflows Controller, including sec #### Step 1: Get the updated image ```console -$ docker pull bitnami/argo-workflow-controller:latest +docker pull bitnami/argo-workflow-controller:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/argo-workflow-controller:latest`. @@ -85,13 +85,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v argo-workflow-controller +docker rm -v argo-workflow-controller ``` or using Docker Compose: ```console -$ docker-compose rm -v argo-workflow-controller +docker-compose rm -v argo-workflow-controller ``` #### Step 3: Run the new image @@ -99,13 +99,13 @@ $ docker-compose rm -v argo-workflow-controller Re-create your container from the new image. ```console -$ docker run --name argo-workflow-controller bitnami/argo-workflow-controller:latest +docker run --name argo-workflow-controller bitnami/argo-workflow-controller:latest ``` or using Docker Compose: ```console -$ docker-compose up argo-workflow-controller +docker-compose up argo-workflow-controller ``` ## Configuration @@ -115,7 +115,7 @@ $ docker-compose up argo-workflow-controller To run commands inside this container you can use `docker run`, for example to execute `argocd --help` you can follow the example below: ```console -$ docker run --rm --name argo-workflow-controller bitnami/argo-workflow-controller:latest --help +docker run --rm --name argo-workflow-controller bitnami/argo-workflow-controller:latest --help ``` Check the [official Argo Workflows Controller documentation](https://argoproj.github.io/argo-workflows/environment-variables/#controller) for the list of the available parameters. @@ -136,7 +136,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/argo-workflow-exec/README.md b/bitnami/argo-workflow-exec/README.md index ad40b5b8c2a3..d9433cfe008f 100644 --- a/bitnami/argo-workflow-exec/README.md +++ b/bitnami/argo-workflow-exec/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name argo-workflow-exec bitnami/argo-workflow-exec +docker run -it --name argo-workflow-exec bitnami/argo-workflow-exec ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/argo-workflow-exec/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/argo-workflow-exec/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Argo Workflows Executor Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/argo-workflow-exec). ```console -$ docker pull bitnami/argo-workflow-exec:latest +docker pull bitnami/argo-workflow-exec:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/argo-workflow-exec/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/argo-workflow-exec:[TAG] +docker pull bitnami/argo-workflow-exec:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -73,7 +73,7 @@ Bitnami provides up-to-date versions of Argo Workflows Executor, including secur #### Step 1: Get the updated image ```console -$ docker pull bitnami/argo-workflow-exec:latest +docker pull bitnami/argo-workflow-exec:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/argo-workflow-exec:latest`. @@ -81,13 +81,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v argo-workflow-exec +docker rm -v argo-workflow-exec ``` or using Docker Compose: ```console -$ docker-compose rm -v argo-workflow-exec +docker-compose rm -v argo-workflow-exec ``` #### Step 3: Run the new image @@ -95,13 +95,13 @@ $ docker-compose rm -v argo-workflow-exec Re-create your container from the new image. ```console -$ docker run --name argo-workflow-exec bitnami/argo-workflow-exec:latest +docker run --name argo-workflow-exec bitnami/argo-workflow-exec:latest ``` or using Docker Compose: ```console -$ docker-compose up argo-workflow-exec +docker-compose up argo-workflow-exec ``` ## Configuration @@ -111,7 +111,7 @@ $ docker-compose up argo-workflow-exec To run commands inside this container you can use `docker run`, for example to execute `argocd --help` you can follow the example below: ```console -$ docker run --rm --name argo-workflow-exec bitnami/argo-workflow-exec:latest --help +docker run --rm --name argo-workflow-exec bitnami/argo-workflow-exec:latest --help ``` Check the [official Argo Workflows Executor documentation](https://argoproj.github.io/argo-workflows/workflow-executors/) for the list of the available parameters. @@ -132,7 +132,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/aspnet-core/README.md b/bitnami/aspnet-core/README.md index 799769ba7e88..c02c144b83bf 100644 --- a/bitnami/aspnet-core/README.md +++ b/bitnami/aspnet-core/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name aspnet-core bitnami/aspnet-core:latest +docker run --name aspnet-core bitnami/aspnet-core:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/aspnet-core/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/aspnet-core/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami aspnet-core Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/aspnet-core). ```console -$ docker pull bitnami/aspnet-core:latest +docker pull bitnami/aspnet-core:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/aspnet-core/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/aspnet-core:[TAG] +docker pull bitnami/aspnet-core:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -67,7 +67,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/app` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/aspnet-core-persistence:/app \ bitnami/aspnet-core:latest ``` @@ -93,7 +93,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create aspnet-core-network --driver bridge +docker network create aspnet-core-network --driver bridge ``` #### Step 2: Launch the aspnet-core container within your network @@ -101,7 +101,7 @@ $ docker network create aspnet-core-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `aspnet-core-network` network. ```console -$ docker run --name aspnet-core-node1 --network aspnet-core-network bitnami/aspnet-core:latest +docker run --name aspnet-core-node1 --network aspnet-core-network bitnami/aspnet-core:latest ``` #### Step 3: Run another containers @@ -113,7 +113,7 @@ We can launch another containers using the same flag (`--network NETWORK`) in th The Bitnami aspnet-core Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs aspnet-core +docker logs aspnet-core ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -127,7 +127,7 @@ Bitnami provides up-to-date versions of aspnet-core, including security patches, #### Step 1: Get the updated image ```console -$ docker pull bitnami/aspnet-core:latest +docker pull bitnami/aspnet-core:latest ``` #### Step 2: Stop the running container @@ -135,13 +135,13 @@ $ docker pull bitnami/aspnet-core:latest Stop the currently running container using the command ```console -$ docker stop aspnet-core +docker stop aspnet-core ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v aspnet-core +docker rm -v aspnet-core ``` #### Step 4: Run the new image @@ -149,7 +149,7 @@ $ docker rm -v aspnet-core Re-create your container from the new image. ```console -$ docker run --name aspnet-core bitnami/aspnet-core:latest +docker run --name aspnet-core bitnami/aspnet-core:latest ``` ## Contributing @@ -168,7 +168,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/aws-cli/README.md b/bitnami/aws-cli/README.md index 1bb20ffba9c1..fa0a31fe2a6f 100644 --- a/bitnami/aws-cli/README.md +++ b/bitnami/aws-cli/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name aws-cli bitnami/aws-cli:latest +docker run --name aws-cli bitnami/aws-cli:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami aws-cli Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/aws-cli). ```console -$ docker pull bitnami/aws-cli:latest +docker pull bitnami/aws-cli:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/aws-cli/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/aws-cli:[TAG] +docker pull bitnami/aws-cli:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `aws-cli --version` you can follow the example below: ```console -$ docker run --rm --name aws-cli bitnami/aws-cli:latest -- --version +docker run --rm --name aws-cli bitnami/aws-cli:latest -- --version ``` Consult the [aws-cli Reference Documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/index.html) to find the completed list of commands available. @@ -70,7 +70,7 @@ Consult the [aws-cli Reference Documentation](https://awscli.amazonaws.com/v2/do It's possible to load your own configuration, which is useful if you want to connect to a remote cluster: ```console -$ docker run --rm --name aws-cli -v /path/to/your/aws/config:/.aws/config bitnami/aws-cli:latest +docker run --rm --name aws-cli -v /path/to/your/aws/config:/.aws/config bitnami/aws-cli:latest ``` ## Contributing @@ -89,7 +89,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/azure-cli/README.md b/bitnami/azure-cli/README.md index 9b660be57ca6..a3ae627e97d5 100644 --- a/bitnami/azure-cli/README.md +++ b/bitnami/azure-cli/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name azure-cli bitnami/azure-cli:latest +docker run --name azure-cli bitnami/azure-cli:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami azure-cli Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/azure-cli). ```console -$ docker pull bitnami/azure-cli:latest +docker pull bitnami/azure-cli:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/azure-cli/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/azure-cli:[TAG] +docker pull bitnami/azure-cli:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `azure-cli --version` you can follow the example below: ```console -$ docker run --rm --name azure-cli bitnami/azure-cli:latest -- --version +docker run --rm --name azure-cli bitnami/azure-cli:latest -- --version ``` Consult the [azure-cli Reference Documentation](https://docs.microsoft.com/en-us/cli/azure/reference-index?view=azure-cli-latest) to find the completed list of commands available. @@ -70,7 +70,7 @@ Consult the [azure-cli Reference Documentation](https://docs.microsoft.com/en-us It's possible to load your own configuration, which is useful if you want to connect to a remote cluster: ```console -$ docker run --rm --name azure-cli -v /path/to/your/az/config:/.azure/config bitnami/azure-cli:latest +docker run --rm --name azure-cli -v /path/to/your/az/config:/.azure/config bitnami/azure-cli:latest ``` ## Contributing @@ -89,7 +89,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/bitnami-shell/README.md b/bitnami/bitnami-shell/README.md index a33af05ad168..06f420b9e012 100644 --- a/bitnami/bitnami-shell/README.md +++ b/bitnami/bitnami-shell/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name bitnami-shell bitnami/bitnami-shell:latest +docker run --name bitnami-shell bitnami/bitnami-shell:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami bitnami-shell Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/bitnami-shell). ```console -$ docker pull bitnami/bitnami-shell:latest +docker pull bitnami/bitnami-shell:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/bitnami-shell/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/bitnami-shell:[TAG] +docker pull bitnami/bitnami-shell:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `echo Hello world` you can follow the example below: ```console -$ docker run --rm --name bitnami-shell bitnami/bitnami-shell:latest echo hello world +docker run --rm --name bitnami-shell bitnami/bitnami-shell:latest echo hello world ``` ## Contributing @@ -79,7 +79,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/blackbox-exporter/README.md b/bitnami/blackbox-exporter/README.md index 1d5d471ae901..448a2a71d52c 100644 --- a/bitnami/blackbox-exporter/README.md +++ b/bitnami/blackbox-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name blackbox-exporter bitnami/blackbox-exporter:latest +docker run --name blackbox-exporter bitnami/blackbox-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Blackbox Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/blackbox-exporter). ```console -$ docker pull bitnami/blackbox-exporter:latest +docker pull bitnami/blackbox-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/blackbox-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/blackbox-exporter:[TAG] +docker pull bitnami/blackbox-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create blackbox-exporter-network --driver bridge +docker network create blackbox-exporter-network --driver bridge ``` #### Step 2: Launch the Blackbox_exporter container within your network @@ -76,7 +76,7 @@ $ docker network create blackbox-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `blackbox-exporter-network` network. ```console -$ docker run --name blackbox-exporter-node1 --network blackbox-exporter-network bitnami/blackbox-exporter:latest +docker run --name blackbox-exporter-node1 --network blackbox-exporter-network bitnami/blackbox-exporter:latest ``` #### Step 3: Run another containers @@ -131,7 +131,7 @@ scrape_configs: The Bitnami blackbox-exporter Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs blackbox-exporter +docker logs blackbox-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -145,7 +145,7 @@ Bitnami provides up-to-date versions of blackbox-exporter, including security pa #### Step 1: Get the updated image ```console -$ docker pull bitnami/blackbox-exporter:latest +docker pull bitnami/blackbox-exporter:latest ``` #### Step 2: Stop and backup the currently running container @@ -153,13 +153,13 @@ $ docker pull bitnami/blackbox-exporter:latest Stop the currently running container using the command ```console -$ docker stop blackbox-exporter +docker stop blackbox-exporter ``` Next, take a snapshot of the persistent volume `/path/to/blackbox-exporter-persistence` using: ```console -$ rsync -a /path/to/blackbox-exporter-persistence /path/to/blackbox-exporter-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/blackbox-exporter-persistence /path/to/blackbox-exporter-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -167,15 +167,15 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v blackbox-exporter +docker rm -v blackbox-exporter ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name blackbox-exporter bitnami/blackbox-exporter:latest +docker run --name blackbox-exporter bitnami/blackbox-exporter:latest ``` ## Contributing @@ -195,13 +195,14 @@ The Bitnami team will review any PR that is created, feel free to create a PR if New versions and releases cadence are not going to be affected. Once a new version is released in the upstream project, the Bitnami container image will be updated to use the latest version, supporting the different branches supported by the upstream project as usual. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/cainjector/README.md b/bitnami/cainjector/README.md index c8a9018438f5..9c48419d1031 100644 --- a/bitnami/cainjector/README.md +++ b/bitnami/cainjector/README.md @@ -12,14 +12,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/cainjector:latest +docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/cainjector:latest ``` -#### Docker Compose +### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cainjector/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cainjector/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -71,7 +71,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/cassandra-exporter/README.md b/bitnami/cassandra-exporter/README.md index 10da4aa06170..0e511fd47b94 100644 --- a/bitnami/cassandra-exporter/README.md +++ b/bitnami/cassandra-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name cassandra-exporter bitnami/cassandra-exporter:latest +docker run --name cassandra-exporter bitnami/cassandra-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Cassandra Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/cassandra-exporter). ```console -$ docker pull bitnami/cassandra-exporter:latest +docker pull bitnami/cassandra-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/cassandra-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/cassandra-exporter:[TAG] +docker pull bitnami/cassandra-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create cassandra-exporter-network --driver bridge +docker network create cassandra-exporter-network --driver bridge ``` #### Step 2: Launch the cassandra-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create cassandra-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `cassandra-exporter-network` network. ```console -$ docker run --name cassandra-exporter-node1 --network cassandra-exporter-network bitnami/cassandra-exporter:latest +docker run --name cassandra-exporter-node1 --network cassandra-exporter-network bitnami/cassandra-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration options in the [Cassandra Prometheus Exporter documen The Bitnami Cassandra Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs cassandra-exporter +docker logs cassandra-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of Cassandra Exporter, including security p #### Step 1: Get the updated image ```console -$ docker pull bitnami/cassandra-exporter:latest +docker pull bitnami/cassandra-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/cassandra-exporter:latest Stop the currently running container using the command ```console -$ docker stop cassandra-exporter +docker stop cassandra-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v cassandra-exporter +docker rm -v cassandra-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v cassandra-exporter Re-create your container from the new image. ```console -$ docker run --name cassandra-exporter bitnami/cassandra-exporter:latest +docker run --name cassandra-exporter bitnami/cassandra-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/cassandra/README.md b/bitnami/cassandra/README.md index 69dbbbf597ee..9c31e47f9d4d 100644 --- a/bitnami/cassandra/README.md +++ b/bitnami/cassandra/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name cassandra bitnami/cassandra:latest +docker run --name cassandra bitnami/cassandra:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cassandra/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cassandra/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -55,21 +55,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Apache Cassandra Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/cassandra). ```console -$ docker pull bitnami/cassandra:latest +docker pull bitnami/cassandra:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/cassandra/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/cassandra:[TAG] +docker pull bitnami/cassandra:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -79,7 +79,7 @@ If you remove the container all your data and configurations will be lost, and t For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/cassandra-persistence:/bitnami \ bitnami/cassandra:latest ``` @@ -108,7 +108,7 @@ In this example, we will create an Apache Cassandra client instance that will co #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Apache Cassandra server instance @@ -116,7 +116,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Apache Cassandra container to the `app-tier` network. ```console -$ docker run -d --name cassandra-server \ +docker run -d --name cassandra-server \ --network app-tier \ bitnami/cassandra:latest ``` @@ -126,7 +126,7 @@ $ docker run -d --name cassandra-server \ Finally we create a new container instance to launch the Apache Cassandra client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/cassandra:latest cqlsh --username cassandra --password cassandra cassandra-server ``` @@ -161,7 +161,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -170,7 +170,8 @@ $ docker-compose up -d When you start the cassandra 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: +* For docker-compose add the variable name and value under the application section: + ```yaml cassandra: image: bitnami/cassandra:latest @@ -178,10 +179,10 @@ cassandra: - CASSANDRA_TRANSPORT_PORT_NUMBER=7000 ``` - * For manual execution add a `-e` option with each variable and value: +* For manual execution add a `-e` option with each variable and value: ```console - $ docker run --name cassandra -d -p 7000:7000 --network=cassandra_network \ + docker run --name cassandra -d -p 7000:7000 --network=cassandra_network \ -e CASSANDRA_TRANSPORT_PORT_NUMBER=7000 \ -v /your/local/path/bitnami/cassandra:/bitnami \ bitnami/cassandra @@ -189,41 +190,41 @@ cassandra: **In case you do not mount custom configuration files**, the following variables are available for configuring cassandra: - - `CASSANDRA_TRANSPORT_PORT_NUMBER`: Inter-node cluster communication port. Default: **7000** - - `CASSANDRA_JMX_PORT_NUMBER`: JMX connections port. Default: **7199** - - `CASSANDRA_CQL_PORT_NUMBER`: Client port. Default: **9042**. - - `CASSANDRA_USER`: Apache Cassandra user name. Defaults: **cassandra** - - `CASSANDRA_PASSWORD_SEEDER`: Password seeder will change the Apache Cassandra default credentials at initialization. In clusters, only one node should be marked as password seeder. Default: **no** - - `CASSANDRA_PASSWORD`: Apache Cassandra user password. Default: **cassandra** - - `CASSANDRA_NUM_TOKENS`: Number of tokens for the node. Default: **256**. - - `CASSANDRA_HOST`: Hostname used to configure Apache Cassandra. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP. - - `CASSANDRA_CLUSTER_NAME`: Cluster name to configure Apache Cassandra.. Defaults: **My Cluster** - - `CASSANDRA_SEEDS`: Hosts that will act as Apache Cassandra seeds. No defaults. - - `CASSANDRA_ENDPOINT_SNITCH`: Snitch name (which determines which data centers and racks nodes belong to). Default **SimpleSnitch** - - `CASSANDRA_ENABLE_RPC`: Enable the thrift RPC endpoint (ignored for Apache Cassandra 4.X and newer). Default :**true** - - `CASSANDRA_DATACENTER`: Datacenter name for the cluster. Ignored in **SimpleSnitch** endpoint snitch. Default: **dc1**. - - `CASSANDRA_RACK`: Rack name for the cluster. Ignored in **SimpleSnitch** endpoint snitch. Default: **rack1**. - - `CASSANDRA_ENABLE_USER_DEFINED_FUNCTIONS`: User defined functions. Default: **false**. - - `CASSANDRA_ENABLE_SCRIPTED_USER_DEFINED_FUNCTIONS`: User defined scripted functions. Default: **false** - - `CASSANDRA_BROADCAST_ADDRESS`: The public IP address this node uses to broadcast to other nodes outside the network or across regions in multiple-region EC2 deployments. This option is commented out by default (if not provided, Apache Cassandra will use "listen_address"). No defaults. - - `CASSANDRA_COMMITLOG_DIR`: Directory where the commit logs will be stored. Default: **/bitnami/cassandra/data/commitlog** - - `CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE`: Automatically upgrade sstables after upgrade - if there is no ordinary compaction to do, the oldest non-upgraded sstable will get upgraded to the latest version. Default: **false**. +* `CASSANDRA_TRANSPORT_PORT_NUMBER`: Inter-node cluster communication port. Default: **7000** +* `CASSANDRA_JMX_PORT_NUMBER`: JMX connections port. Default: **7199** +* `CASSANDRA_CQL_PORT_NUMBER`: Client port. Default: **9042**. +* `CASSANDRA_USER`: Apache Cassandra user name. Defaults: **cassandra** +* `CASSANDRA_PASSWORD_SEEDER`: Password seeder will change the Apache Cassandra default credentials at initialization. In clusters, only one node should be marked as password seeder. Default: **no** +* `CASSANDRA_PASSWORD`: Apache Cassandra user password. Default: **cassandra** +* `CASSANDRA_NUM_TOKENS`: Number of tokens for the node. Default: **256**. +* `CASSANDRA_HOST`: Hostname used to configure Apache Cassandra. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP. +* `CASSANDRA_CLUSTER_NAME`: Cluster name to configure Apache Cassandra.. Defaults: **My Cluster** +* `CASSANDRA_SEEDS`: Hosts that will act as Apache Cassandra seeds. No defaults. +* `CASSANDRA_ENDPOINT_SNITCH`: Snitch name (which determines which data centers and racks nodes belong to). Default **SimpleSnitch** +* `CASSANDRA_ENABLE_RPC`: Enable the thrift RPC endpoint (ignored for Apache Cassandra 4.X and newer). Default :**true** +* `CASSANDRA_DATACENTER`: Datacenter name for the cluster. Ignored in **SimpleSnitch** endpoint snitch. Default: **dc1**. +* `CASSANDRA_RACK`: Rack name for the cluster. Ignored in **SimpleSnitch** endpoint snitch. Default: **rack1**. +* `CASSANDRA_ENABLE_USER_DEFINED_FUNCTIONS`: User defined functions. Default: **false**. +* `CASSANDRA_ENABLE_SCRIPTED_USER_DEFINED_FUNCTIONS`: User defined scripted functions. Default: **false** +* `CASSANDRA_BROADCAST_ADDRESS`: The public IP address this node uses to broadcast to other nodes outside the network or across regions in multiple-region EC2 deployments. This option is commented out by default (if not provided, Apache Cassandra will use "listen_address"). No defaults. +* `CASSANDRA_COMMITLOG_DIR`: Directory where the commit logs will be stored. Default: **/bitnami/cassandra/data/commitlog** +* `CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE`: Automatically upgrade sstables after upgrade - if there is no ordinary compaction to do, the oldest non-upgraded sstable will get upgraded to the latest version. Default: **false**. Additionally, any environment variable beginning with the following prefix will be mapped to its corresponding Apache Cassandra key in the proper file: -- `CASSANDRA_CFG_ENV_`: Will add the corresponding key and the provided value to `cassandra-env.sh`. -- `CASSANDRA_CFG_RACKDC_`: Will add the corresponding key and the provided value to `cassandra-rackdc.properties`. -- `CASSANDRA_CFG_COMMITLOG_`: Will add the corresponding key and the provided value to `commitlog_archiving.properties`. +* `CASSANDRA_CFG_ENV_`: Will add the corresponding key and the provided value to `cassandra-env.sh`. +* `CASSANDRA_CFG_RACKDC_`: Will add the corresponding key and the provided value to `cassandra-rackdc.properties`. +* `CASSANDRA_CFG_COMMITLOG_`: Will add the corresponding key and the provided value to `commitlog_archiving.properties`. For example, use `CASSANDRA_CFG_RACKDC_PREFER_LOCAL` in order to configure `prefer_local` in `cassandra-rackdc.properties`: ```console -$ docker run --name cassandra -e CASSANDRA_CFG_RACKDC_PREFER_LOCAL=true bitnami/cassandra:latest +docker run --name cassandra -e CASSANDRA_CFG_RACKDC_PREFER_LOCAL=true bitnami/cassandra:latest ``` or modifying the `docker-compose.yaml` with: -``` +```yaml cassandra: ... environment: @@ -238,6 +239,7 @@ The image looks for configurations in `/opt/bitnami/cassandra/conf/`. You can mo For example, in order to override the `cassandra.yaml` configuration file: #### Step 1: Write your custom `cassandra.yaml` file + You can download the basic cassandra.yaml file like follows ```console @@ -246,10 +248,10 @@ wget https://raw.githubusercontent.com/apache/cassandra/trunk/conf/cassandra.yam Perform any desired modifications in that file -#### Step 2: Run the Apache Cassandra image with the designed volume attached. +#### Step 2: Run the Apache Cassandra image with the designed volume attached ```console -$ docker run --name cassandra \ +docker run --name cassandra \ -p 7000:7000 \ -e CASSANDRA_TRANSPORT_PORT_NUMBER=7000 \ -v /path/to/cassandra.yaml:/bitnami/cassandra/conf/cassandra.yaml:ro \ @@ -279,7 +281,7 @@ After that, your changes will be taken into account in the server's behaviour. N Passing the `CASSANDRA_PASSWORD` environment variable along with `CASSANDRA_PASSWORD_SEEDER=yes` when running the image for the first time will set the Apache Cassandra server password to the value of `CASSANDRA_PASSWORD`. ```console -$ docker run --name cassandra \ +docker run --name cassandra \ -e CASSANDRA_PASSWORD_SEEDER=yes \ -e CASSANDRA_PASSWORD=password123 \ bitnami/cassandra:latest @@ -299,32 +301,32 @@ cassandra: A cluster can easily be setup with the Bitnami Apache Cassandra Docker Image. **In case you do not mount custom configuration files**, you can use the following environment variables: - - `CASSANDRA_HOST`: Hostname used to configure Apache Cassandra. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP. - - `CASSANDRA_CLUSTER_NAME`: Cluster name to configure Apache Cassandra. Defaults: **My Cluster** - - `CASSANDRA_SEEDS`: Hosts that will act as Apache Cassandra seeds. No defaults. - - `CASSANDRA_ENDPOINT_SNITCH`: Snitch name (which determines which data centers and racks nodes belong to). Default **SimpleSnitch** - - `CASSANDRA_PASSWORD_SEEDER`: Password seeder will change the Apache Cassandra default credentials at initialization. Only one node should be marked as password seeder. Default: **no** - - `CASSANDRA_PASSWORD`: Apache Cassandra user password. Default: **cassandra** +* `CASSANDRA_HOST`: Hostname used to configure Apache Cassandra. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP. +* `CASSANDRA_CLUSTER_NAME`: Cluster name to configure Apache Cassandra. Defaults: **My Cluster** +* `CASSANDRA_SEEDS`: Hosts that will act as Apache Cassandra seeds. No defaults. +* `CASSANDRA_ENDPOINT_SNITCH`: Snitch name (which determines which data centers and racks nodes belong to). Default **SimpleSnitch** +* `CASSANDRA_PASSWORD_SEEDER`: Password seeder will change the Apache Cassandra default credentials at initialization. Only one node should be marked as password seeder. Default: **no** +* `CASSANDRA_PASSWORD`: Apache Cassandra user password. Default: **cassandra** Apache Cassandra is a resource-intensive application. Depending on the target system, the initialization can take long. The container has internal timeouts when checking the initialization process. You can use the following environment variables to address that: -- `CASSANDRA_INIT_MAX_RETRIES`: Maximum retries for checking that Apache Cassandra is initialized. Default: **100**. -- `CASSANDRA_INIT_SLEEP_TIME`: Sleep time (in seconds) between retries for checking that Apache Cassandra is initialized. Default: **5**. -- `CASSANDRA_CQL_MAX_RETRIES`: Maximum retries for checking that the Apache Cassandra client can access the database in localhost. Default: **20**. -- `CASSANDRA_CQL_SLEEP_TIME`: Sleep time (in seconds) between retries for checking that the Apache Cassandra client can access the database in localhost. Default: **5**. -- `CASSANDRA_PEER_CQL_MAX_RETRIES`: Maximum retries for checking that the Apache Cassandra client can access the database located in a peer host. This is used for ensuring that all of the peers are initialized before changing the database credentials. Default: **100**. -- `CASSANDRA_PEER_CQL_SLEEP_TIME`: Sleep time (in seconds) between retries for checking that the Apache Cassandra client can access the database in a peer host. Default: **5**. +* `CASSANDRA_INIT_MAX_RETRIES`: Maximum retries for checking that Apache Cassandra is initialized. Default: **100**. +* `CASSANDRA_INIT_SLEEP_TIME`: Sleep time (in seconds) between retries for checking that Apache Cassandra is initialized. Default: **5**. +* `CASSANDRA_CQL_MAX_RETRIES`: Maximum retries for checking that the Apache Cassandra client can access the database in localhost. Default: **20**. +* `CASSANDRA_CQL_SLEEP_TIME`: Sleep time (in seconds) between retries for checking that the Apache Cassandra client can access the database in localhost. Default: **5**. +* `CASSANDRA_PEER_CQL_MAX_RETRIES`: Maximum retries for checking that the Apache Cassandra client can access the database located in a peer host. This is used for ensuring that all of the peers are initialized before changing the database credentials. Default: **100**. +* `CASSANDRA_PEER_CQL_SLEEP_TIME`: Sleep time (in seconds) between retries for checking that the Apache Cassandra client can access the database in a peer host. Default: **5**. -#### Step 1: Create a new network. +#### Step 1: Create a new network ```console -$ docker network create cassandra_network +docker network create cassandra_network ``` -#### Step 2: Create a first node. +#### Step 2: Create a first node ```console -$ docker run --name cassandra-node1 \ +docker run --name cassandra-node1 \ --net=cassandra_network \ -p 9042:9042 \ -e CASSANDRA_CLUSTER_NAME=cassandra-cluster \ @@ -333,12 +335,13 @@ $ docker run --name cassandra-node1 \ -e CASSANDRA_PASSWORD=mypassword \ bitnami/cassandra:latest ``` + In the above command the container is added to a cluster named `cassandra-cluster` using the `CASSANDRA_CLUSTER_NAME`. The `CASSANDRA_CLUSTER_HOSTS` parameter set the name of the nodes that set the cluster so we will need to launch other container for the second node. Finally the `CASSANDRA_NODE_NAME` parameter allows to indicate a known name for the node, otherwise cassandra will generate a random one. #### Step 3: Create a second node ```console -$ docker run --name cassandra-node2 \ +docker run --name cassandra-node2 \ --net=cassandra_network \ -e CASSANDRA_CLUSTER_NAME=cassandra-cluster \ -e CASSANDRA_SEEDS=cassandra-node1,cassandra-node2 \ @@ -370,6 +373,7 @@ services: - CASSANDRA_SEEDS=cassandra-node1,cassandra-node2 - CASSANDRA_PASSWORD=password123 ``` + ### Initializing with custom scripts When the container is executed for the first time, it will execute the files with extensions `.sh`, `.cql` or `.cql.gz` located at `/docker-entrypoint-initdb.d` in sort'ed order by filename. This behavior can be skipped by setting the environment variable `CASSANDRA_IGNORE_INITDB_SCRIPTS` to a value other than `yes` or `true`. @@ -377,11 +381,12 @@ When the container is executed for the first time, it will execute the files wit In order to have your custom files inside the docker image you can mount them as a volume. ```console -$ docker run --name cassandra \ +docker run --name cassandra \ -v /path/to/init-scripts:/docker-entrypoint-initdb.d \ -v /path/to/cassandra-persistence:/bitnami bitnami/cassandra:latest ``` + Or with docker-compose ```yaml @@ -392,78 +397,32 @@ cassandra: - /path/to/cassandra-persistence:/bitnami ``` -### Configuration file - -The image looks for configurations in `/bitnami/cassandra/conf/`. As mentioned in [Persisting your application](#persisting-your-application) you can mount a volume at `/bitnami` and copy/edit the configurations in the `/path/to/cassandra-persistence/cassandra/conf/`. The default configurations will be populated to the `conf/` directory if it's empty. - -#### Step 1: Run the Apache Cassandra image - -Run the Apache Cassandra image, mounting a directory from your host. - -```console -$ docker run --name cassandra \ - -v /path/to/cassandra-persistence:/bitnami \ - bitnami/cassandra:latest -``` - -or using Docker Compose: - -```yaml -cassandra: - image: bitnami/cassandra:latest - volumes: - - /path/to/cassandra-persistence:/bitnami -``` - -#### Step 2: Edit the configuration - -Edit the configuration on your host using your favorite editor. - -```console -vi /path/to/cassandra-persistence/cassandra/conf/cassandra.yaml -``` - -#### Step 3: Restart Apache Cassandra - -After changing the configuration, restart your Apache Cassandra container for changes to take effect. - -```console -$ docker restart cassandra -``` - -or using Docker Compose: - -```console -$ docker-compose restart cassandra -``` - -Refer to the [configuration](http://docs.datastax.com/en/cassandra/3.x/cassandra/configuration/configTOC.html) manual for the complete list of configuration options. - ## TLS Encryption + The Bitnami Apache Cassandra Docker image allows configuring TLS encryption between nodes and between server-client. This is done by mounting in `/bitnami/cassandra/secrets` two files: - - `keystore`: File with the server keystore - - `truststore`: File with the server truststore +* `keystore`: File with the server keystore +* `truststore`: File with the server truststore Apart from that, the following environment variables must be set: - - `CASSANDRA_KEYSTORE_PASSWORD`: Password for accessing the keystore. - - `CASSANDRA_TRUSTSTORE_PASSWORD`: Password for accessing the truststore. - - `CASSANDRA_INTERNODE_ENCRYPTION`: Sets the type of encryption between nodes. The default value is `none`. Can be set to `all`, `none`, `dc` or `rack`. - - `CASSANDRA_CLIENT_ENCRYPTION`: Enables client-server encryption. The default value is `false`. +* `CASSANDRA_KEYSTORE_PASSWORD`: Password for accessing the keystore. +* `CASSANDRA_TRUSTSTORE_PASSWORD`: Password for accessing the truststore. +* `CASSANDRA_INTERNODE_ENCRYPTION`: Sets the type of encryption between nodes. The default value is `none`. Can be set to `all`, `none`, `dc` or `rack`. +* `CASSANDRA_CLIENT_ENCRYPTION`: Enables client-server encryption. The default value is `false`. ## Logging The Bitnami Apache Cassandra Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs cassandra +docker logs cassandra ``` or using Docker Compose: ```console -$ docker-compose logs cassandra +docker-compose logs cassandra ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -477,7 +436,7 @@ Bitnami provides up-to-date versions of Apache Cassandra, including security pat #### Step 1: Get the updated image ```console -$ docker pull bitnami/cassandra:latest +docker pull bitnami/cassandra:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -488,31 +447,31 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop cassandra +docker stop cassandra ``` or using Docker Compose: ```console -$ docker-compose stop cassandra +docker-compose stop cassandra ``` Next, take a snapshot of the persistent volume `/path/to/cassandra-persistence` using: ```console -$ rsync -a /path/to/cassandra-persistence /path/to/cassandra-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/cassandra-persistence /path/to/cassandra-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v cassandra +docker rm -v cassandra ``` or using Docker Compose: ```console -$ docker-compose rm -v cassandra +docker-compose rm -v cassandra ``` #### Step 4: Run the new image @@ -520,24 +479,24 @@ $ docker-compose rm -v cassandra Re-create your container from the new image. ```console -$ docker run --name cassandra bitnami/cassandra:latest +docker run --name cassandra bitnami/cassandra:latest ``` or using Docker Compose: ```console -$ docker-compose up cassandra +docker-compose up cassandra ``` ## Notable Changes ## 3.11.10-debian-10-r81 Split branch 3 -- Branch 3 has been split into branch 3.0 and 3.11 mirroring the upstream Apache Cassandra repo. +* Branch 3 has been split into branch 3.0 and 3.11 mirroring the upstream Apache Cassandra repo. ### 3.11.4-debian-9-r188 and 3.11.4-ol-7-r201 -- Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. +* Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. ### 3.11.3-r129 @@ -545,7 +504,7 @@ $ docker-compose up cassandra ### 3.11.2-r22 -- The Apache Cassandra container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Apache Cassandra daemon was started as the `cassandra` user. From now on, both the container and the Apache Cassandra daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Apache Cassandra container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Apache Cassandra daemon was started as the `cassandra` user. From now on, both the container and the Apache Cassandra daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ## Contributing @@ -556,13 +515,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/cert-manager-webhook/README.md b/bitnami/cert-manager-webhook/README.md index 275f78d99ea2..d02d97721bd8 100644 --- a/bitnami/cert-manager-webhook/README.md +++ b/bitnami/cert-manager-webhook/README.md @@ -12,14 +12,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/cert-manager-webhook:latest +docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/cert-manager-webhook:latest ``` -#### Docker Compose +### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cert-manager-webhook/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cert-manager-webhook/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -71,7 +71,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/cert-manager/README.md b/bitnami/cert-manager/README.md index e06213ed9bcd..380c2ba8207f 100644 --- a/bitnami/cert-manager/README.md +++ b/bitnami/cert-manager/README.md @@ -12,14 +12,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/cert-manager:latest +docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/cert-manager:latest ``` -#### Docker Compose +### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cert-manager/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cert-manager/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -71,7 +71,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/chartmuseum/README.md b/bitnami/chartmuseum/README.md index 8b9a18e92e4d..7158f41d0bbd 100644 --- a/bitnami/chartmuseum/README.md +++ b/bitnami/chartmuseum/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name chartmuseum bitnami/chartmuseum:latest +docker run --name chartmuseum bitnami/chartmuseum:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami chartmuseum Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/chartmuseum). ```console -$ docker pull bitnami/chartmuseum:latest +docker pull bitnami/chartmuseum:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/chartmuseum/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/chartmuseum:[TAG] +docker pull bitnami/chartmuseum:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuring this image @@ -68,7 +68,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/data` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/chartmuseum-persistence:/bitnami/data \ bitnami/chartmuseum:latest ``` @@ -105,7 +105,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create chartmuseum-network --driver bridge +docker network create chartmuseum-network --driver bridge ``` #### Step 2: Launch the chartmuseum container within your network @@ -113,7 +113,7 @@ $ docker network create chartmuseum-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `chartmuseum-network` network. ```console -$ docker run --name chartmuseum-node1 --network chartmuseum-network bitnami/chartmuseum:latest +docker run --name chartmuseum-node1 --network chartmuseum-network bitnami/chartmuseum:latest ``` #### Step 3: Run another containers @@ -132,7 +132,7 @@ For example, the env var `STORAGE_AMAZON_BUCKET` can be used to set the command- The Bitnami chartmuseum Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs chartmuseum +docker logs chartmuseum ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -146,7 +146,7 @@ Bitnami provides up-to-date versions of chartmuseum, including security patches, #### Step 1: Get the updated image ```console -$ docker pull bitnami/chartmuseum:latest +docker pull bitnami/chartmuseum:latest ``` #### Step 2: Stop the running container @@ -154,13 +154,13 @@ $ docker pull bitnami/chartmuseum:latest Stop the currently running container using the command ```console -$ docker stop chartmuseum +docker stop chartmuseum ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v chartmuseum +docker rm -v chartmuseum ``` #### Step 4: Run the new image @@ -168,7 +168,7 @@ $ docker rm -v chartmuseum Re-create your container from the new image. ```console -$ docker run --name chartmuseum bitnami/chartmuseum:latest +docker run --name chartmuseum bitnami/chartmuseum:latest ``` ## Contributing @@ -187,7 +187,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/clickhouse/README.md b/bitnami/clickhouse/README.md index 2cf67f7b5624..8a82fb6b86cb 100644 --- a/bitnami/clickhouse/README.md +++ b/bitnami/clickhouse/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name clickhouse bitnami/clickhouse:latest +docker run --name clickhouse bitnami/clickhouse:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/clickhouse/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/clickhouse/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami ClickHouse Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/clickhouse). ```console -$ docker pull bitnami/clickhouse:latest +docker pull bitnami/clickhouse:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/clickhouse/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/clickhouse:[TAG] +docker pull bitnami/clickhouse:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -73,7 +73,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/clickhouse` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ --volume /path/to/clickhouse-persistence:/bitnami/clickhouse \ --env ALLOM_EMPTY_PASSWORD=false \ bitnami/clickhouse:latest @@ -102,7 +102,7 @@ In this example, we will create a ClickHouse client instance that will connect t #### Step 1: Create a network ```console -$ docker network create my-network --driver bridge +docker network create my-network --driver bridge ``` #### Step 2: Launch the ClickHouse container within your network @@ -110,7 +110,7 @@ $ docker network create my-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run -d --name clickhouse-server \ +docker run -d --name clickhouse-server \ --network my-network \ --env ALLOW_EMPTY_PASSWORD=yes \ bitnami/clickhouse:latest @@ -121,7 +121,7 @@ $ docker run -d --name clickhouse-server \ Finally we create a new container instance to launch the ClickHouse client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network my-network \ bitnami/clickhouse:latest clickhouse-client --host clickhouse-server ``` @@ -158,7 +158,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -170,7 +170,7 @@ ClickHouse can be configured via environment variables or using a configuration The configuration can easily be setup by mounting your own configuration overrides on the directory `/bitnami/clickhouse/conf/conf.d` or `/bitnami/clickhouse/conf/users.d`: ```console -$ docker run --name clickhouse \ +docker run --name clickhouse \ --volume /path/to/override.xml:/bitnami/clickhouse/conf/conf.d/override.xml:ro \ bitnami/clickhouse:latest ``` @@ -199,13 +199,13 @@ In order to have your custom files inside the docker image you can mount them as The admin user and password can easily be setup with the Bitnami ClickHouse Docker image using the following environment variables: - - `CLICKHOUSE_ADMIN_USER`: The database admin user. Defaults to `default`. - - `CLICKHOUSE_ADMIN_PASSWORD`: The database admin user password. No defaults. +* `CLICKHOUSE_ADMIN_USER`: The database admin user. Defaults to `default`. +* `CLICKHOUSE_ADMIN_PASSWORD`: The database admin user password. No defaults. Passing the `CLICKHOUSE_ADMIN_PASSWORD` environment variable when running the image for the first time will set the password of the `CLICKHOUSE_ADMIN_USER` user to the value of `CLICKHOUSE_ADMIN_PASSWORD`. ```console -$ docker run --name clickhouse -e CLICKHOUSE_ADMIN_PASSWORD=password123 bitnami/clickhouse:latest +docker run --name clickhouse -e CLICKHOUSE_ADMIN_PASSWORD=password123 bitnami/clickhouse:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/clickhouse/docker-compose.yml) file present in this repository: @@ -223,18 +223,18 @@ services: ClickHouse default ports can be changed using the following environment variables: -- `CLICKHOUSE_HTTP_PORT`: HTTP port. Defaults to `8123`. -- `CLICKHOUSE_TCP_PORT`: TCP port. Defaults to `9000`. -- `CLICKHOUSE_MYSQL_PORT`: MySQL port. Defaults to `9004`. -- `CLICKHOUSE_POSTGRESQL_PORT`: PostgreSQL port. Defaults to `9005`. -- `CLICKHOUSE_INTERSERVER_HTTP_PORT`: Inter-server HTTP port. Defaults to `9009`. +* `CLICKHOUSE_HTTP_PORT`: HTTP port. Defaults to `8123`. +* `CLICKHOUSE_TCP_PORT`: TCP port. Defaults to `9000`. +* `CLICKHOUSE_MYSQL_PORT`: MySQL port. Defaults to `9004`. +* `CLICKHOUSE_POSTGRESQL_PORT`: PostgreSQL port. Defaults to `9005`. +* `CLICKHOUSE_INTERSERVER_HTTP_PORT`: Inter-server HTTP port. Defaults to `9009`. ### Allowing empty passwords By default the ClickHouse image expects all the available passwords to be set. In order to allow empty passwords, it is necessary to set the `ALLOW_EMPTY_PASSWORD=yes` env variable. This env variable is only recommended for testing or development purposes. We strongly recommend specifying the `CLICKHOUSE_ADMIN_PASSWORD` for any other scenario. ```console -$ docker run --name clickhouse --env ALLOW_EMPTY_PASSWORD=yes bitnami/clickhouse:latest +docker run --name clickhouse --env ALLOW_EMPTY_PASSWORD=yes bitnami/clickhouse:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/clickhouse/docker-compose.yml) file present in this repository: @@ -253,7 +253,7 @@ services: The Bitnami ClickHouse Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs clickhouse +docker logs clickhouse ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -267,7 +267,7 @@ Bitnami provides up-to-date versions of ClickHouse, including security patches, #### Step 1: Get the updated image ```console -$ docker pull bitnami/clickhouse:latest +docker pull bitnami/clickhouse:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/clickhouse:latest`. @@ -277,31 +277,31 @@ or if you're using Docker Compose, update the value of the image property to `bi Stop the currently running container using the command ```console -$ docker stop clickhouse +docker stop clickhouse ``` or using Docker Compose: ```console -$ docker-compose stop clickhouse +docker-compose stop clickhouse ``` Next, take a snapshot of the persistent volume `/path/to/clickhouse-persistence` using: ```console -$ rsync -a /path/to/clickhouse-persistence /path/to/clickhouse-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/clickhouse-persistence /path/to/clickhouse-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v clickhouse +docker rm -v clickhouse ``` or using Docker Compose: ```console -$ docker-compose rm -v clickhouse +docker-compose rm -v clickhouse ``` #### Step 4: Run the new image @@ -309,13 +309,13 @@ $ docker-compose rm -v clickhouse Re-create your container from the new image. ```console -$ docker run --name clickhouse bitnami/clickhouse:latest +docker run --name clickhouse bitnami/clickhouse:latest ``` or using Docker Compose: ```console -$ docker-compose up clickhouse +docker-compose up clickhouse ``` ## Contributing @@ -334,7 +334,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/cluster-autoscaler/1/debian-11/rootfs/run.sh b/bitnami/cluster-autoscaler/1/debian-11/rootfs/run.sh index cce88c7f4fc7..3476193b94ed 100755 --- a/bitnami/cluster-autoscaler/1/debian-11/rootfs/run.sh +++ b/bitnami/cluster-autoscaler/1/debian-11/rootfs/run.sh @@ -6,7 +6,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/cluster-autoscaler/README.md b/bitnami/cluster-autoscaler/README.md index 201b878f4460..29898e008a49 100644 --- a/bitnami/cluster-autoscaler/README.md +++ b/bitnami/cluster-autoscaler/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/cluster-autoscaler:latest +docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/cluster-autoscaler:latest ``` -#### Docker Compose +### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cluster-autoscaler/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cluster-autoscaler/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -70,26 +70,26 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Cluster-autoscaler Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/cluster-autoscaler). ```console -$ docker pull bitnami/cluster-autoscaler:latest +docker pull bitnami/cluster-autoscaler:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/cluster-autoscaler/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/cluster-autoscaler:[TAG] +docker pull bitnami/cluster-autoscaler:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration -### How to run a cluster with nodes in multiples zones for HA. +### How to run a cluster with nodes in multiples zones for HA `--balance-similar-node-groups` flag is intended to support this use case. If you set the flag to true, Cluster Autoscaler will automatically identify node groups with the same instance type and the same set of labels (except for automatically added zone label) and try to keep the sizes of those node groups balanced. @@ -98,14 +98,17 @@ This does not guarantee similar node groups will have exactly the same sizes: Currently the balancing is only done at scale-up. Cluster Autoscaler will still scale down underutilized nodes regardless of the relative sizes of underlying node groups. ### How monitor Cluster Autoscaler? + Cluster Autoscaler provides metrics and livenessProbe endpoints. By default they're available on port 8085 (configurable with --address flag), respectively under /metrics and /health-check. Metrics are provided in Prometheus format. ### How scale my cluster to just 1 node? + Prior to version 0.6, Cluster Autoscaler was not touching nodes that were running important kube-system pods like DNS, Heapster, Dashboard etc. If these pods landed on different nodes, CA could not scale the cluster down and the user could end up with a completely empty 3 node cluster. In 0.6, we added an option to tell CA that some system pods can be moved around. If the user configures a PodDisruptionBudget for the kube-system pod, then the default strategy of not touching the node running this pod is overridden with PDB settings. So, to enable kube-system pods migration, one should set minAvailable to 0 (or <= N if there are N+1 pod replicas.) See also I have a couple of nodes with low utilization, but they are not scaled down. Why? ### How scale a node group to 0? + For GCE/GKE and for AWS, it is possible to scale a node group to 0 (and obviously from 0), assuming that all scale-down conditions are met. For AWS, if you are using nodeSelector, you need to tag the ASG with a node-template key "k8s.io/cluster-autoscaler/node-template/label/". @@ -139,13 +142,14 @@ The Bitnami team will review any PR that is created, feel free to create a PR if New versions and releases cadence are not going to be affected. Once a new version is released in the upstream project, the Bitnami container image will be updated to use the latest version, supporting the different branches supported by the upstream project as usual. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/codeigniter/README.md b/bitnami/codeigniter/README.md index 1f18fbd929bb..5adea6f0ae7c 100644 --- a/bitnami/codeigniter/README.md +++ b/bitnami/codeigniter/README.md @@ -13,9 +13,9 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Local workspace ```console -$ mkdir ~/myapp && cd ~/myapp -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/codeigniter/docker-compose.yml -$ docker-compose up +mkdir ~/myapp && cd ~/myapp +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/codeigniter/docker-compose.yml +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options for the [MariaDB container](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#readme) for a more secure deployment. @@ -37,7 +37,7 @@ The Bitnami CodeIgniter Development Container has been carefully engineered to p [Learn more about Bitnami Development Containers.](https://docs.bitnami.com/containers/how-to/use-bitnami-development-containers/) -# Supported tags and respective `Dockerfile` links +## Supported tags and respective `Dockerfile` links Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). @@ -52,20 +52,20 @@ The quickest way to get started with the Bitnami CodeIgniter Development Contain Begin by creating a directory for your CodeIgniter application: ```console -$ mkdir ~/myapp -$ cd ~/myapp +mkdir ~/myapp +cd ~/myapp ``` Download the [docker-compose.yml](https://raw.githubusercontent.com/bitnami/containers/main/bitnami/codeigniter/docker-compose.yml) file in the application directory: ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/codeigniter/docker-compose.yml +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/codeigniter/docker-compose.yml ``` Finally launch the CodeIgniter application development environment using: ```console -$ docker-compose up +docker-compose up ``` The above command creates a container service for CodeIgniter development and bootstraps a new CodeIgniter application, named `myapp` in working directory. You can use your favorite IDE for developing the application. @@ -83,17 +83,17 @@ Commands can be launched inside the `myapp` CodeIgniter Development Container wi The general structure of the `exec` command is: ```console -$ docker-compose exec +docker-compose exec ``` where `` is the name of the container service as described in the `docker-compose.yml` file and `` is the command you want to launch inside the service. Following are a few examples: -- Create a new project named `foo`: +* Create a new project named `foo`: ```console - $ docker-compose run myapp nami execute codeigniter createProject foo + docker-compose run myapp nami execute codeigniter createProject foo ``` Additionally, in the `docker-compose.yml` file you need to update the `CODEIGNITER_PROJECT_NAME` environment variable to `foo` so that the built-in PHP application server serves the application from the `foo` directory. @@ -102,11 +102,11 @@ Following are a few examples: If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/blob/main/bitnami/codeigniter/issues/new). Be sure to include the following information in your issue: -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ### Community supported solution diff --git a/bitnami/concourse/README.md b/bitnami/concourse/README.md index 5beb3d50dfa9..11e0e185cc74 100644 --- a/bitnami/concourse/README.md +++ b/bitnami/concourse/README.md @@ -6,19 +6,17 @@ [Overview of Concourse](https://concourse-ci.org/) - - ## TL;DR ```console -$ docker run --name concourse bitnami/concourse:latest +docker run --name concourse bitnami/concourse:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/concourse/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/concourse/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options for the [PostgreSQL container](https://github.com/bitnami/containers/tree/main/bitnami/postgresql#readme) for a more secure deployment. @@ -49,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami concourse Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/concourse). ```console -$ docker pull bitnami/concourse:latest +docker pull bitnami/concourse:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/concourse/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/concourse:[TAG] +docker pull bitnami/concourse:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -73,7 +71,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/concourse-persistence:/bitnami/concourse \ bitnami/concourse:latest ``` @@ -99,7 +97,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create concourse-network --driver bridge +docker network create concourse-network --driver bridge ``` #### Step 2: Launch the concourse container within your network @@ -107,7 +105,7 @@ $ docker network create concourse-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `concourse-network` network. ```console -$ docker run --name concourse-node1 --network concourse-network bitnami/concourse:latest +docker run --name concourse-node1 --network concourse-network bitnami/concourse:latest ``` #### Step 3: Run another container @@ -123,7 +121,7 @@ Find how to configure Concourse in its [official documentation](https://concours The Bitnami concourse Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs concourse +docker logs concourse ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -137,7 +135,7 @@ Bitnami provides up-to-date versions of concourse, including security patches, s #### Step 1: Get the updated image ```console -$ docker pull bitnami/concourse:latest +docker pull bitnami/concourse:latest ``` #### Step 2: Stop the running container @@ -145,13 +143,13 @@ $ docker pull bitnami/concourse:latest Stop the currently running container using the command ```console -$ docker stop concourse +docker stop concourse ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v concourse +docker rm -v concourse ``` #### Step 4: Run the new image @@ -159,7 +157,7 @@ $ docker rm -v concourse Re-create your container from the new image. ```console -$ docker run --name concourse bitnami/concourse:latest +docker run --name concourse bitnami/concourse:latest ``` ## Contributing @@ -178,7 +176,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/configmap-reload/README.md b/bitnami/configmap-reload/README.md index b68e77d09d04..2b36898b802c 100644 --- a/bitnami/configmap-reload/README.md +++ b/bitnami/configmap-reload/README.md @@ -38,21 +38,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami ConfigMap Reload Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/configmap-reload). ```console -$ docker pull bitnami/configmap-reload:latest +docker pull bitnami/configmap-reload:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/configmap-reload/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/configmap-reload:[TAG] +docker pull bitnami/configmap-reload:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -68,13 +68,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/configurable-http-proxy/README.md b/bitnami/configurable-http-proxy/README.md index 7f719e7055c6..169e614b76fa 100644 --- a/bitnami/configurable-http-proxy/README.md +++ b/bitnami/configurable-http-proxy/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name configurable-http-proxy bitnami/configurable-http-proxy:latest +docker run --name configurable-http-proxy bitnami/configurable-http-proxy:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami configurable-http-proxy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/configurable-http-proxy). ```console -$ docker pull bitnami/configurable-http-proxy:latest +docker pull bitnami/configurable-http-proxy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/configurable-http-proxy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/configurable-http-proxy:[TAG] +docker pull bitnami/configurable-http-proxy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `configurable-http-proxy --version` you can follow the example below: ```console -$ docker run --rm --name configurable-http-proxy bitnami/configurable-http-proxy:latest -- configurable-http-proxy --version +docker run --rm --name configurable-http-proxy bitnami/configurable-http-proxy:latest -- configurable-http-proxy --version ``` Check the [official Configurable HTTP Proxy documentation](https://github.com/jupyterhub/configurable-http-proxy#command-line-options) for a list of the available parameters. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/consul-exporter/README.md b/bitnami/consul-exporter/README.md index 46c49bc9cc46..86afa5d1aa6b 100644 --- a/bitnami/consul-exporter/README.md +++ b/bitnami/consul-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name consul-exporter bitnami/consul-exporter:latest +docker run --name consul-exporter bitnami/consul-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Consul Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/consul-exporter). ```console -$ docker pull bitnami/consul-exporter:latest +docker pull bitnami/consul-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/consul-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/consul-exporter:[TAG] +docker pull bitnami/consul-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create consul-exporter-network --driver bridge +docker network create consul-exporter-network --driver bridge ``` #### Step 2: Launch the consul-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create consul-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `consul-exporter-network` network. ```console -$ docker run --name consul-exporter-node1 --network consul-exporter-network bitnami/consul-exporter:latest +docker run --name consul-exporter-node1 --network consul-exporter-network bitnami/consul-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration options in the [Consul Prometheus Exporter documentat The Bitnami Consul Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs consul-exporter +docker logs consul-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of Consul Exporter, including security patc #### Step 1: Get the updated image ```console -$ docker pull bitnami/consul-exporter:latest +docker pull bitnami/consul-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/consul-exporter:latest Stop the currently running container using the command ```console -$ docker stop consul-exporter +docker stop consul-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v consul-exporter +docker rm -v consul-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v consul-exporter Re-create your container from the new image. ```console -$ docker run --name consul-exporter bitnami/consul-exporter:latest +docker run --name consul-exporter bitnami/consul-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/consul/README.md b/bitnami/consul/README.md index c80a8dc83380..529e8c00f869 100644 --- a/bitnami/consul/README.md +++ b/bitnami/consul/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name consul bitnami/consul:latest +docker run --name consul bitnami/consul:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/consul/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/consul/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the available configuration options in the [Environment Variables](#environment-variables) section. @@ -55,21 +55,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami HashiCorp Consul Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/consul). ```console -$ docker pull bitnami/consul:latest +docker pull bitnami/consul:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/consul/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/consul:[TAG] +docker pull bitnami/consul:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -81,7 +81,7 @@ For persistence you should mount a volume at the `/bitnami` path. The above exam To avoid inadvertent removal of this volume you can [mount host directories as data volumes](https://docs.docker.com/engine/tutorials/dockervolumes/). Alternatively you can make use of volume plugins to host the volume data. ```console -$ docker run -v /path/to/consul-persistence:/bitnami bitnami/consul:latest +docker run -v /path/to/consul-persistence:/bitnami bitnami/consul:latest ``` or using Docker Compose: @@ -106,7 +106,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create consul-network --driver bridge +docker network create consul-network --driver bridge ``` #### Step 2: Launch the HashiCorp Consul container within your network @@ -114,7 +114,7 @@ $ docker network create consul-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `consul-network` network. ```console -$ docker run --name consul-node1 --network consul-network bitnami/consul:latest +docker run --name consul-node1 --network consul-network bitnami/consul:latest ``` #### Step 3: Run another containers @@ -149,16 +149,16 @@ services: Then, launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Setting up a cluster -### Docker Compose +### Docker Compose deployment This is the simplest way to run HashiCorp Consul with clustering configuration: -##### Step 1: Add a server node in your `docker-compose.yml` +#### Step 1: Add a server node in your `docker-compose.yml` Copy the snippet below into your docker-compose.yml to add a HashiCorp Consul server node to your cluster configuration. @@ -286,27 +286,27 @@ volumes: When you start the HashiCorp Consul 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. The following environment values are provided to custom HashiCorp Consul: -- `CONSUL_AGENT_MODE`: Indicates if HashiCorp Consul is running in server or client mode. Valid values: server, client. Default: **server**. -- `CONSUL_SERF_LAN_ADDRESS`: Address used for Serf LAN communications. Default: **0.0.0.0**. -- `CONSUL_CLIENT_LAN_ADDRESS`: Address in which HashiCorp Consul will bind client interfaces. Default: **0.0.0.0**. -- `CONSUL_SERF_LAN_PORT_NUMBER`: Serf LAN port. Defualt: **8301**. -- `CONSUL_HTTP_PORT_NUMBER`: HTTP API port, used also for the UI. Default: **8500**. -- `CONSUL_DNS_PORT_NUMBER`: DNS service port. Default: **8600**. -- `CONSUL_RPC_PORT_NUMBER`: Server RPC port. Default: **8300**. -- `CONSUL_RAFT_MULTIPLIER`: An integer multiplier used by HashiCorp Consul servers to scale key Raft timing parameters. Default: **1**. -- `CONSUL_LOCAL_CONFIG`: Custom user configuration that will be added as a file in the config dir. -- `CONSUL_GOSSIP_ENCRYPTION`: Enable Gossip encryption. Default: **no**. -- `CONSUL_GOSSIP_ENCRYPTION_KEY`: Gossip private simmetric key. -- `CONSUL_GOSSIP_ENCRYPTION_KEY_FILE`: File containing the gossip private simmetric key. If both `CONSUL_GOSSIP_ENCRYPTION_KEY` and `CONSUL_GOSSIP_ENCRYPTION_KEY_FILE` are provided, consul will use the `CONSUL_GOSSIP_ENCRYPTION_KEY_FILE`. -- `CONSUL_DISABLE_KEYRING_FILE`: If set, the keyring will not be persisted to a file. Valid vaules: true, false. Default: **false**. -- `CONSUL_ENABLE_UI`: Enable web user interface. Valid values: true, false. Default: **true**. -- `CONSUL_BOOTSTRAP_EXPECT`: Number of expected nodes in the cluster, including itself. Default: **1**. -- `CONSUL_DOMAIN`: HashiCorp Consul domain name. Default: **consul**. -- `CONSUL_DATACENTER"`: The datacenter in which the agent is running. Default: **dc1**. -- `CONSUL_RETRY_JOIN_ADDRESS`: "Address of another agent to join upon starting up. Default: **127.0.0.1** -- `CONSUL_RETRY_JOIN_WAN_ADDRESS`: "Address of another WAN agent to join upon starting up. Default: **127.0.0.1** -- `CONSUL_BIND_INTERFACE`: The interface that will be bound to for internal cluster communications. -- `CONSUL_DISABLE_HOST_NODE_ID`: Flag to prevent Consul from using information from the host to generate a deterministic node ID. Default: **true**. +* `CONSUL_AGENT_MODE`: Indicates if HashiCorp Consul is running in server or client mode. Valid values: server, client. Default: **server**. +* `CONSUL_SERF_LAN_ADDRESS`: Address used for Serf LAN communications. Default: **0.0.0.0**. +* `CONSUL_CLIENT_LAN_ADDRESS`: Address in which HashiCorp Consul will bind client interfaces. Default: **0.0.0.0**. +* `CONSUL_SERF_LAN_PORT_NUMBER`: Serf LAN port. Defualt: **8301**. +* `CONSUL_HTTP_PORT_NUMBER`: HTTP API port, used also for the UI. Default: **8500**. +* `CONSUL_DNS_PORT_NUMBER`: DNS service port. Default: **8600**. +* `CONSUL_RPC_PORT_NUMBER`: Server RPC port. Default: **8300**. +* `CONSUL_RAFT_MULTIPLIER`: An integer multiplier used by HashiCorp Consul servers to scale key Raft timing parameters. Default: **1**. +* `CONSUL_LOCAL_CONFIG`: Custom user configuration that will be added as a file in the config dir. +* `CONSUL_GOSSIP_ENCRYPTION`: Enable Gossip encryption. Default: **no**. +* `CONSUL_GOSSIP_ENCRYPTION_KEY`: Gossip private simmetric key. +* `CONSUL_GOSSIP_ENCRYPTION_KEY_FILE`: File containing the gossip private simmetric key. If both `CONSUL_GOSSIP_ENCRYPTION_KEY` and `CONSUL_GOSSIP_ENCRYPTION_KEY_FILE` are provided, consul will use the `CONSUL_GOSSIP_ENCRYPTION_KEY_FILE`. +* `CONSUL_DISABLE_KEYRING_FILE`: If set, the keyring will not be persisted to a file. Valid vaules: true, false. Default: **false**. +* `CONSUL_ENABLE_UI`: Enable web user interface. Valid values: true, false. Default: **true**. +* `CONSUL_BOOTSTRAP_EXPECT`: Number of expected nodes in the cluster, including itself. Default: **1**. +* `CONSUL_DOMAIN`: HashiCorp Consul domain name. Default: **consul**. +* `CONSUL_DATACENTER"`: The datacenter in which the agent is running. Default: **dc1**. +* `CONSUL_RETRY_JOIN_ADDRESS`: "Address of another agent to join upon starting up. Default: **127.0.0.1** +* `CONSUL_RETRY_JOIN_WAN_ADDRESS`: "Address of another WAN agent to join upon starting up. Default: **127.0.0.1** +* `CONSUL_BIND_INTERFACE`: The interface that will be bound to for internal cluster communications. +* `CONSUL_DISABLE_HOST_NODE_ID`: Flag to prevent Consul from using information from the host to generate a deterministic node ID. Default: **true**. #### Specifying Environment Variables using Docker Compose @@ -320,15 +320,15 @@ consul: #### Specifying Environment Variables on the Docker command line ```console -$ docker run -d -e CONSUL_HTTP_PORT_NUMBER=8888 --name consul bitnami/consul:latest +docker run -d -e CONSUL_HTTP_PORT_NUMBER=8888 --name consul bitnami/consul:latest ``` ### Using custom HashiCorp Consul configuration files In order to load your own configuration files, you will have to make them available to the container. You can do it doing the following: -- Mounting a volume with your custom configuration -- Adding custom configuration via environment variable. +* Mounting a volume with your custom configuration +* Adding custom configuration via environment variable. By default, the configuration of HashiCorp Consul is written to `/opt/bitnami/consul/consul.json` file and persisted with the following content: @@ -360,7 +360,7 @@ By default, the configuration of HashiCorp Consul is written to `/opt/bitnami/co Configuration can be added by passing the configuration in JSON format via the environment variable `CONSUL_LOCAL_CONFIG`. Then consul will write a `local.json` file in the HashiCorp Consul configuration directory. HashiCorp Consul will load all files within the configuration directory in alphabetical order, so ones with starting with higher letters will prevail. ```console -$ docker run -d -e CONSUL_LOCAL_CONFIG='{ +docker run -d -e CONSUL_LOCAL_CONFIG='{ "datacenter":"us_west", "server":true, "enable_debug":true @@ -373,19 +373,20 @@ $ docker run -d -e CONSUL_LOCAL_CONFIG='{ Check the [Persisting your data](# Persisting your application) section to add custom volumes to the HashiCorp Consul container ### Configuring the Gossip encryption key + Specifies the secret key to use for encryption of HashiCorp Consul network traffic. This key must be 16-bytes that are Base64-encoded. The easiest way to create an encryption key is to use `consul keygen` ```console -$ docker run --name consul bitnami/consul:latest consul keygen +docker run --name consul bitnami/consul:latest consul keygen ``` This command will generate a keygen, that you can add to your Dockerfile, docker-compose or pass it via command line: ```console -$ docker run -e CONSUL_GOSSIP_ENCRYPTION_KEY=YOUR_GENERATED_KEY --name consul bitnami/consul:latest +docker run -e CONSUL_GOSSIP_ENCRYPTION_KEY=YOUR_GENERATED_KEY --name consul bitnami/consul:latest ``` -#### Using Docker Compose +#### Using Docker Compose deployment ```yaml consul: @@ -394,7 +395,6 @@ consul: - '/local/path/to/your/confDir:/opt/bitnami/consul/conf' ``` - The container has a HashiCorp Consul configuration directory set up at /consul/config and the agent will load any configuration files placed here by binding a volume or by composing a new image and adding files. Alternatively, configuration can be added by passing the configuration JSON via environment variable CONSUL_LOCAL_CONFIG. If this is bind mounted then ownership will be changed to the consul user when the container starts. ## Logging @@ -402,13 +402,13 @@ The container has a HashiCorp Consul configuration directory set up at /consul/c The Bitnami consul Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs consul +docker logs consul ``` or using Docker Compose: ```console -$ docker-compose logs consul +docker-compose logs consul ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -422,7 +422,7 @@ Bitnami provides up-to-date versions of consul, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/consul:latest +docker pull bitnami/consul:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -433,19 +433,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop consul +docker stop consul ``` or using Docker Compose: ```console -$ docker-compose stop consul +docker-compose stop consul ``` Next, take a snapshot of the persistent volume `/path/to/consul-persistence` using: ```console -$ rsync -a /path/to/consul-persistence /path/to/consul-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/consul-persistence /path/to/consul-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -453,27 +453,27 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v consul +docker rm -v consul ``` or using Docker Compose: ```console -$ docker-compose rm -v consul +docker-compose rm -v consul ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name consul bitnami/consul:latest +docker run --name consul bitnami/consul:latest ``` or using Docker Compose: ```console -$ docker-compose up consul +docker-compose up consul ``` ## Notable Changes @@ -491,7 +491,7 @@ Also, some env var changes have been performed maintaining backward compatibilit ### 1.4.0-r16 -- The Consul container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Consul daemon was started as the `consul` user. From now on, both the container and the Consul daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Consul container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Consul daemon was started as the `consul` user. From now on, both the container and the Consul daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ## Contributing @@ -502,13 +502,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/contour-operator/README.md b/bitnami/contour-operator/README.md index 1622afb08aa3..a50dcafc74dc 100644 --- a/bitnami/contour-operator/README.md +++ b/bitnami/contour-operator/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name contour-operator bitnami/contour-operator:latest +docker run --name contour-operator bitnami/contour-operator:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Contour Operator Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/contour-operator). ```console -$ docker pull bitnami/contour-operator:latest +docker pull bitnami/contour-operator:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/contour-operator/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/contour-operator:[TAG] +docker pull bitnami/contour-operator:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,14 +64,14 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `contour-operator -contour-image bitnami/contour-operator` you can follow the example below: ```console -$ docker run --rm --name contour-operator bitnami/contour-operator:latest -- -contour-image bitnami/contour-operator +docker run --rm --name contour-operator bitnami/contour-operator:latest -- -contour-image bitnami/contour-operator ``` Check the [official Contour Operator documentation](https://github.com/projectcontour/contour-operator) for more information. ## Notable changes -# 1.19.1-scratch-r6 Rename branch 1.20 +### 1.19.1-scratch-r6 Rename branch 1.20 - Branch 1 has been renamed into branch 1.20 in order to follow the upstream [Contour major versions](https://github.com/projectcontour/contour/releases). @@ -91,7 +91,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/contour/README.md b/bitnami/contour/README.md index afaa8a24b58c..b8905e38a7f5 100644 --- a/bitnami/contour/README.md +++ b/bitnami/contour/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name contour bitnami/contour:latest +docker run --name contour bitnami/contour:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/contour/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/contour/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami contour Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/contour). ```console -$ docker pull bitnami/contour:latest +docker pull bitnami/contour:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/contour/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/contour:[TAG] +docker pull bitnami/contour:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -71,7 +71,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/contour-persistence:/bitnami/contour \ bitnami/contour:latest ``` @@ -97,7 +97,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create contour-network --driver bridge +docker network create contour-network --driver bridge ``` #### Step 2: Launch the contour container within your network @@ -105,7 +105,7 @@ $ docker network create contour-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `contour-network` network. ```console -$ docker run --name contour-node1 --network contour-network bitnami/contour:latest +docker run --name contour-node1 --network contour-network bitnami/contour:latest ``` #### Step 3: Run another containers @@ -121,7 +121,7 @@ Find how to configure Contour in its [official documentation](https://projectcon The Bitnami contour Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs contour +docker logs contour ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -135,7 +135,7 @@ Bitnami provides up-to-date versions of contour, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/contour:latest +docker pull bitnami/contour:latest ``` #### Step 2: Stop the running container @@ -143,13 +143,13 @@ $ docker pull bitnami/contour:latest Stop the currently running container using the command ```console -$ docker stop contour +docker stop contour ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v contour +docker rm -v contour ``` #### Step 4: Run the new image @@ -157,14 +157,14 @@ $ docker rm -v contour Re-create your container from the new image. ```console -$ docker run --name contour bitnami/contour:latest +docker run --name contour bitnami/contour:latest ``` ## Notable Changes -# 1.20.0-debian-10-r8 Rename branch 1.20 +### 1.20.0-debian-10-r8 Rename branch 1.20 -- Branch 1 has been renamed into branch 1.20 in order to follow the upstream [Contour major versions](https://github.com/projectcontour/contour/releases). +* Branch 1 has been renamed into branch 1.20 in order to follow the upstream [Contour major versions](https://github.com/projectcontour/contour/releases). ## Contributing @@ -182,7 +182,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/cosign/README.md b/bitnami/cosign/README.md index 7aead1318d59..2bd1f067d4ae 100644 --- a/bitnami/cosign/README.md +++ b/bitnami/cosign/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name cosign bitnami/cosign +docker run -it --name cosign bitnami/cosign ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cosign/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/cosign/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Cosign Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/cosign). ```console -$ docker pull bitnami/cosign:latest +docker pull bitnami/cosign:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/cosign/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/cosign:[TAG] +docker pull bitnami/cosign:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Cosign, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/cosign:latest +docker pull bitnami/cosign:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/cosign:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v cosign +docker rm -v cosign ``` or using Docker Compose: ```console -$ docker-compose rm -v cosign +docker-compose rm -v cosign ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v cosign Re-create your container from the new image. ```console -$ docker run --name cosign bitnami/cosign:latest +docker run --name cosign bitnami/cosign:latest ``` or using Docker Compose: ```console -$ docker-compose up cosign +docker-compose up cosign ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up cosign To run commands inside this container you can use `docker run`, for example to execute `cosign --help` you can follow the example below: ```console -$ docker run --rm --name cosign bitnami/cosign:latest --help +docker run --rm --name cosign bitnami/cosign:latest --help ``` Check the [official Cosign documentation](https://github.com/sigstore/cosigndocs/) for more information about how to use Cosign. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/couchdb/README.md b/bitnami/couchdb/README.md index cec1760f0c9a..b481de6e1173 100644 --- a/bitnami/couchdb/README.md +++ b/bitnami/couchdb/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name couchdb bitnami/couchdb:latest +docker run --name couchdb bitnami/couchdb:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/couchdb/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/couchdb/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami CouchDB Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/couchdb). ```console -$ docker pull bitnami/couchdb:latest +docker pull bitnami/couchdb:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/couchdb/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/couchdb:[TAG] +docker pull bitnami/couchdb:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -71,7 +71,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/couchdb-persistence:/bitnami/couchdb \ bitnami/couchdb:latest ``` @@ -99,7 +99,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create couchdb-network --driver bridge +docker network create couchdb-network --driver bridge ``` #### Step 2: Launch the CouchDB container within your network @@ -107,7 +107,7 @@ $ docker network create couchdb-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `couchdb-network` network. ```console -$ docker run --name couchdb-node1 --network couchdb-network bitnami/couchdb:latest +docker run --name couchdb-node1 --network couchdb-network bitnami/couchdb:latest ``` #### Step 3: Run another containers @@ -118,21 +118,21 @@ We can launch another containers using the same flag (`--network NETWORK`) in th The configuration can easily be setup in the Bitnami CouchDB Docker image by using the following environment variables: - - `COUCHDB_NODENAME`: A server alias for clustering support. Default: **couchdb@127.0.0.1** - - `COUCHDB_PORT_NUMBER`: Standard port for all HTTP API requests. Default: **5984** - - `COUCHDB_CLUSTER_PORT_NUMBER`: Port for cluster communication. Default: **9100** - - `COUCHDB_BIND_ADDRESS`: Address binding for the standard port. Default: **0.0.0.0** - - `COUCHDB_CREATE_DATABASES`: If set to yes, during the first initialization of the container the system databases will be created. Default: **yes** - - `COUCHDB_USER`: The username of the administrator user when authentication is enabled. Default: **admin** - - `COUCHDB_PASSWORD`: The password to use for login with the admin user set in the `COUCHDB_USER` environment variable. Default: **couchdb** - - `COUCHDB_PASSWORD_FILE`: Path to a file that contains the password for the custom user set in the `COUCHDB_USER` environment variable. This will override the value specified in `COUCHDB_PASSWORD`. No defaults. - - `COUCHDB_SECRET`: The secret token for Proxy and Cookie Authentication. If it is not specified, it will be randomly generated. No defaults. - - `COUCHDB_SECRET_FILE`: Path to a file that contains the contents of the secret parameter for CouchDB. This will override the value specified in `COUCHDB_SECRET`. No defaults. +* `COUCHDB_NODENAME`: A server alias for clustering support. Default: **couchdb@127.0.0.1** +* `COUCHDB_PORT_NUMBER`: Standard port for all HTTP API requests. Default: **5984** +* `COUCHDB_CLUSTER_PORT_NUMBER`: Port for cluster communication. Default: **9100** +* `COUCHDB_BIND_ADDRESS`: Address binding for the standard port. Default: **0.0.0.0** +* `COUCHDB_CREATE_DATABASES`: If set to yes, during the first initialization of the container the system databases will be created. Default: **yes** +* `COUCHDB_USER`: The username of the administrator user when authentication is enabled. Default: **admin** +* `COUCHDB_PASSWORD`: The password to use for login with the admin user set in the `COUCHDB_USER` environment variable. Default: **couchdb** +* `COUCHDB_PASSWORD_FILE`: Path to a file that contains the password for the custom user set in the `COUCHDB_USER` environment variable. This will override the value specified in `COUCHDB_PASSWORD`. No defaults. +* `COUCHDB_SECRET`: The secret token for Proxy and Cookie Authentication. If it is not specified, it will be randomly generated. No defaults. +* `COUCHDB_SECRET_FILE`: Path to a file that contains the contents of the secret parameter for CouchDB. This will override the value specified in `COUCHDB_SECRET`. No defaults. You can specify these environment variables in the `docker run` command: ```console -$ docker run --name couchdb -e COUCHDB_PORT_NUMBER=7777 bitnami/couchdb:latest +docker run --name couchdb -e COUCHDB_PORT_NUMBER=7777 bitnami/couchdb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/couchdb/docker-compose.yml) file present in this repository: @@ -157,7 +157,7 @@ To understand the precedence of the different configuration files, please check Run the CouchDB image, mounting a directory from your host. ```console -$ docker run --name couchdb -v /path/to/config/dir:/opt/bitnami/couchdb/etc bitnami/couchdb:latest +docker run --name couchdb -v /path/to/config/dir:/opt/bitnami/couchdb/etc bitnami/couchdb:latest ``` or using Docker Compose: @@ -184,29 +184,29 @@ vi /path/to/config/file/10-custom.ini After changing the configuration, restart your CouchDB container for changes to take effect. ```console -$ docker restart couchdb +docker restart couchdb ``` or using Docker Compose: ```console -$ docker-compose restart couchdb +docker-compose restart couchdb ``` ### Clustering configuration In order to configure CouchDB as a cluster of nodes, please make sure you set proper values for the following environment variables: -- `COUCHDB_NODENAME`. A server alias. It should be different on each container. -- `COUCHDB_CLUSTER_PORT_NUMBER`: Port for cluster communication. Default: **9100** -- `COUCHDB_CREATE_DATABASES`: Whether to create the system databases or not. You should only set it to yes in one of the nodes. Default: **yes** +* `COUCHDB_NODENAME`. A server alias. It should be different on each container. +* `COUCHDB_CLUSTER_PORT_NUMBER`: Port for cluster communication. Default: **9100** +* `COUCHDB_CREATE_DATABASES`: Whether to create the system databases or not. You should only set it to yes in one of the nodes. Default: **yes** ## Logging The Bitnami CouchDB Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs couchdb +docker logs couchdb ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -219,8 +219,8 @@ The Bitnami CouchDB Docker image is designed to be extended so it can be used as Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the port used by CouchDB by setting the environment variable `COUCHDB_PORT_NUMBER`. -- [Replacing or adding your own configuration files](#mounting-your-own-configuration-files). +* Settings that can be adapted using environment variables. For instance, you can change the port used by CouchDB by setting the environment variable `COUCHDB_PORT_NUMBER`. +* [Replacing or adding your own configuration files](#mounting-your-own-configuration-files). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -232,9 +232,9 @@ FROM bitnami/couchdb Here is an example of extending the image with the following modifications: -- Install the `vim` editor -- Modify the port used by CouchDB -- Change the user that runs the container +* Install the `vim` editor +* Modify the port used by CouchDB +* Change the user that runs the container ```Dockerfile FROM bitnami/couchdb @@ -256,7 +256,7 @@ USER 1002 Based on the extended image, you can use a Docker Compose file like the one below to add other features: -- Add a custom configuration file +* Add a custom configuration file ```yaml version: '2' @@ -285,7 +285,7 @@ Bitnami provides up-to-date versions of CouchDB, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/couchdb:latest +docker pull bitnami/couchdb:latest ``` #### Step 2: Stop the running container @@ -293,13 +293,13 @@ $ docker pull bitnami/couchdb:latest Stop the currently running container using the command ```console -$ docker stop couchdb +docker stop couchdb ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v couchdb +docker rm -v couchdb ``` #### Step 4: Run the new image @@ -307,14 +307,14 @@ $ docker rm -v couchdb Re-create your container from the new image. ```console -$ docker run --name couchdb bitnami/couchdb:latest +docker run --name couchdb bitnami/couchdb:latest ``` ## Notable Changes ### 3.0.0-0-debian-10-r0 -- The usage of 'ALLOW_ANONYMOUS_LOGIN' is now deprecated. Please, specify a password for the admin user (defaults to "admin") by setting the 'COUCHDB_PASSWORD' environment variable. +* The usage of 'ALLOW_ANONYMOUS_LOGIN' is now deprecated. Please, specify a password for the admin user (defaults to "admin") by setting the 'COUCHDB_PASSWORD' environment variable. ## Contributing @@ -340,7 +340,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/dex/README.md b/bitnami/dex/README.md index 0a5f9c63ba13..fb248d49ee3c 100644 --- a/bitnami/dex/README.md +++ b/bitnami/dex/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name dex bitnami/dex +docker run -it --name dex bitnami/dex ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dex/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dex/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Dex Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/dex). ```console -$ docker pull bitnami/dex:latest +docker pull bitnami/dex:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/dex/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/dex:[TAG] +docker pull bitnami/dex:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Dex, including security patches, soon af #### Step 1: Get the updated image ```console -$ docker pull bitnami/dex:latest +docker pull bitnami/dex:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/dex:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v dex +docker rm -v dex ``` or using Docker Compose: ```console -$ docker-compose rm -v dex +docker-compose rm -v dex ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v dex Re-create your container from the new image. ```console -$ docker run --name dex bitnami/dex:latest +docker run --name dex bitnami/dex:latest ``` or using Docker Compose: ```console -$ docker-compose up dex +docker-compose up dex ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up dex To run commands inside this container you can use `docker run`, for example to execute `dex --help` you can follow the example below: ```console -$ docker run --rm --name dex bitnami/dex:latest --help +docker run --rm --name dex bitnami/dex:latest --help ``` Check the [official Dex documentation](https://dexidp.io/docs/) for more information about how to use Dex. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/discourse/README.md b/bitnami/discourse/README.md index c8aa0adcdd74..51c0f9763ead 100644 --- a/bitnami/discourse/README.md +++ b/bitnami/discourse/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -39,21 +39,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Discourse Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/discourse). ```console -$ docker pull bitnami/discourse:latest +docker pull bitnami/discourse:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/discourse/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/discourse:[TAG] +docker pull bitnami/discourse:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -65,8 +65,8 @@ Discourse requires access to a PostgreSQL database to store information. We'll u The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/discourse/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -76,14 +76,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create discourse-network +docker network create discourse-network ``` #### Step 2: Create a volume for PostgreSQL persistence and create a PostgreSQL container ```console -$ docker volume create --name postgresql_data -$ docker run -d --name postgresql \ +docker volume create --name postgresql_data +docker run -d --name postgresql \ --env ALLOW_EMPTY_PASSWORD=yes \ --env POSTGRESQL_USERNAME=bn_discourse \ --env POSTGRESQL_PASSWORD=bitnami123 \ @@ -96,8 +96,8 @@ $ docker run -d --name postgresql \ #### Step 3: Create a volume for Redis persistence and create a Redis container ```console -$ docker volume create --name redis_data -$ docker run -d --name redis \ +docker volume create --name redis_data +docker run -d --name redis \ --env ALLOW_EMPTY_PASSWORD=yes \ --network discourse-network \ --volume redis_data:/bitnami/redis \ @@ -107,8 +107,8 @@ $ docker run -d --name redis \ #### Step 4: Create volumes for Discourse persistence and launch the container ```console -$ docker volume create --name discourse_data -$ docker run -d --name discourse \ +docker volume create --name discourse_data +docker run -d --name discourse \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env DISCOURSE_DATABASE_USER=bn_discourse \ @@ -123,7 +123,7 @@ $ docker run -d --name discourse \ #### Step 5: Launch the Sidekiq container ```console -$ docker run -d --name sidekiq \ +docker run -d --name sidekiq \ --network discourse-network \ --volume discourse_data:/bitnami/discourse \ bitnami/discourse:latest /opt/bitnami/scripts/discourse-sidekiq/run.sh @@ -135,7 +135,7 @@ Access your application at `http://your-ip/` If you need to run discourse administrative commands like [Create admin account from console](https://meta.discourse.org/t/create-admin-account-from-console/17274), you can do so by executing a shell inside the container and running with the proper environment variables. -``` +```console cd /opt/bitnami/discourse RAILS_ENV=production bundle exec rake admin:create ``` @@ -193,13 +193,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create discourse-network +docker network create discourse-network ``` #### Step 2. Create a PostgreSQL container with host volume ```console -$ docker run -d --name postgresql \ +docker run -d --name postgresql \ --env ALLOW_EMPTY_PASSWORD=yes \ --env POSTGRESQL_USERNAME=bn_discourse \ --env POSTGRESQL_PASSWORD=bitnami123 \ @@ -212,7 +212,7 @@ $ docker run -d --name postgresql \ #### Step 3. Create a Redis container with host volume ```console -$ docker run -d --name redis \ +docker run -d --name redis \ --env ALLOW_EMPTY_PASSWORD=yes \ --network discourse-network \ --volume /path/to/redis-persistence:/bitnami/redis \ @@ -222,7 +222,7 @@ $ docker run -d --name redis \ #### Step 4. Create the Discourse container with host volumes ```console -$ docker run -d --name discourse \ +docker run -d --name discourse \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env DISCOURSE_DATABASE_USER=bn_discourse \ @@ -237,7 +237,7 @@ $ docker run -d --name discourse \ #### Step 5. Create the Sidekiq container with host volumes ```console -$ docker run -d --name sidekiq \ +docker run -d --name sidekiq \ --network discourse-network \ --volume /path/to/discourse-persistence:/bitnami/discourse \ bitnami/discourse:latest @@ -272,7 +272,7 @@ When you start the Discourse image, you can adjust the configuration of the inst - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name discourse -p 80:8080 -p 443:8443 \ + docker run -d --name discourse -p 80:8080 -p 443:8443 \ --env DISCOURSE_PASSWORD=my_password \ --network discourse-tier \ --volume /path/to/discourse-persistence:/bitnami \ @@ -281,7 +281,7 @@ When you start the Discourse image, you can adjust the configuration of the inst Available environment variables: -##### User and Site configuration +#### User and Site configuration - `DISCOURSE_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no** - `DISCOURSE_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by Discourse to generate URLs and links when accessing using HTTP. Will be ignored if multisite mode is not enabled. Default **80** @@ -302,7 +302,7 @@ Available environment variables: - `DISCOURSE_ENABLE_CONF_PERSISTENCE`: Whether to enable persistence of the Discourse `discourse.conf` configuration file. Default: **no** - `DISCOURSE_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. This is necessary in case you use a database that already has Discourse data. Default: **no** -##### Database connection configuration +#### Database connection configuration - `DISCOURSE_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** - `DISCOURSE_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** @@ -311,14 +311,14 @@ Available environment variables: - `DISCOURSE_DATABASE_PASSWORD`: Database password that Discourse will use to connect with the database. No defaults. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Redis connection configuration +#### Redis connection configuration - `DISCOURSE_REDIS_HOST`: Hostname for Redis(R). Default: **redis** - `DISCOURSE_REDIS_PORT_NUMBER`: Port used by Redis(R). Default: **6379** - `DISCOURSE_REDIS_PASSWORD`: Password for Redis(R). - `DISCOURSE_REDIS_USE_SSL`: Whether to enable SSL for Redis(R). Default: **no** -##### Create a database for Discourse using postgresql-client +#### Create a database for Discourse using postgresql-client - `POSTGRESQL_CLIENT_DATABASE_HOST`: Hostname for the PostgreSQL server. Default: **postgresql** - `POSTGRESQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** @@ -331,7 +331,7 @@ Available environment variables: - `POSTGRESQL_CLIENT_EXECUTE_SQL`: SQL code to execute in the PostgreSQL server. No defaults. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure Discourse to send email using SMTP you can set the following environment variables: @@ -375,44 +375,44 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: - - First, create the Discourse container: + - First, create the Discourse container: - ```console - $ docker run -d --name discourse -p 80:8080 -p 443:8443 \ - --env DISCOURSE_DATABASE_USER=bn_discourse \ - --env DISCOURSE_DATABASE_NAME=bitnami_discourse \ - --env DISCOURSE_SMTP_HOST=smtp.gmail.com \ - --env DISCOURSE_SMTP_PORT=587 \ - --env DISCOURSE_SMTP_USER=your_email@gmail.com \ - --env DISCOURSE_SMTP_PASSWORD=your_password \ - --env DISCOURSE_SMTP_PROTOCOL=tls \ - --network discourse-tier \ - --volume /path/to/discourse-persistence:/bitnami \ - bitnami/discourse:latest - ``` + ```console + docker run -d --name discourse -p 80:8080 -p 443:8443 \ + --env DISCOURSE_DATABASE_USER=bn_discourse \ + --env DISCOURSE_DATABASE_NAME=bitnami_discourse \ + --env DISCOURSE_SMTP_HOST=smtp.gmail.com \ + --env DISCOURSE_SMTP_PORT=587 \ + --env DISCOURSE_SMTP_USER=your_email@gmail.com \ + --env DISCOURSE_SMTP_PASSWORD=your_password \ + --env DISCOURSE_SMTP_PROTOCOL=tls \ + --network discourse-tier \ + --volume /path/to/discourse-persistence:/bitnami \ + bitnami/discourse:latest + ``` - - Then, create the Sidekiq container: + - Then, create the Sidekiq container: - ```console - $ docker run -d --name sidekiq \ - --env DISCOURSE_DATABASE_USER=bn_discourse \ - --env DISCOURSE_DATABASE_NAME=bitnami_discourse \ - --env DISCOURSE_SMTP_HOST=smtp.gmail.com \ - --env DISCOURSE_SMTP_PORT=587 \ - --env DISCOURSE_SMTP_USER=your_email@gmail.com \ - --env DISCOURSE_SMTP_PASSWORD=your_password \ - --env DISCOURSE_SMTP_PROTOCOL=tls \ - --network discourse-tier \ - --volume /path/to/discourse-persistence:/bitnami \ - bitnami/discourse:latest - ``` + ```console + docker run -d --name sidekiq \ + --env DISCOURSE_DATABASE_USER=bn_discourse \ + --env DISCOURSE_DATABASE_NAME=bitnami_discourse \ + --env DISCOURSE_SMTP_HOST=smtp.gmail.com \ + --env DISCOURSE_SMTP_PORT=587 \ + --env DISCOURSE_SMTP_USER=your_email@gmail.com \ + --env DISCOURSE_SMTP_PASSWORD=your_password \ + --env DISCOURSE_SMTP_PROTOCOL=tls \ + --network discourse-tier \ + --volume /path/to/discourse-persistence:/bitnami \ + bitnami/discourse:latest + ``` In order to verify your configuration works properly, you can test your configuration parameters from the container itself. ```console -$ docker run -u root -it bitnami/discourse:latest bash -$ install_packages swaks -$ swaks --to your_email@domain.com --from your_email@domain.com --server your.smtp.server.com --auth LOGIN --auth-user your_email@domain.com -tls +docker run -u root -it bitnami/discourse:latest bash +install_packages swaks +swaks --to your_email@domain.com --from your_email@domain.com --server your.smtp.server.com --auth LOGIN --auth-user your_email@domain.com -tls ``` See the [documentation on troubleshooting SMTP issues](https://docs.bitnami.com/general/how-to/troubleshoot-smtp-issues/) if there are problems. @@ -440,7 +440,7 @@ The Bitnami Discourse container supports connecting the Discourse application to - For manual execution: ```console - $ docker run -d --name discourse\ + docker run -d --name discourse\ -p 8080:8080 -p 8443:8443 \ --network discourse-network \ --env DISCOURSE_DATABASE_HOST=mariadb_host \ @@ -459,13 +459,13 @@ In case the database already contains data from a previous Discourse installatio The Bitnami Discourse Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs discourse +docker logs discourse ``` Or using Docker Compose: ```console -$ docker-compose logs discourse +docker-compose logs discourse ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -479,13 +479,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop discourse +docker stop discourse ``` Or using Docker Compose: ```console -$ docker-compose stop discourse +docker-compose stop discourse ``` #### Step 2: Run the backup command @@ -493,7 +493,7 @@ $ docker-compose stop discourse We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/discourse-backups:/backups --volumes-from discourse busybox \ +docker run --rm -v /path/to/discourse-backups:/backups --volumes-from discourse busybox \ cp -a /bitnami/discourse /backups/latest ``` @@ -504,7 +504,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the PostgreSQL database container: ```diff - $ docker run -d --name postgresql \ + docker run -d --name postgresql \ ... - --volume /path/to/postgresql-persistence:/bitnami/postgresql \ + --volume /path/to/postgresql-backups/latest:/bitnami/postgresql \ @@ -514,7 +514,7 @@ For the PostgreSQL database container: For the Discourse container: ```diff - $ docker run -d --name discourse \ + docker run -d --name discourse \ ... - --volume /path/to/discourse-persistence:/bitnami/discourse \ + --volume /path/to/discourse-backups/latest:/bitnami/discourse \ @@ -523,14 +523,14 @@ For the Discourse container: ### Upgrade this image -Bitnami provides up-to-date versions of PostgreSQL and Discourse, 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 Discourse container. For the PostgreSQL upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/postgresql/blob/master/README.md#upgrade-this-image +Bitnami provides up-to-date versions of PostgreSQL and Discourse, 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 Discourse container. For the PostgreSQL upgrade see: The `bitnami/discourse:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/discourse:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/discourse/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/discourse:latest +docker pull bitnami/discourse:latest ``` #### Step 2: Stop the running container @@ -538,7 +538,7 @@ $ docker pull bitnami/discourse:latest Stop the currently running container using the command ```console -$ docker-compose stop discourse +docker-compose stop discourse ``` #### Step 3: Take a snapshot of the application state @@ -558,10 +558,10 @@ docker-compose rm -v discourse Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` -# Notable Changes +## Notable Changes ### 2.7.0-debian-10-r4 @@ -604,7 +604,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/dokuwiki/README.md b/bitnami/dokuwiki/README.md index 18f15ba98493..181744daa40e 100644 --- a/bitnami/dokuwiki/README.md +++ b/bitnami/dokuwiki/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dokuwiki/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dokuwiki/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami DokuWiki Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/dokuwiki). ```console -$ docker pull bitnami/dokuwiki:latest +docker pull bitnami/dokuwiki:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/dokuwiki/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/dokuwiki:[TAG] +docker pull bitnami/dokuwiki:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -93,13 +93,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create dokuwiki-network +docker network create dokuwiki-network ``` #### Step 2. Create the DokuWiki container with host volumes ```console -$ docker run -d --name dokuwiki \ +docker run -d --name dokuwiki \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --network dokuwiki-network \ @@ -113,7 +113,7 @@ $ docker run -d --name dokuwiki \ When you start the DokuWiki 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/dokuwiki/docker-compose.yml) file present in this repository: +* 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/dokuwiki/docker-compose.yml) file present in this repository: ```yaml dokuwiki: @@ -123,10 +123,10 @@ dokuwiki: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name dokuwiki -p 80:8080 -p 443:8443 \ + docker run -d --name dokuwiki -p 80:8080 -p 443:8443 \ --env DOKUWIKI_PASSWORD=my_password \ --network dokuwiki-tier \ --volume /path/to/dokuwiki-persistence:/bitnami/dokuwiki \ @@ -135,37 +135,37 @@ dokuwiki: Available environment variables: -##### User and Site configuration +### User and Site configuration - - `DOKUWIKI_USERNAME`: Dokuwiki application username. Default: **user** - - `DOKUWIKI_FULL_NAME`: Dokuwiki application user full name. Default: **Full Name** - - `DOKUWIKI_PASSWORD`: Dokuwiki application password. Default: **bitnami1** - - `DOKUWIKI_EMAIL`: Dokuwiki application email. Default: **user@example.com** - - `DOKUWIKI_WIKI_NAME`: Dokuwiki wiki name. Default: **Bitnami DokuWiki** +* `DOKUWIKI_USERNAME`: Dokuwiki application username. Default: **user** +* `DOKUWIKI_FULL_NAME`: Dokuwiki application user full name. Default: **Full Name** +* `DOKUWIKI_PASSWORD`: Dokuwiki application password. Default: **bitnami1** +* `DOKUWIKI_EMAIL`: Dokuwiki application email. Default: **user@example.com** +* `DOKUWIKI_WIKI_NAME`: Dokuwiki wiki name. Default: **Bitnami DokuWiki** -##### PHP configuration +### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. ## Logging The Bitnami DokuWiki Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs dokuwiki +docker logs dokuwiki ``` Or using Docker Compose: ```console -$ docker-compose logs dokuwiki +docker-compose logs dokuwiki ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -179,13 +179,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop dokuwiki +docker stop dokuwiki ``` Or using Docker Compose: ```console -$ docker-compose stop dokuwiki +docker-compose stop dokuwiki ``` #### Step 2: Run the backup command @@ -193,7 +193,7 @@ $ docker-compose stop dokuwiki We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/dokuwiki-backups:/backups --volumes-from dokuwiki busybox \ +docker run --rm -v /path/to/dokuwiki-backups:/backups --volumes-from dokuwiki busybox \ cp -a /bitnami/dokuwiki /backups/latest ``` @@ -204,7 +204,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the DokuWiki container: ```diff - $ docker run -d --name \ + docker run -d --name \ ... - --volume /path/to/-persistence:/bitnami/dokuwiki \ + --volume /path/to/-backups/latest:/bitnami/dokuwiki \ @@ -218,7 +218,7 @@ Bitnami provides up-to-date versions of DokuWiki, including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/dokuwiki:latest +docker pull bitnami/dokuwiki:latest ``` #### Step 2: Stop the running container @@ -226,7 +226,7 @@ $ docker pull bitnami/dokuwiki:latest Stop the currently running container using the command ```console -$ docker-compose stop dokuwiki +docker-compose stop dokuwiki ``` #### Step 3: Take a snapshot of the application state @@ -246,7 +246,7 @@ docker-compose rm -v dokuwiki Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -257,10 +257,10 @@ The Bitnami DokuWiki Docker image is designed to be extended so it can be used a Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -272,9 +272,9 @@ FROM bitnami/dokuwiki 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/dokuwiki @@ -316,38 +316,38 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ### 20200729.0.0-debian-10-r6 -- Enabled nice/friendly URLs (#52) +* Enabled nice/friendly URLs (#52) ### 20180422.4.0-debian-10-r0 -- Changed versionioning to be shorter and more similar to the official version name. +* Changed versionioning to be shorter and more similar to the official version name. ### 0.20180422.202005011246-debian-10-r68 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The DokuWiki container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the DokuWiki site by exporting its content, and importing it on a new DokuWiki container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The DokuWiki container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the DokuWiki site by exporting its content, and importing it on a new DokuWiki container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. ### 0.20180422.201901061035-debian-9-r114 and 0.20180422.201901061035-ol-7-r128 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ### 0.20170219.201708232029-r3 -- Custom smileys, available in `lib/images/smileys/local`, are now persisted. -- Address issue [#40](https://github.com/bitnami/bitnami-docker-dokuwiki/issues/40). -- In order to upgrade your image from previous versions, see the workaround provided on issue [#42](https://github.com/bitnami/bitnami-docker-dokuwiki/issues/42). +* Custom smileys, available in `lib/images/smileys/local`, are now persisted. +* Address issue [#40](https://github.com/bitnami/bitnami-docker-dokuwiki/issues/40). +* In order to upgrade your image from previous versions, see the workaround provided on issue [#42](https://github.com/bitnami/bitnami-docker-dokuwiki/issues/42). ### 0.20180422.201805030840-r5 -- Custom InterWiki shortcut icons, available in `lib/images/interwiki/`, are now persisted. -- Address issue [#40](https://github.com/bitnami/bitnami-docker-dokuwiki/issues/40). -- In order to upgrade your image from previous versions, see the workaround provided on issue [#42](https://github.com/bitnami/bitnami-docker-dokuwiki/issues/42). +* Custom InterWiki shortcut icons, available in `lib/images/interwiki/`, are now persisted. +* Address issue [#40](https://github.com/bitnami/bitnami-docker-dokuwiki/issues/40). +* In order to upgrade your image from previous versions, see the workaround provided on issue [#42](https://github.com/bitnami/bitnami-docker-dokuwiki/issues/42). ## Contributing @@ -373,7 +373,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/dotnet-sdk/README.md b/bitnami/dotnet-sdk/README.md index cf0e7a896190..3079bdcc539e 100644 --- a/bitnami/dotnet-sdk/README.md +++ b/bitnami/dotnet-sdk/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name dotnet-sdk bitnami/dotnet-sdk:latest +docker run --name dotnet-sdk bitnami/dotnet-sdk:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dotnet-sdk/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dotnet-sdk/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami .NET SDK Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/dotnet-sdk). ```console -$ docker pull bitnami/dotnet-sdk:latest +docker pull bitnami/dotnet-sdk:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/dotnet-sdk/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/dotnet-sdk:[TAG] +docker pull bitnami/dotnet-sdk:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -67,7 +67,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/dotnet-persistence:/bitnami \ bitnami/dotnet-sdk:latest ``` @@ -93,7 +93,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create dotnet-network --driver bridge +docker network create dotnet-network --driver bridge ``` #### Step 2: Launch the .NET SDK container within your network @@ -101,7 +101,7 @@ $ docker network create dotnet-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `dotnet-network` network. ```console -$ docker run --name dotnet-node1 --network dotnet-network bitnami/dotnet-sdk:latest +docker run --name dotnet-node1 --network dotnet-network bitnami/dotnet-sdk:latest ``` #### Step 3: Run another containers @@ -113,7 +113,7 @@ We can launch another containers using the same flag (`--network NETWORK`) in th The Bitnami .NET SDK Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs dotnet-sdk +docker logs dotnet-sdk ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -127,7 +127,7 @@ Bitnami provides up-to-date versions of .NET SDK, including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/dotnet-sdk:latest +docker pull bitnami/dotnet-sdk:latest ``` #### Step 2: Stop the running container @@ -135,13 +135,13 @@ $ docker pull bitnami/dotnet-sdk:latest Stop the currently running container using the command ```console -$ docker stop dotnet-sdk +docker stop dotnet-sdk ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v dotnet-sdk +docker rm -v dotnet-sdk ``` #### Step 4: Run the new image @@ -149,7 +149,7 @@ $ docker rm -v dotnet-sdk Re-create your container from the new image. ```console -$ docker run --name dotnet-sdk bitnami/dotnet-sdk:latest +docker run --name dotnet-sdk bitnami/dotnet-sdk:latest ``` ## Contributing @@ -168,7 +168,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/dotnet/README.md b/bitnami/dotnet/README.md index 1ad5a7614095..5d4124c183d7 100644 --- a/bitnami/dotnet/README.md +++ b/bitnami/dotnet/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name dotnet bitnami/dotnet:latest +docker run --name dotnet bitnami/dotnet:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dotnet/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/dotnet/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Dotnet Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/dotnet). ```console -$ docker pull bitnami/dotnet:latest +docker pull bitnami/dotnet:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/dotnet/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/dotnet:[TAG] +docker pull bitnami/dotnet:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -67,7 +67,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/dotnet-persistence:/bitnami \ bitnami/dotnet:latest ``` @@ -93,7 +93,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create dotnet-network --driver bridge +docker network create dotnet-network --driver bridge ``` #### Step 2: Launch the Dotnet container within your network @@ -101,7 +101,7 @@ $ docker network create dotnet-network --driver bridge Use the `--network .NETWORK>` argument to the `docker run` command to attach the container to the `dotnet-network` network. ```console -$ docker run --name dotnet-node1 --network dotnet-network bitnami/dotnet:latest +docker run --name dotnet-node1 --network dotnet-network bitnami/dotnet:latest ``` #### Step 3: Run another containers @@ -113,7 +113,7 @@ We can launch another containers using the same flag (`--network.NETWORK`) in th The Bitnami Dotnet Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs dotnet +docker logs dotnet ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -127,7 +127,7 @@ Bitnami provides up-to-date versions of Dotnet, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/dotnet:latest +docker pull bitnami/dotnet:latest ``` #### Step 2: Stop the running container @@ -135,13 +135,13 @@ $ docker pull bitnami/dotnet:latest Stop the currently running container using the command ```console -$ docker stop dotnet +docker stop dotnet ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v dotnet +docker rm -v dotnet ``` #### Step 4: Run the new image @@ -149,7 +149,7 @@ $ docker rm -v dotnet Re-create your container from the new image. ```console -$ docker run --name dotnet bitnami/dotnet:latest +docker run --name dotnet bitnami/dotnet:latest ``` ## Contributing @@ -168,7 +168,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/drupal-nginx/README.md b/bitnami/drupal-nginx/README.md index 4c22eb3de887..668f6832967b 100644 --- a/bitnami/drupal-nginx/README.md +++ b/bitnami/drupal-nginx/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal-nginx/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal-nginx/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Drupal Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/drupal-nginx). ```console -$ docker pull bitnami/drupal-nginx:latest +docker pull bitnami/drupal-nginx:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/drupal-nginx/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/drupal-nginx:[TAG] +docker pull bitnami/drupal-nginx:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -71,25 +71,25 @@ Running Drupal with a database server is the recommended way. You can either use The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/drupal-nginx/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal-nginx/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal-nginx/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` #### Run the application manually If you want to run the application manually instead of using docker-compose, these are the basic steps you need to run: -##### 1. Create a new network for the application and the database: +##### 1. Create a new network for the application and the database ```console - $ docker network create drupal-network + docker network create drupal-network ``` ##### 2. Create a volume for MariaDB persistence and create a MariaDB container ```console - $ docker volume create --name mariadb_data - $ docker run -d --name mariadb \ + docker volume create --name mariadb_data + docker run -d --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_USER=bn_drupal \ -e MARIADB_DATABASE=bitnami_drupal \ @@ -101,8 +101,8 @@ If you want to run the application manually instead of using docker-compose, the ##### 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 \ + docker volume create --name drupal_data + docker run -d --name drupal -p 8080:8080 -p 8443:8443 \ -e ALLOW_EMPTY_PASSWORD=yes \ -e DRUPAL_DATABASE_USER=bn_drupal \ -e DRUPAL_DATABASE_NAME=bitnami_drupal \ @@ -154,13 +154,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi ##### Step 1: Create a network (if it does not exist) ```console -$ docker network create drupal-network +docker network create drupal-network ``` -##### 2. Create a MariaDB container with host volume: +##### 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_USER=bn_drupal \ -e MARIADB_PASSWORD=bitnami \ @@ -173,7 +173,7 @@ $ docker run -d --name mariadb \ ##### Step 3. Create the Drupal container with host volumes ```console -$ docker run -d --name drupal \ +docker run -d --name drupal \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env DRUPAL_DATABASE_USER=bn_drupal \ @@ -190,7 +190,7 @@ $ docker run -d --name drupal \ 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: - * 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-nginx/docker-compose.yml) file present in this repository: +* 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-nginx/docker-compose.yml) file present in this repository: ```yaml drupal: @@ -200,10 +200,10 @@ drupal: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name drupal -p 80:8080 -p 443:8443 \ + 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 \ @@ -212,74 +212,74 @@ drupal: Available environment variables: -###### User and Site configuration +##### User and Site configuration -- `DRUPAL_PROFILE`: Drupal installation profile. Default: **standard** -- `DRUPAL_SITE_NAME`: Drupal blog name. Default: **My blog** -- `DRUPAL_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** -- `DRUPAL_ENABLE_MODULES`: Comma or space separated list of installed modules to enable during the first initialization. No defaults. -- `DRUPAL_USERNAME`: Drupal application username. Default: **user** -- `DRUPAL_PASSWORD`: Drupal application password. Default: **bitnami** -- `DRUPAL_EMAIL`: Drupal application email. Default: **user@example.com** -- `DRUPAL_CONFIG_SYNC_DIR`: Drupal sync configuration directory location. Only used when `DRUPAL_SKIP_BOOTSTRAP` is enabled. No defaults. -- `DRUPAL_HASH_SALT`: Drupal string used to generate random values. Only used when `DRUPAL_SKIP_BOOTSTRAP` is enabled. No defaults. +* `DRUPAL_PROFILE`: Drupal installation profile. Default: **standard** +* `DRUPAL_SITE_NAME`: Drupal blog name. Default: **My blog** +* `DRUPAL_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** +* `DRUPAL_ENABLE_MODULES`: Comma or space separated list of installed modules to enable during the first initialization. No defaults. +* `DRUPAL_USERNAME`: Drupal application username. Default: **user** +* `DRUPAL_PASSWORD`: Drupal application password. Default: **bitnami** +* `DRUPAL_EMAIL`: Drupal application email. Default: **user@example.com** +* `DRUPAL_CONFIG_SYNC_DIR`: Drupal sync configuration directory location. Only used when `DRUPAL_SKIP_BOOTSTRAP` is enabled. No defaults. +* `DRUPAL_HASH_SALT`: Drupal string used to generate random values. Only used when `DRUPAL_SKIP_BOOTSTRAP` is enabled. No defaults. -###### Use an existing database +##### Use an existing database -- `DRUPAL_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `DRUPAL_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `DRUPAL_DATABASE_NAME`: Database name that Drupal will use to connect with the database. Default: **bitnami_drupal** -- `DRUPAL_DATABASE_USER`: Database user that Drupal will use to connect with the database. Default: **bn_drupal** -- `DRUPAL_DATABASE_PASSWORD`: Database password that Drupal will use to connect with the database. No defaults. -- `DRUPAL_DATABASE_TLS_CA_FILE`: TLS CA certificate for connections. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `DRUPAL_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `DRUPAL_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `DRUPAL_DATABASE_NAME`: Database name that Drupal will use to connect with the database. Default: **bitnami_drupal** +* `DRUPAL_DATABASE_USER`: Database user that Drupal will use to connect with the database. Default: **bn_drupal** +* `DRUPAL_DATABASE_PASSWORD`: Database password that Drupal will use to connect with the database. No defaults. +* `DRUPAL_DATABASE_TLS_CA_FILE`: TLS CA certificate for connections. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -###### Create a database for Drupal using mysql-client +##### Create a database for Drupal using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -###### SMTP Configuration +##### SMTP Configuration To configure Drupal to send email using SMTP you can set the following environment variables: -- `DRUPAL_SMTP_HOST`: SMTP host. -- `DRUPAL_SMTP_PORT`: SMTP port. -- `DRUPAL_SMTP_USER`: SMTP account user. -- `DRUPAL_SMTP_PASSWORD`: SMTP account password. -- `DRUPAL_SMTP_PROTOCOL`: SMTP protocol. (standard, tls, ssl). +* `DRUPAL_SMTP_HOST`: SMTP host. +* `DRUPAL_SMTP_PORT`: SMTP port. +* `DRUPAL_SMTP_USER`: SMTP account user. +* `DRUPAL_SMTP_PASSWORD`: SMTP account password. +* `DRUPAL_SMTP_PROTOCOL`: SMTP protocol. (standard, tls, ssl). -###### PHP configuration +##### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. ###### 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-nginx/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/drupal-nginx/docker-compose.yml) file present in this repository: ```yaml drupal: @@ -295,10 +295,11 @@ This would be an example of SMTP configuration using a Gmail account: - DRUPAL_SMTP_PROTOCOL=tls ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name drupal -p 80:8080 -p 443:8443 \ + 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 \ @@ -316,13 +317,13 @@ This would be an example of SMTP configuration using a Gmail account: The Bitnami Drupal Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs drupal +docker logs drupal ``` Or using Docker Compose: ```console -$ docker-compose logs drupal +docker-compose logs drupal ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -336,13 +337,13 @@ To backup your data, configuration and logs, follow these simple steps: ##### Step 1: Stop the currently running container ```console -$ docker stop drupal +docker stop drupal ``` Or using Docker Compose: ```console -$ docker-compose stop drupal +docker-compose stop drupal ``` ##### Step 2: Run the backup command @@ -350,7 +351,7 @@ $ docker-compose stop drupal We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/drupal-backups:/backups --volumes-from drupal busybox \ +docker run --rm -v /path/to/drupal-backups:/backups --volumes-from drupal busybox \ cp -a /bitnami/drupal /backups/latest ``` @@ -361,7 +362,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -371,7 +372,7 @@ For the MariaDB database container: For the Drupal container: ```diff - $ docker run -d --name drupal \ + docker run -d --name drupal \ ... - --volume /path/to/drupal-persistence:/bitnami/drupal \ + --volume /path/to/drupal-backups/latest:/bitnami/drupal \ @@ -380,12 +381,12 @@ For the Drupal container: #### 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 +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: ##### Step 1: Get the updated image ```console -$ docker pull bitnami/drupal-nginx:latest +docker pull bitnami/drupal-nginx:latest ``` ##### Step 2: Stop the running container @@ -393,7 +394,7 @@ $ docker pull bitnami/drupal-nginx:latest Stop the currently running container using the command ```console -$ docker-compose stop drupal +docker-compose stop drupal ``` ##### Step 3: Take a snapshot of the application state @@ -413,7 +414,7 @@ docker-compose rm -v drupal Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -424,11 +425,11 @@ The Bitnami Drupal with NGINX Docker image is designed to be extended so it can Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by NGINX for HTTP and HTTPS, by setting the environment variables `NGINX_HTTP_PORT_NUMBER` and `NGINX_HTTPS_PORT_NUMBER` respectively. -- [Adding custom server blocks](https://github.com/bitnami/containers/blob/main/bitnami/nginx#adding-custom-server-blocks). -- [Replacing the 'nginx.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/nginx#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/nginx#using-custom-ssl-certificates). -- [Solving redirection issues](https://github.com/bitnami/containers/blob/main/bitnami/nginx#solving-redirection-issues). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by NGINX for HTTP and HTTPS, by setting the environment variables `NGINX_HTTP_PORT_NUMBER` and `NGINX_HTTPS_PORT_NUMBER` respectively. +* [Adding custom server blocks](https://github.com/bitnami/containers/blob/main/bitnami/nginx#adding-custom-server-blocks). +* [Replacing the 'nginx.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/nginx#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/nginx#using-custom-ssl-certificates). +* [Solving redirection issues](https://github.com/bitnami/containers/blob/main/bitnami/nginx#solving-redirection-issues). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -440,9 +441,9 @@ FROM bitnami/drupal-nginx Here is an example of extending the image with the following modifications: -- Install the `vim` editor -- Modify the NGINX configuration file -- Modify the ports used by NGINX +* Install the `vim` editor +* Modify the NGINX configuration file +* Modify the ports used by NGINX ```Dockerfile FROM bitnami/drupal-nginx @@ -480,17 +481,17 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ### 8.9.2-debian-10-r3 and 9.0.2-debian-10-r3 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The Drupal container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the NGINX daemon was started as the `daemon` user. From now on, both the container and the NGINX daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Drupal site by exporting its content, and importing it on a new Drupal container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The Drupal container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the NGINX daemon was started as the `daemon` user. From now on, both the container and the NGINX daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Drupal site by exporting its content, and importing it on a new Drupal container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. ### 8.7.2-debian-9-r9 and 8.7.2-ol-7-r8 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom NGINX certificates by placing them at `/opt/bitnami/nginx/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom NGINX certificates by placing them at `/opt/bitnami/nginx/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -516,7 +517,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/drupal/README.md b/bitnami/drupal/README.md index 5d07a86b44f7..804224bf09de 100644 --- a/bitnami/drupal/README.md +++ b/bitnami/drupal/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Drupal Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/drupal). ```console -$ docker pull bitnami/drupal:latest +docker pull bitnami/drupal:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/drupal/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/drupal:[TAG] +docker pull bitnami/drupal:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +75,8 @@ Drupal requires access to a MySQL or MariaDB database to store information. We'l The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/drupal/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/drupal/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -86,14 +86,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create drupal-network +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 \ +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 \ @@ -106,8 +106,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for Drupal persistence and launch the container ```console -$ docker volume create --name drupal_data -$ docker run -d --name drupal \ +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 \ @@ -161,13 +161,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create drupal-network +docker network create drupal-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_drupal \ --env MARIADB_PASSWORD=bitnami \ @@ -180,7 +180,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the Drupal container with host volumes ```console -$ docker run -d --name drupal \ +docker run -d --name drupal \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env DRUPAL_DATABASE_USER=bn_drupal \ @@ -197,7 +197,7 @@ $ docker run -d --name drupal \ 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: - * 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: +* 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: ```yaml drupal: @@ -207,10 +207,10 @@ drupal: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name drupal -p 80:8080 -p 443:8443 \ + 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 \ @@ -219,74 +219,74 @@ drupal: Available environment variables: -##### User and Site configuration +#### User and Site configuration -- `DRUPAL_PROFILE`: Drupal installation profile. Default: **standard** -- `DRUPAL_SITE_NAME`: Drupal blog name. Default: **My blog** -- `DRUPAL_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** -- `DRUPAL_ENABLE_MODULES`: Comma or space separated list of installed modules to enable during the first initialization. No defaults. -- `DRUPAL_USERNAME`: Drupal application username. Default: **user** -- `DRUPAL_PASSWORD`: Drupal application password. Default: **bitnami** -- `DRUPAL_EMAIL`: Drupal application email. Default: **user@example.com** -- `DRUPAL_CONFIG_SYNC_DIR`: Drupal sync configuration directory location. Only used when `DRUPAL_SKIP_BOOTSTRAP` is enabled. No defaults. -- `DRUPAL_HASH_SALT`: Drupal string used to generate random values. Only used when `DRUPAL_SKIP_BOOTSTRAP` is enabled. No defaults. +* `DRUPAL_PROFILE`: Drupal installation profile. Default: **standard** +* `DRUPAL_SITE_NAME`: Drupal blog name. Default: **My blog** +* `DRUPAL_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** +* `DRUPAL_ENABLE_MODULES`: Comma or space separated list of installed modules to enable during the first initialization. No defaults. +* `DRUPAL_USERNAME`: Drupal application username. Default: **user** +* `DRUPAL_PASSWORD`: Drupal application password. Default: **bitnami** +* `DRUPAL_EMAIL`: Drupal application email. Default: **user@example.com** +* `DRUPAL_CONFIG_SYNC_DIR`: Drupal sync configuration directory location. Only used when `DRUPAL_SKIP_BOOTSTRAP` is enabled. No defaults. +* `DRUPAL_HASH_SALT`: Drupal string used to generate random values. Only used when `DRUPAL_SKIP_BOOTSTRAP` is enabled. No defaults. -##### Use an existing database +#### Use an existing database -- `DRUPAL_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `DRUPAL_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `DRUPAL_DATABASE_NAME`: Database name that Drupal will use to connect with the database. Default: **bitnami_drupal** -- `DRUPAL_DATABASE_USER`: Database user that Drupal will use to connect with the database. Default: **bn_drupal** -- `DRUPAL_DATABASE_PASSWORD`: Database password that Drupal will use to connect with the database. No defaults. -- `DRUPAL_DATABASE_TLS_CA_FILE`: TLS CA certificate for connections. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `DRUPAL_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `DRUPAL_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `DRUPAL_DATABASE_NAME`: Database name that Drupal will use to connect with the database. Default: **bitnami_drupal** +* `DRUPAL_DATABASE_USER`: Database user that Drupal will use to connect with the database. Default: **bn_drupal** +* `DRUPAL_DATABASE_PASSWORD`: Database password that Drupal will use to connect with the database. No defaults. +* `DRUPAL_DATABASE_TLS_CA_FILE`: TLS CA certificate for connections. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for Drupal using mysql-client +#### Create a database for Drupal using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure Drupal to send email using SMTP you can set the following environment variables: -- `DRUPAL_SMTP_HOST`: SMTP host. -- `DRUPAL_SMTP_PORT`: SMTP port. -- `DRUPAL_SMTP_USER`: SMTP account user. -- `DRUPAL_SMTP_PASSWORD`: SMTP account password. -- `DRUPAL_SMTP_PROTOCOL`: SMTP protocol. (standard, tls, ssl). +* `DRUPAL_SMTP_HOST`: SMTP host. +* `DRUPAL_SMTP_PORT`: SMTP port. +* `DRUPAL_SMTP_USER`: SMTP account user. +* `DRUPAL_SMTP_PASSWORD`: SMTP account password. +* `DRUPAL_SMTP_PROTOCOL`: SMTP protocol. (standard, tls, ssl). -##### PHP configuration +#### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. -##### Example +#### 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: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/drupal/docker-compose.yml) file present in this repository: ```yaml drupal: @@ -302,10 +302,11 @@ This would be an example of SMTP configuration using a Gmail account: - DRUPAL_SMTP_PROTOCOL=tls ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name drupal -p 80:8080 -p 443:8443 \ + 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 \ @@ -323,13 +324,13 @@ This would be an example of SMTP configuration using a Gmail account: The Bitnami Drupal Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs drupal +docker logs drupal ``` Or using Docker Compose: ```console -$ docker-compose logs drupal +docker-compose logs drupal ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -343,13 +344,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop drupal +docker stop drupal ``` Or using Docker Compose: ```console -$ docker-compose stop drupal +docker-compose stop drupal ``` #### Step 2: Run the backup command @@ -357,7 +358,7 @@ $ docker-compose stop drupal We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/drupal-backups:/backups --volumes-from drupal busybox \ +docker run --rm -v /path/to/drupal-backups:/backups --volumes-from drupal busybox \ cp -a /bitnami/drupal /backups/latest ``` @@ -368,7 +369,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -378,7 +379,7 @@ For the MariaDB database container: For the Drupal container: ```diff - $ docker run -d --name drupal \ + docker run -d --name drupal \ ... - --volume /path/to/drupal-persistence:/bitnami/drupal \ + --volume /path/to/drupal-backups/latest:/bitnami/drupal \ @@ -387,12 +388,12 @@ For the Drupal container: ### 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 +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: #### Step 1: Get the updated image ```console -$ docker pull bitnami/drupal:latest +docker pull bitnami/drupal:latest ``` #### Step 2: Stop the running container @@ -400,7 +401,7 @@ $ docker pull bitnami/drupal:latest Stop the currently running container using the command ```console -$ docker-compose stop drupal +docker-compose stop drupal ``` #### Step 3: Take a snapshot of the application state @@ -420,7 +421,7 @@ docker-compose rm -v drupal Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -431,10 +432,10 @@ The Bitnami Drupal Docker image is designed to be extended so it can be used as Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -446,9 +447,9 @@ 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/drupal @@ -486,28 +487,28 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ... ``` -# Notable Changes +## Notable Changes ## 8.9.2-debian-10-r3 and 9.0.2-debian-10-r3 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The Drupal container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Drupal site by exporting its content, and importing it on a new Drupal container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The Drupal container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Drupal site by exporting its content, and importing it on a new Drupal container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. ## 8.7.2-debian-9-r8 and 8.7.2-ol-7-r8 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## 8.5.3-r1 -- The drupal container now uses drush to install and update the Drupal application. +* The drupal container now uses drush to install and update the Drupal application. -# Contributing +## Contributing We'd love for you to contribute to this container. You can request new features by creating an [issue](https://github.com/bitnami/containers/blob/main/bitnami/drupal/issues) or submitting a [pull request](https://github.com/bitnami/containers/blob/main/bitnami/drupal/pulls) with your contribution. @@ -515,11 +516,11 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/blob/main/bitnami/drupal/issues/new). Be sure to include the following information in your issue: -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ### Community supported solution @@ -529,7 +530,7 @@ The Bitnami team will review any PR that is created, feel free to create a PR if New versions and releases cadence are not going to be affected. Once a new version is released in the upstream project, the Bitnami container image will be updated to use the latest version, supporting the different branches supported by the upstream project as usual. -# License +## License Copyright © 2023 Bitnami @@ -537,7 +538,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/ejbca/README.md b/bitnami/ejbca/README.md index 27968eec02fb..d1cb48076b7d 100644 --- a/bitnami/ejbca/README.md +++ b/bitnami/ejbca/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name ejbca bitnami/ejbca:latest +docker run --name ejbca bitnami/ejbca:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ejbca/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ejbca/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami EJBCA Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/ejbca). ```console -$ docker pull bitnami/ejbca:latest +docker pull bitnami/ejbca:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/ejbca/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/ejbca:[TAG] +docker pull bitnami/ejbca:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +75,8 @@ EJBCA requires access to a MySQL or MariaDB database to store information. We'll The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/ejbca/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ejbca/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ejbca/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -86,14 +86,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create ejbca-network +docker network create ejbca-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_ejbca \ --env MARIADB_PASSWORD=Bitnami1234 \ @@ -106,8 +106,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for EJBCA persistence and launch the container ```console -$ docker volume create --name ejbca_data -$ docker run -d --name ejbca \ +docker volume create --name ejbca_data +docker run -d --name ejbca \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env EJBCA_DATABASE_USERNAME=bn_ejbca \ @@ -128,7 +128,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/wildfly` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/ejbca-persistence:/bitnami/wildfly \ bitnami/ejbca:latest ``` @@ -151,34 +151,34 @@ You can also do this with a minor change to the [`docker-compose.yml`](https://g The EJBCA instance can be customized by specifying environment variables on the first run. The following environment variables are available: -- `EJBCA_HTTP_PORT_NUMBER`: HTTP port number. Defaults to `8080`. -- `EJBCA_HTTPS_PORT_NUMBER`: HTTPS port number. Default to `8443`. -- `EJBCA_HTTPS_ADVERTISED_PORT_NUMBER`: Port number used in the rendered URLs for the admistrator login. Default to `8443`. -- `EJBCA_ADMIN_USERNAME`: EJBCA administrator username. Defaults to `superadmin`. -- `EJBCA_ADMIN_PASSWORD`: EJBCA administrator password. Defaults to `Bitnami1234`. -- `EJBCA_DATABASE_HOST`: Database hostname. No defaults. -- `EJBCA_DATABASE_PORT`: Database port name. Defaults to `3306`. -- `EJBCA_DATABASE_NAME`: Database name. No defaults. -- `EJBCA_DATABASE_USERNAME`: Database username. No defaults. -- `EJBCA_DATABASE_PASSWORD`: Database password. No defaults. -- `EJBCA_BASE_DN`: Base DN for the CA. Defaults to `O=Example CA,C=SE,UID=c-XXXXXXX`, where `XXXXXXX` is a random generated ID. -- `EJBCA_CA_NAME`: CA Name. Defaults to `ManagementCA` -- `JAVA_OPTS`: Java options. Defaults to `-Xms2048m -Xmx2048m -XX:MetaspaceSize=192M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Dhibernate.dialect=org.hibernate.dialect.MySQL5Dialect -Dhibernate.dialect.storage_engine=innodb`. -- `EJBCA_SERVER_CERT_FILE`: User provided keystore file. No defaults. -- `EJBCA_SERVER_CERT_PASSWORD`: User provided keystore file password. No defaults. -- `EJBCA_SMTP_HOST`: SMTP Email server address. Defaults to `localhost`. -- `EJBCA_SMTP_PORT`: SMTP Email server port. Defaults to `25`. -- `EJBCA_SMTP_FROM_ADDRESS`: SMTP from email address. Defaults to `user@example.com`. -- `EJBCA_SMTP_TLS`: SMTP TLS authentication: Defaults to `false`. -- `EJBCA_SMTP_USERNAME`: SMTP authentication username. No defaults. -- `EJBCA_SMTP_PASSWORD`: SMTP authentication password. No defaults. +* `EJBCA_HTTP_PORT_NUMBER`: HTTP port number. Defaults to `8080`. +* `EJBCA_HTTPS_PORT_NUMBER`: HTTPS port number. Default to `8443`. +* `EJBCA_HTTPS_ADVERTISED_PORT_NUMBER`: Port number used in the rendered URLs for the admistrator login. Default to `8443`. +* `EJBCA_ADMIN_USERNAME`: EJBCA administrator username. Defaults to `superadmin`. +* `EJBCA_ADMIN_PASSWORD`: EJBCA administrator password. Defaults to `Bitnami1234`. +* `EJBCA_DATABASE_HOST`: Database hostname. No defaults. +* `EJBCA_DATABASE_PORT`: Database port name. Defaults to `3306`. +* `EJBCA_DATABASE_NAME`: Database name. No defaults. +* `EJBCA_DATABASE_USERNAME`: Database username. No defaults. +* `EJBCA_DATABASE_PASSWORD`: Database password. No defaults. +* `EJBCA_BASE_DN`: Base DN for the CA. Defaults to `O=Example CA,C=SE,UID=c-XXXXXXX`, where `XXXXXXX` is a random generated ID. +* `EJBCA_CA_NAME`: CA Name. Defaults to `ManagementCA` +* `JAVA_OPTS`: Java options. Defaults to `-Xms2048m -Xmx2048m -XX:MetaspaceSize=192M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Dhibernate.dialect=org.hibernate.dialect.MySQL5Dialect -Dhibernate.dialect.storage_engine=innodb`. +* `EJBCA_SERVER_CERT_FILE`: User provided keystore file. No defaults. +* `EJBCA_SERVER_CERT_PASSWORD`: User provided keystore file password. No defaults. +* `EJBCA_SMTP_HOST`: SMTP Email server address. Defaults to `localhost`. +* `EJBCA_SMTP_PORT`: SMTP Email server port. Defaults to `25`. +* `EJBCA_SMTP_FROM_ADDRESS`: SMTP from email address. Defaults to `user@example.com`. +* `EJBCA_SMTP_TLS`: SMTP TLS authentication: Defaults to `false`. +* `EJBCA_SMTP_USERNAME`: SMTP authentication username. No defaults. +* `EJBCA_SMTP_PASSWORD`: SMTP authentication password. No defaults. ## Logging The Bitnami EJBCA Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs ejbca +docker logs ejbca ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -198,7 +198,7 @@ Bitnami provides up-to-date versions of EJBCA, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/ejbca:latest +docker pull bitnami/ejbca:latest ``` #### Step 2: Stop the running container @@ -206,13 +206,13 @@ $ docker pull bitnami/ejbca:latest Stop the currently running container using the command ```console -$ docker stop ejbca +docker stop ejbca ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v ejbca +docker rm -v ejbca ``` #### Step 4: Run the new image @@ -220,7 +220,7 @@ $ docker rm -v ejbca Re-create your container from the new image. ```console -$ docker run --name ejbca bitnami/ejbca:latest +docker run --name ejbca bitnami/ejbca:latest ``` ## Notable Changes @@ -249,7 +249,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/elasticsearch-exporter/README.md b/bitnami/elasticsearch-exporter/README.md index d42a6766baea..0d582f171157 100644 --- a/bitnami/elasticsearch-exporter/README.md +++ b/bitnami/elasticsearch-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name elasticsearch-exporter bitnami/elasticsearch-exporter:latest +docker run --name elasticsearch-exporter bitnami/elasticsearch-exporter:latest ``` ## Why use Bitnami Images? @@ -34,26 +34,27 @@ Learn more about the Bitnami tagging policy and the difference between rolling t You can see the equivalence between the different tags by taking a look at the `tags-info.yaml` file present in the branch folder, i.e `bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml`. Subscribe to project updates by watching the [bitnami/containers GitHub repo](https://github.com/bitnami/containers). + ## Get this image The recommended way to get the Bitnami Elasticsearch Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/elasticsearch-exporter). ```console -$ docker pull bitnami/elasticsearch-exporter:latest +docker pull bitnami/elasticsearch-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/elasticsearch-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/elasticsearch-exporter:[TAG] +docker pull bitnami/elasticsearch-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -67,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create elasticsearch-exporter-network --driver bridge +docker network create elasticsearch-exporter-network --driver bridge ``` #### Step 2: Launch the Elasticsearch Exporter container within your network @@ -75,7 +76,7 @@ $ docker network create elasticsearch-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `elasticsearch-exporter-network` network. ```console -$ docker run --name elasticsearch-exporter-node1 --network elasticsearch-exporter-network bitnami/elasticsearch-exporter:latest +docker run --name elasticsearch-exporter-node1 --network elasticsearch-exporter-network bitnami/elasticsearch-exporter:latest ``` #### Step 3: Run another containers @@ -97,7 +98,7 @@ In `/metrics` you can find the exported metrics. The Bitnami elasticsearch-exporter Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs elasticsearch-exporter +docker logs elasticsearch-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -111,7 +112,7 @@ Bitnami provides up-to-date versions of elasticsearch-exporter, including securi #### Step 1: Get the updated image ```console -$ docker pull bitnami/elasticsearch-exporter:latest +docker pull bitnami/elasticsearch-exporter:latest ``` #### Step 2: Stop and backup the currently running container @@ -119,13 +120,13 @@ $ docker pull bitnami/elasticsearch-exporter:latest Stop the currently running container using the command ```console -$ docker stop elasticsearch-exporter +docker stop elasticsearch-exporter ``` Next, take a snapshot of the persistent volume `/path/to/elasticsearch-exporter-persistence` using: ```console -$ rsync -a /path/to/elasticsearch-exporter-persistence /path/to/elasticsearch-exporter-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/elasticsearch-exporter-persistence /path/to/elasticsearch-exporter-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -133,15 +134,15 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v elasticsearch-exporter +docker rm -v elasticsearch-exporter ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name elasticsearch-exporter bitnami/elasticsearch-exporter:latest +docker run --name elasticsearch-exporter bitnami/elasticsearch-exporter:latest ``` ## Contributing @@ -153,13 +154,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/elasticsearch/README.md b/bitnami/elasticsearch/README.md index 9c45abf25e2f..56833aeb0641 100644 --- a/bitnami/elasticsearch/README.md +++ b/bitnami/elasticsearch/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name elasticsearch bitnami/elasticsearch:latest +docker run --name elasticsearch bitnami/elasticsearch:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/elasticsearch/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/elasticsearch/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the available configuration options in the [Environment Variables](#environment-variables) section. @@ -49,26 +49,27 @@ Learn more about the Bitnami tagging policy and the difference between rolling t You can see the equivalence between the different tags by taking a look at the `tags-info.yaml` file present in the branch folder, i.e `bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml`. Subscribe to project updates by watching the [bitnami/containers GitHub repo](https://github.com/bitnami/containers). + ## Get this image The recommended way to get the Bitnami Elasticsearch Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/elasticsearch). ```console -$ docker pull bitnami/elasticsearch:latest +docker pull bitnami/elasticsearch:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/elasticsearch/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/elasticsearch:[TAG] +docker pull bitnami/elasticsearch:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -78,7 +79,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/elasticsearch-data-persistence:/bitnami/elasticsearch/data \ bitnami/elasticsearch:latest ``` @@ -119,7 +120,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Elasticsearch server instance @@ -127,7 +128,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Elasticsearch container to the `app-tier` network. ```console -$ docker run -d --name elasticsearch-server \ +docker run -d --name elasticsearch-server \ --network app-tier \ bitnami/elasticsearch:latest ``` @@ -135,7 +136,7 @@ $ docker run -d --name elasticsearch-server \ #### Step 3: Launch your application container ```console -$ docker run -d --name myapp \ +docker run -d --name myapp \ --network app-tier \ YOUR_APPLICATION_IMAGE ``` @@ -175,7 +176,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -197,7 +198,7 @@ elasticsearch: * For manual execution add a `-e` option with each variable and value: ```console - $ docker run -d --name elasticsearch \ + docker run -d --name elasticsearch \ -p 9201:9201 --network=elasticsearch_network \ -e ELASTICSEARCH_PORT_NUMBER=9201 \ -v /path/to/elasticsearch-data-persistence:/bitnami/elasticsearch/data \ @@ -241,16 +242,16 @@ For larger cluster, you can setup 'dedicated nodes' using the following environm Find more information about 'dedicated nodes' in the [official documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html). -#### Step 1: Create a new network. +#### Step 1: Create a new network ```console -$ docker network create elasticsearch_network +docker network create elasticsearch_network ``` -#### Step 2: Create the first node. +#### Step 2: Create the first node ```console -$ docker run --name elasticsearch-node1 \ +docker run --name elasticsearch-node1 \ --net=elasticsearch_network \ -p 9200:9200 \ -e ELASTICSEARCH_CLUSTER_NAME=elasticsearch-cluster \ @@ -264,7 +265,7 @@ In the above command the container is added to a cluster named `elasticsearch-cl #### Step 3: Create a second node ```console -$ docker run --name elasticsearch-node2 \ +docker run --name elasticsearch-node2 \ --link elasticsearch-node1:elasticsearch-node1 \ --net=elasticsearch_network \ -e ELASTICSEARCH_CLUSTER_NAME=elasticsearch-cluster \ @@ -302,7 +303,7 @@ services: In order to use a custom configuration file instead of the default one provided out of the box, you can create a file named `elasticsearch.yml` and mount it at `/opt/bitnami/elasticsearch/config/elasticsearch.yml` to overwrite the default configuration: ```console -$ docker run -d --name elasticsearch \ +docker run -d --name elasticsearch \ -p 9201:9201 \ -v /path/to/elasticsearch.yml:/opt/bitnami/elasticsearch/config/elasticsearch.yml \ -v /path/to/elasticsearch-data-persistence:/bitnami/elasticsearch/data \ @@ -331,7 +332,7 @@ The Bitnami Elasticsearch Docker image comes with the [S3 Repository plugin](htt You can add extra plugins by setting the `ELASTICSEARCH_PLUGINS` environment variable. To specify multiple plugins, separate them by spaces, commas or semicolons. When the container is initialized it will install all of the specified plugins before starting Elasticsearch. ```console -$ docker run -d --name elasticsearch \ +docker run -d --name elasticsearch \ -e ELASTICSEARCH_PLUGINS=analysis-icu \ bitnami/elasticsearch:latest ``` @@ -345,9 +346,9 @@ The Bitnami Elasticsearch image provides a way to create your custom image insta To create your own image providing plugins execute the following command. Remember to replace the `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/elasticsearch/VERSION/OPERATING-SYSTEM -$ docker build --build-arg ELASTICSEARCH_PLUGINS= -t bitnami/elasticsearch:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/elasticsearch/VERSION/OPERATING-SYSTEM +docker build --build-arg ELASTICSEARCH_PLUGINS= -t bitnami/elasticsearch:latest . ``` The command above will build the image providing this GitHub repository as build context, and will pass the list of plugins to install to the build logic. @@ -363,13 +364,13 @@ In order to have your custom files inside the Docker image, you can mount them a The Bitnami Elasticsearch Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs elasticsearch +docker logs elasticsearch ``` or using Docker Compose: ```console -$ docker-compose logs elasticsearch +docker-compose logs elasticsearch ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -386,7 +387,7 @@ Bitnami provides up-to-date versions of Elasticsearch, including security patche #### Step 1: Get the updated image ```console -$ docker pull bitnami/elasticsearch:latest +docker pull bitnami/elasticsearch:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -397,19 +398,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop elasticsearch +docker stop elasticsearch ``` or using Docker Compose: ```console -$ docker-compose stop elasticsearch +docker-compose stop elasticsearch ``` Next, take a snapshot of the persistent volume `/path/to/elasticsearch-data-persistence` using: ```console -$ rsync -a /path/to/elasticsearch-data-persistence /path/to/elasticsearch-data-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/elasticsearch-data-persistence /path/to/elasticsearch-data-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the application state should the upgrade fail. @@ -417,27 +418,27 @@ You can use this snapshot to restore the application state should the upgrade fa #### Step 3: Remove the currently running container ```console -$ docker rm -v elasticsearch +docker rm -v elasticsearch ``` or using Docker Compose: ```console -$ docker-compose rm -v elasticsearch +docker-compose rm -v elasticsearch ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name elasticsearch bitnami/elasticsearch:latest +docker run --name elasticsearch bitnami/elasticsearch:latest ``` or using Docker Compose: ```console -$ docker-compose up elasticsearch +docker-compose up elasticsearch ``` ## Notable Changes @@ -450,7 +451,7 @@ $ docker-compose up elasticsearch ### 6.8.5-debian-9-r0, 6.8.5-ol-7-r1, 7.4.2-debian-9-r10, 7.4.2-ol-7-r27 * Arbitrary user ID(s) when running the container with a non-privileged user is not supported (only `1001` UID is allowed). -* This is temporary solution while Elasticsearch maintainers address an issue with ownership/permissions when installing plugins. Issue reported at: https://github.com/bitnami/bitnami-docker-elasticsearch/issues/50 +* This is temporary solution while Elasticsearch maintainers address an issue with ownership/permissions when installing plugins. Issue reported at: ### 6.8.2-debian-9-r36, 6.8.2-ol-7-r36, 7.3.1-debian-9-r8, 7.3.1-ol-7-r13 @@ -469,12 +470,12 @@ $ docker-compose up elasticsearch * Backwards compatibility is not guaranteed when data is persisted using docker-compose. You can use the workaround below to overcome it: ```console -$ docker-compose down +docker-compose down # Change the mount point sed -i -e 's#elasticsearch_data:/bitnami#elasticsearch_data:/bitnami/elasticsearch/data#g' docker-compose.yml # Pull the latest bitnami/elasticsearch image -$ docker pull bitnami/elasticsearch:latest -$ docker-compose up -d +docker pull bitnami/elasticsearch:latest +docker-compose up -d ``` ### 6.2.3-r7 & 5.6.4-r18 @@ -508,7 +509,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/envoy/README.md b/bitnami/envoy/README.md index e3219124426f..7db52d9e8c9a 100644 --- a/bitnami/envoy/README.md +++ b/bitnami/envoy/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name envoy bitnami/envoy:latest +docker run --name envoy bitnami/envoy:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami envoy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/envoy). ```console -$ docker pull bitnami/envoy:latest +docker pull bitnami/envoy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/envoy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/envoy:[TAG] +docker pull bitnami/envoy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `envoy --version` you can follow the example below: ```console -$ docker run --rm --name envoy bitnami/envoy:latest -- --version +docker run --rm --name envoy bitnami/envoy:latest -- --version ``` Check the [official envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/operations/cli) for a list of the available parameters. @@ -70,7 +70,7 @@ Check the [official envoy documentation](https://www.envoyproxy.io/docs/envoy/la By default, envoy will look for a configuration file in `/opt/bitnami/envoy/conf/envoy.yaml`. You can launch the envoy container with your custom configuration with the command below: ```console -$ docker run --rm -v /path/to/your/envoy.yaml:/opt/bitnami/envoy/conf/envoy.yaml bitnami/envoy:latest +docker run --rm -v /path/to/your/envoy.yaml:/opt/bitnami/envoy/conf/envoy.yaml bitnami/envoy:latest ``` Visit the [official envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/configuration/configuration) for all the available configurations. @@ -91,7 +91,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/etcd/README.md b/bitnami/etcd/README.md index b41c42f9a24a..4bf1d08cae2e 100644 --- a/bitnami/etcd/README.md +++ b/bitnami/etcd/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name Etcd bitnami/etcd +docker run -it --name Etcd bitnami/etcd ``` ### Docker Compose ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/etcd/docker-compose.yml -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/etcd/docker-compose.yml +docker-compose up ``` ## Why use Bitnami Images? @@ -57,7 +57,7 @@ To run this application you need [Docker Engine](https://www.docker.com/products The recommended way to get the Bitnami Etcd Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/etcd). ```console -$ docker pull bitnami/etcd:latest +docker pull bitnami/etcd:latest ``` To use a specific version, you can pull a versioned tag. You can view the @@ -65,15 +65,15 @@ To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry. ```console -$ docker pull bitnami/etcd:[TAG] +docker pull bitnami/etcd:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -89,7 +89,7 @@ In this example, we will create a Etcd client instance that will connect to the #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Etcd server instance @@ -97,7 +97,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Etcd container to the `app-tier` network. ```console -$ docker run -d --name Etcd-server \ +docker run -d --name Etcd-server \ --network app-tier \ --publish 2379:2379 \ --publish 2380:2380 \ @@ -111,7 +111,7 @@ $ docker run -d --name Etcd-server \ Finally we create a new container instance to launch the Etcd client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ --env ALLOW_NONE_AUTHENTICATION=yes \ bitnami/etcd:latest etcdctl --endpoints http://etcd-server:2379 put /message Hello @@ -153,7 +153,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -161,7 +161,7 @@ $ docker-compose up -d The configuration can easily be setup by mounting your own configuration file on the directory `/opt/bitnami/etcd/conf`: ```console -$ docker run --name Etcd -v /path/to/Etcd.conf.yml:/opt/bitnami/Etcd/conf/etcd.conf.yml bitnami/etcd:latest +docker run --name Etcd -v /path/to/Etcd.conf.yml:/opt/bitnami/Etcd/conf/etcd.conf.yml bitnami/etcd:latest ``` After that, your configuration will be taken into account in the server's behaviour. @@ -194,7 +194,7 @@ The previous rule applies to all [etcd flags](https://coreos.com/etcd/docs/lates ### 3.4.13-debian-10-r7 -* Arbitrary user ID(s) are supported again, see https://github.com/etcd-io/etcd/issues/12158 for more information abut the changes in the upstream source code +* Arbitrary user ID(s) are supported again, see for more information abut the changes in the upstream source code ### 3.4.10-debian-10-r0 @@ -220,7 +220,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/express/README.md b/bitnami/express/README.md index fd8add8ca686..c4486dc1962f 100644 --- a/bitnami/express/README.md +++ b/bitnami/express/README.md @@ -13,9 +13,9 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Local workspace ```console -$ mkdir ~/myapp && cd ~/myapp -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/express/docker-compose.yml -$ docker-compose up +mkdir ~/myapp && cd ~/myapp +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/express/docker-compose.yml +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options for the [MongoDB® container](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#readme) for a more secure deployment. @@ -29,7 +29,7 @@ $ docker-compose up * All Bitnami images available in Docker Hub are signed with [Docker Content Trust (DCT)](https://docs.docker.com/engine/security/trust/content_trust/). You can use `DOCKER_CONTENT_TRUST=1` to verify the integrity of the images. * Bitnami container images are released on a regular basis with the latest distribution packages available. -# Supported tags and respective `Dockerfile` links +## Supported tags and respective `Dockerfile` links Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). @@ -59,13 +59,13 @@ cd ~/myapp Download the [docker-compose.yml](https://raw.githubusercontent.com/bitnami/containers/main/bitnami/express/docker-compose.yml) file in the application directory: ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/express/docker-compose.yml +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/express/docker-compose.yml ``` Finally launch the Express application development environment using: ```console -$ docker-compose up +docker-compose up ``` Among other things, the above command creates a container service, named `myapp`, for Express development and bootstraps a new Express application in the application directory. You can use your favorite IDE for developing the application. @@ -89,30 +89,30 @@ Commands can be launched inside the `myapp` Express Development Container with ` The general structure of the `exec` command is: ```console -$ docker-compose exec +docker-compose exec ``` , where `` is the name of the container service as described in the `docker-compose.yml` file and `` is the command you want to launch inside the service. Following are a few examples of launching some commonly used Express development commands inside the `myapp` service container. -- Load the Node.js REPL: +* Load the Node.js REPL: ```console - $ docker-compose exec myapp node + docker-compose exec myapp node ``` -- List installed NPM modules: +* List installed NPM modules: ```console - $ docker-compose exec myapp npm ls + docker-compose exec myapp npm ls ``` -- Install a NPM module: +* Install a NPM module: ```console - $ docker-compose exec myapp npm install bootstrap --save - $ docker-compose restart myapp + docker-compose exec myapp npm install bootstrap --save + docker-compose restart myapp ``` ## Connecting to Database @@ -127,15 +127,15 @@ The Express Development Container generates a Dockerfile in your working directo 1. Build your Docker image - ```console - $ docker build -t myregistry/myapp:1.0.0 - ``` + ```console + docker build -t myregistry/myapp:1.0.0 + ``` 2. Push to an image registry - ```console - $ docker push myregistry/myapp:1.0.0 - ``` + ```console + docker push myregistry/myapp:1.0.0 + ``` 3. Update orchestration files to reference the pushed image @@ -143,11 +143,11 @@ The Express Development Container generates a Dockerfile in your working directo If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/blob/main/bitnami/express/issues/new). Be sure to include the following information in your issue: -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ### Community supported solution @@ -165,7 +165,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/external-dns/README.md b/bitnami/external-dns/README.md index 0dc5af2d686a..64891adce00d 100644 --- a/bitnami/external-dns/README.md +++ b/bitnami/external-dns/README.md @@ -13,7 +13,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema Deploy ExternalDNS on your [GKE cluster](https://github.com/kubernetes-incubator/external-dns/blob/master/docs/tutorials/nginx-ingress.md). ```console -$ docker run --name external-dns bitnami/external-dns:latest +docker run --name external-dns bitnami/external-dns:latest ``` ## Why use Bitnami Images? @@ -56,13 +56,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/fluent-bit/README.md b/bitnami/fluent-bit/README.md index 0883ecdcc03d..e0996c2452b2 100644 --- a/bitnami/fluent-bit/README.md +++ b/bitnami/fluent-bit/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name fluent-bit bitnami/fluent-bit:latest +docker run --name fluent-bit bitnami/fluent-bit:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Fluent Bit Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/fluent-bit). ```console -$ docker pull bitnami/fluent-bit:latest +docker pull bitnami/fluent-bit:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/fluent-bit/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/fluent-bit:[TAG] +docker pull bitnami/fluent-bit:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create fluent-bit-network --driver bridge +docker network create fluent-bit-network --driver bridge ``` #### Step 2: Launch the Fluent Bit container within your network @@ -76,7 +76,7 @@ $ docker network create fluent-bit-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `fluent-bit-network` network. ```console -$ docker run --name fluent-bit-node1 --network fluent-bit-network bitnami/fluent-bit:latest +docker run --name fluent-bit-node1 --network fluent-bit-network bitnami/fluent-bit:latest ``` #### Step 3: Run another container @@ -113,7 +113,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -133,7 +133,7 @@ Fluent Bit supports multiple extensions via plugins. The Bitnami fluent-bit Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs fluent-bit +docker logs fluent-bit ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -155,13 +155,14 @@ The Bitnami team will review any PR that is created, feel free to create a PR if New versions and releases cadence are not going to be affected. Once a new version is released in the upstream project, the Bitnami container image will be updated to use the latest version, supporting the different branches supported by the upstream project as usual. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/fluentd/README.md b/bitnami/fluentd/README.md index 3c0f9252a83b..02b8b9ee69a0 100644 --- a/bitnami/fluentd/README.md +++ b/bitnami/fluentd/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name fluentd bitnami/fluentd:latest +docker run --name fluentd bitnami/fluentd:latest ``` You can find the available configuration options in the [Environment Variables](#environment-variables) section. @@ -42,21 +42,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Fluentd Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/fluentd). ```console -$ docker pull bitnami/fluentd:latest +docker pull bitnami/fluentd:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/fluentd/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/fluentd:[TAG] +docker pull bitnami/fluentd:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -70,7 +70,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create fluentd-network --driver bridge +docker network create fluentd-network --driver bridge ``` #### Step 2: Launch the Fluentd container within your network @@ -78,7 +78,7 @@ $ docker network create fluentd-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `fluentd-network` network. ```console -$ docker run --name fluentd-node1 --network fluentd-network bitnami/fluentd:latest +docker run --name fluentd-node1 --network fluentd-network bitnami/fluentd:latest ``` #### Step 3: Run another containers @@ -90,20 +90,20 @@ We can launch another containers using the same flag (`--network NETWORK`) in th To create an endpoint that collects logs on your host just run: ```console -$ docker run -d -p 24224:24224 -p 24224:24224/udp -v /data:/opt/bitnami/fluentd/log fluentd +docker run -d -p 24224:24224 -p 24224:24224/udp -v /data:/opt/bitnami/fluentd/log fluentd ``` Default configurations are: - - configuration file at `/opt/bitnami/fluentd/conf/fluentd.conf` - - listen port `24224` for Fluentd forward protocol - - store logs with tag `docker.**` into `/opt/bitnami/fluentd/log/docker.*.log` - - store all other logs into `/opt/bitnami/fluentd/log/data.*.log` +* configuration file at `/opt/bitnami/fluentd/conf/fluentd.conf` +* listen port `24224` for Fluentd forward protocol +* store logs with tag `docker.**` into `/opt/bitnami/fluentd/log/docker.*.log` +* store all other logs into `/opt/bitnami/fluentd/log/data.*.log` You can overwrite the default configuration file by mounting your own configuration file on the directory `/opt/bitnami/fluentd/conf`: ```console -$ docker run --name fluentd -v /path/to/fluentd.conf:/opt/bitnami/fluentd/conf/fluentd.conf bitnami/fluentd:latest +docker run --name fluentd -v /path/to/fluentd.conf:/opt/bitnami/fluentd/conf/fluentd.conf bitnami/fluentd:latest ``` You can also do this by changing the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/fluentd/docker-compose.yml) file present in this repository: @@ -119,7 +119,7 @@ fluentd: You can also extend the default configuration by importing your custom configuration with the "@include" directive. It is a simple as creating a directory with you custom config files and mount it on the directory `/opt/bitnami/fluentd/conf/conf.d`: ```console -$ docker run --name fluentd -v /path/to/custom-conf-directory:/opt/bitnami/fluentd/conf/conf.d bitnami/fluentd:latest +docker run --name fluentd -v /path/to/custom-conf-directory:/opt/bitnami/fluentd/conf/conf.d bitnami/fluentd:latest ``` You can also do this by changing the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/fluentd/docker-compose.yml) file present in this repository: @@ -138,17 +138,17 @@ Find more information about this feature, consult [official documentation](https Environment variable below are configurable to control how to execute fluentd process: - - `FLUENTD_CONF`: This variable allows you to specify configuration file name that will be used in -c Fluentd command line option. If you want to use your own configuration file (without any optional plugins), you can do it with this environment variable and Docker volumes (`-v` option of `docker run`). - - `FLUENTD_OPT`: Use this variable to specify other Fluentd command line options, like -v or -q. - - `FLUENTD_DAEMON_USER`: The user that will run the `fluentd` process when the container is run as root. - - `FLUENTD_DAEMON_GROUP`: The group of the user that will run the `fluentd` process when the container is run as root. +* `FLUENTD_CONF`: This variable allows you to specify configuration file name that will be used in -c Fluentd command line option. If you want to use your own configuration file (without any optional plugins), you can do it with this environment variable and Docker volumes (`-v` option of `docker run`). +* `FLUENTD_OPT`: Use this variable to specify other Fluentd command line options, like -v or -q. +* `FLUENTD_DAEMON_USER`: The user that will run the `fluentd` process when the container is run as root. +* `FLUENTD_DAEMON_GROUP`: The group of the user that will run the `fluentd` process when the container is run as root. ## Logging The Bitnami fluentd Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs fluentd +docker logs fluentd ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -161,8 +161,8 @@ The Bitnami Fluentd Open Source Docker image is designed to be extended so it ca Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can modify the Fluentd command-line options setting the environment variable `FLUENTD_OPT`. -- [Replacing the default configuration file by mounting your own configuration file ](#configuration). +* Settings that can be adapted using environment variables. For instance, you can modify the Fluentd command-line options setting the environment variable `FLUENTD_OPT`. +* [Replacing the default configuration file by mounting your own configuration file](#configuration). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -190,7 +190,7 @@ Bitnami provides up-to-date versions of fluentd, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/fluentd:latest +docker pull bitnami/fluentd:latest ``` #### Step 2: Stop and backup the currently running container @@ -198,13 +198,13 @@ $ docker pull bitnami/fluentd:latest Stop the currently running container using the command ```console -$ docker stop fluentd +docker stop fluentd ``` Next, take a snapshot of the persistent volume `/path/to/fluentd-persistence` using: ```console -$ rsync -a /path/to/fluentd-persistence /path/to/fluentd-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/fluentd-persistence /path/to/fluentd-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -212,15 +212,15 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v fluentd +docker rm -v fluentd ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name fluentd bitnami/fluentd:latest +docker run --name fluentd bitnami/fluentd:latest ``` ## Contributing @@ -232,13 +232,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/ghost/README.md b/bitnami/ghost/README.md index 919619bcd835..71991c78f864 100644 --- a/bitnami/ghost/README.md +++ b/bitnami/ghost/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ghost/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ghost/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -26,7 +26,7 @@ $ docker-compose up -d - All Bitnami images available in Docker Hub are signed with [Docker Content Trust (DCT)](https://docs.docker.com/engine/security/trust/content_trust/). You can use `DOCKER_CONTENT_TRUST=1` to verify the integrity of the images. - Bitnami container images are released on a regular basis with the latest distribution packages available. -# How to deploy Ghost in Kubernetes? +## How to deploy Ghost in Kubernetes? Deploying Bitnami applications as Helm Charts is the easiest way to get started with our applications on Kubernetes. Read more about the installation in the [Bitnami Ghost Chart GitHub repository](https://github.com/bitnami/charts/tree/master/bitnami/ghost). @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Ghost Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/ghost). ```console -$ docker pull bitnami/ghost:latest +docker pull bitnami/ghost:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/ghost/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/ghost:[TAG] +docker pull bitnami/ghost:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +75,8 @@ Ghost requires access to a MySQL or MariaDB database to store information. We'll The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/ghost/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ghost/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ghost/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -86,14 +86,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create ghost-network +docker network create ghost-network ``` #### Step 2: Create a volume for MySQL persistence and create a MySQL container ```console -$ docker volume create --name mysql_data -$ docker run -d --name mysql \ +docker volume create --name mysql_data +docker run -d --name mysql \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MYSQL_USER=bn_ghost \ --env MYSQL_PASSWORD=bitnami \ @@ -106,8 +106,8 @@ $ docker run -d --name mysql \ #### Step 3: Create volumes for Ghost persistence and launch the container ```console -$ docker volume create --name ghost_data -$ docker run -d --name ghost \ +docker volume create --name ghost_data +docker run -d --name ghost \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env GHOST_DATABASE_USER=bn_ghost \ @@ -161,13 +161,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create ghost-network +docker network create ghost-network ``` #### Step 2. Create a MySQL container with host volume ```console -$ docker run -d --name mysql \ +docker run -d --name mysql \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MYSQL_USER=bn_ghost \ --env MYSQL_PASSWORD=bitnami \ @@ -180,7 +180,7 @@ $ docker run -d --name mysql \ #### Step 3. Create the Ghost container with host volumes ```console -$ docker run -d --name ghost \ +docker run -d --name ghost \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env GHOST_DATABASE_USER=bn_ghost \ @@ -210,7 +210,7 @@ When you start the Ghost image, you can adjust the configuration of the instance - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name ghost -p 80:8080 -p 443:8443 \ + docker run -d --name ghost -p 80:8080 -p 443:8443 \ --env GHOST_PASSWORD=my_password \ --network ghost-tier \ --volume /path/to/ghost-persistence:/bitnami/ghost \ @@ -219,7 +219,7 @@ When you start the Ghost image, you can adjust the configuration of the instance Available environment variables: -##### User and Site configuration +#### User and Site configuration - `GHOST_USERNAME`: Ghost application username. Default: **user** - `GHOST_PASSWORD`: Ghost application password. Default: **bitnami123** @@ -232,7 +232,7 @@ Available environment variables: - `GHOST_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by Ghost to generate URLs and links when accessing using HTTPS. Default: **443** - `GHOST_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. This is necessary in case you use a database that already has Ghost data. Default: **no** -##### Database connection configuration +#### Database connection configuration - `GHOST_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mysql** - `GHOST_DATABASE_PORT_NUMBER`: Port used by the MariaDB or MySQL server. Default: **3306** @@ -243,7 +243,7 @@ Available environment variables: - `GHOST_DATABASE_SSL_CA_FILE`: Path to the database SSL CA file. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for Ghost using mysql-client +#### Create a database for Ghost using mysql-client - `MYSQL_CLIENT_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mysql** - `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the MariaDB or MySQL server. Default: **3306** @@ -258,7 +258,7 @@ Available environment variables: - `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure Ghost to send email using SMTP you can set the following environment variables: @@ -294,7 +294,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name ghost -p 80:8080 -p 443:8443 \ + docker run -d --name ghost -p 80:8080 -p 443:8443 \ --env GHOST_DATABASE_USER=bn_ghost \ --env GHOST_DATABASE_NAME=bitnami_ghost \ --env GHOST_SMTP_HOST=smtp.gmail.com \ @@ -330,7 +330,7 @@ The Bitnami Ghost container supports connecting the Ghost application to an exte - For manual execution: ```console - $ docker run -d --name ghost\ + docker run -d --name ghost\ -p 8080:8080 -p 8443:8443 \ --network ghost-network \ --env GHOST_DATABASE_HOST=mysql_host \ @@ -349,13 +349,13 @@ In case the database already contains data from a previous Ghost installation, y The Bitnami Ghost Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs ghost +docker logs ghost ``` Or using Docker Compose: ```console -$ docker-compose logs ghost +docker-compose logs ghost ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -369,13 +369,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop ghost +docker stop ghost ``` Or using Docker Compose: ```console -$ docker-compose stop ghost +docker-compose stop ghost ``` #### Step 2: Run the backup command @@ -383,7 +383,7 @@ $ docker-compose stop ghost We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/ghost-backups:/backups --volumes-from ghost busybox \ +docker run --rm -v /path/to/ghost-backups:/backups --volumes-from ghost busybox \ cp -a /bitnami/ghost /backups/latest ``` @@ -394,7 +394,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MySQL database container: ```diff - $ docker run -d --name mysql \ + docker run -d --name mysql \ ... - --volume /path/to/mysql-persistence:/bitnami/mysql \ + --volume /path/to/mysql-backups/latest:/bitnami/mysql \ @@ -404,7 +404,7 @@ For the MySQL database container: For the Ghost container: ```diff - $ docker run -d --name ghost \ + docker run -d --name ghost \ ... - --volume /path/to/ghost-persistence:/bitnami/ghost \ + --volume /path/to/ghost-backups/latest:/bitnami/ghost \ @@ -413,14 +413,14 @@ For the Ghost container: ### Upgrade this image -Bitnami provides up-to-date versions of MySQL and Ghost, 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 Ghost container. For the MySQL upgrade see: https://github.com/bitnami/containers/blob/main/bitnami/mysql/blob/master/README.md#upgrade-this-image +Bitnami provides up-to-date versions of MySQL and Ghost, 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 Ghost container. For the MySQL upgrade see: The `bitnami/ghost:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/ghost:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/ghost/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/ghost:latest +docker pull bitnami/ghost:latest ``` #### Step 2: Stop the running container @@ -428,7 +428,7 @@ $ docker pull bitnami/ghost:latest Stop the currently running container using the command ```console -$ docker-compose stop ghost +docker-compose stop ghost ``` #### Step 3: Take a snapshot of the application state @@ -448,7 +448,7 @@ docker-compose rm -v ghost Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -496,7 +496,7 @@ RUN cd /bitnami/ghost \ 1. Prepare npm and install an adapter. 2. Add configuration for the adapter. -#### Create a script named `post_ghost_config.sh` using `jq` for adding configuration to the `config.production.json`. +#### Create a script named `post_ghost_config.sh` using `jq` for adding configuration to the `config.production.json` ```console #!/bin/bash -e @@ -547,7 +547,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/git/README.md b/bitnami/git/README.md index 7037ffc148fa..c73dc3768f43 100644 --- a/bitnami/git/README.md +++ b/bitnami/git/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name git bitnami/git:latest +docker run --name git bitnami/git:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Git Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/git). ```console -$ docker pull bitnami/git:latest +docker pull bitnami/git:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/git/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/git:[TAG] +docker pull bitnami/git:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,15 +60,15 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `git version` you can follow below example ```console -$ docker run --name git bitnami/git:latest git --version +docker run --name git bitnami/git:latest git --version ``` ## Notable Changes ### 2.31.0-debian-10-r2 -- The `ENTRYPOINT` of the container has been modified to load a proper NSS environment that enables git ssh connections when running the container as non-root. -- The `CMD` is also changed to enter the Bash shell. +* The `ENTRYPOINT` of the container has been modified to load a proper NSS environment that enables git ssh connections when running the container as non-root. +* The `CMD` is also changed to enter the Bash shell. If you were using the container without replacing the entrypoint [`ENTRYPOINT [ "git" ]`](https://github.com/bitnami/containers/blob/main/bitnami/git/blob/af46ea91cebed3de1a863cb9969210688131b4e9/2/debian-10/Dockerfile#L19), make sure you specify the `git` command now: @@ -93,7 +93,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/gitea/README.md b/bitnami/gitea/README.md index b7a60756c803..c1589e2d8e1a 100644 --- a/bitnami/gitea/README.md +++ b/bitnami/gitea/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name gitea bitnami/gitea:latest +docker run --name gitea bitnami/gitea:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gitea/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gitea/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Gitea Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/gitea). ```console -$ docker pull bitnami/gitea:latest +docker pull bitnami/gitea:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/gitea/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/gitea:[TAG] +docker pull bitnami/gitea:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -73,7 +73,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/gitea` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ --volume /path/to/gitea-persistence:/bitnami/gitea \ --env ALLOM_EMPTY_PASSWORD=false \ bitnami/gitea:latest @@ -102,7 +102,7 @@ In this example, we will create a Gitea client instance that will connect to the #### Step 1: Create a network ```console -$ docker network create my-network --driver bridge +docker network create my-network --driver bridge ``` #### Step 2: Launch the Gitea container within your network @@ -110,7 +110,7 @@ $ docker network create my-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run -d --name gitea-server \ +docker run -d --name gitea-server \ --network my-network \ --env ALLOW_EMPTY_PASSWORD=yes \ bitnami/gitea:latest @@ -121,7 +121,7 @@ $ docker run -d --name gitea-server \ Finally we create a new container instance to launch the Gitea client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network my-network \ bitnami/gitea:latest gitea-client --host gitea-server ``` @@ -158,7 +158,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -170,7 +170,7 @@ Gitea can be configured via environment variables or using a configuration file The configuration can easily be setup by mounting your own configuration overrides on the directory `/bitnami/gitea/custom/conf/app.ini`: ```console -$ docker run --name gitea \ +docker run --name gitea \ --volume /path/to/override.ini:/bitnami/gitea/custom/conf/app.ini:ro \ bitnami/gitea:latest ``` @@ -197,14 +197,14 @@ In order to have your custom files inside the docker image you can mount them as The admin user and password can easily be setup with the Bitnami Gitea Docker image using the following environment variables: - - `GITEA_ADMIN_USER`: Admin user name. Defaults to `bn_user`. - - `GITEA_ADMIN_PASSWORD`: Admin password. Defaults to `bitnami`. - - `GITEA_ADMIN_EMAIL`: Admin user email. Defaults to `user@bitnami.org`. +* `GITEA_ADMIN_USER`: Admin user name. Defaults to `bn_user`. +* `GITEA_ADMIN_PASSWORD`: Admin password. Defaults to `bitnami`. +* `GITEA_ADMIN_EMAIL`: Admin user email. Defaults to `user@bitnami.org`. Passing the `GITEA_ADMIN_PASSWORD` environment variable when running the image for the first time will set the password of the `GITEA_ADMIN_USER` user to the value of `GITEA_ADMIN_PASSWORD`. ```console -$ docker run --name gitea -e GITEA_ADMIN_PASSWORD=password123 bitnami/gitea:latest +docker run --name gitea -e GITEA_ADMIN_PASSWORD=password123 bitnami/gitea:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/gitea/docker-compose.yml) file present in this repository: @@ -222,15 +222,15 @@ services: Gitea default ports can be changed using the following environment variables: -- `GITEA_HTTP_PORT`: HTTP port. Defaults to `3000`. -- `GITEA_SSH_LISTEN_PORT`: Port for the built-in SSH server. Defaults to `2222` +* `GITEA_HTTP_PORT`: HTTP port. Defaults to `3000`. +* `GITEA_SSH_LISTEN_PORT`: Port for the built-in SSH server. Defaults to `2222` ## Logging The Bitnami Gitea Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs gitea +docker logs gitea ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -244,7 +244,7 @@ Bitnami provides up-to-date versions of Gitea, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/gitea:latest +docker pull bitnami/gitea:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/gitea:latest`. @@ -254,31 +254,31 @@ or if you're using Docker Compose, update the value of the image property to `bi Stop the currently running container using the command ```console -$ docker stop gitea +docker stop gitea ``` or using Docker Compose: ```console -$ docker-compose stop gitea +docker-compose stop gitea ``` Next, take a snapshot of the persistent volume `/path/to/gitea-persistence` using: ```console -$ rsync -a /path/to/gitea-persistence /path/to/gitea-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/gitea-persistence /path/to/gitea-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v gitea +docker rm -v gitea ``` or using Docker Compose: ```console -$ docker-compose rm -v gitea +docker-compose rm -v gitea ``` #### Step 4: Run the new image @@ -286,13 +286,13 @@ $ docker-compose rm -v gitea Re-create your container from the new image. ```console -$ docker run --name gitea bitnami/gitea:latest +docker run --name gitea bitnami/gitea:latest ``` or using Docker Compose: ```console -$ docker-compose up gitea +docker-compose up gitea ``` ## Contributing @@ -311,7 +311,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/gitlab-runner-helper/README.md b/bitnami/gitlab-runner-helper/README.md index 0be7bc40ee2d..60a3660e45ca 100644 --- a/bitnami/gitlab-runner-helper/README.md +++ b/bitnami/gitlab-runner-helper/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name gitlab-runner-helper bitnami/gitlab-runner-helper +docker run -it --name gitlab-runner-helper bitnami/gitlab-runner-helper ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gitlab-runner-helper/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gitlab-runner-helper/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,13 +43,13 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Gitlab Runner Helper Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/gitlab-runner-helper). ```console -$ docker pull bitnami/gitlab-runner:latest +docker pull bitnami/gitlab-runner:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/gitlab-runner-helper/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/gitlab-runner-helper:[TAG] +docker pull bitnami/gitlab-runner-helper:[TAG] ``` If you wish, you can also build the image yourself. @@ -57,9 +57,9 @@ If you wish, you can also build the image yourself. If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -71,7 +71,7 @@ Bitnami provides up-to-date versions of Gitlab Runner Helper, including security #### Step 1: Get the updated image ```console -$ docker pull bitnami/gitlab-runner-helper:latest +docker pull bitnami/gitlab-runner-helper:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/gitlab-runner-helper:latest`. @@ -79,13 +79,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v gitlab-runner-helper +docker rm -v gitlab-runner-helper ``` or using Docker Compose: ```console -$ docker-compose rm -v gitlab-runner-helper +docker-compose rm -v gitlab-runner-helper ``` #### Step 3: Run the new image @@ -93,13 +93,13 @@ $ docker-compose rm -v gitlab-runner-helper Re-create your container from the new image. ```console -$ docker run --name gitlab-runner-helper bitnami/gitlab-runner-helper:latest +docker run --name gitlab-runner-helper bitnami/gitlab-runner-helper:latest ``` or using Docker Compose: ```console -$ docker-compose up gitlab-runner-helper +docker-compose up gitlab-runner-helper ``` ## Configuration @@ -109,7 +109,7 @@ $ docker-compose up gitlab-runner-helper To run commands inside this container you can use `docker run`, for example to execute `gitlab-runner-helper --help` you can follow the example below: ```console -$ docker run --rm --name gitlab-runner-helper bitnami/gitlab-runner–helper:latest --help +docker run --rm --name gitlab-runner-helper bitnami/gitlab-runner–helper:latest --help ``` Check the [official Gitlab Runner Helper documentation](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#helper-image) for the list of the available parameters. @@ -130,7 +130,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/gitlab-runner/README.md b/bitnami/gitlab-runner/README.md index e9d3d90e83c2..7c6b1508c596 100644 --- a/bitnami/gitlab-runner/README.md +++ b/bitnami/gitlab-runner/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name gitlab-runner bitnami/gitlab-runner +docker run -it --name gitlab-runner bitnami/gitlab-runner ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gitlab-runner/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gitlab-runner/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Gitlab Runner Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/gitlab-runner). ```console -$ docker pull bitnami/gitlab-runner:latest +docker pull bitnami/gitlab-runner:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/gitlab-runner/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/gitlab-runner:[TAG] +docker pull bitnami/gitlab-runner:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Gitlab Runner, including security patche #### Step 1: Get the updated image ```console -$ docker pull bitnami/gitlab-runner:latest +docker pull bitnami/gitlab-runner:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/gitlab-runner:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v gitlab-runner +docker rm -v gitlab-runner ``` or using Docker Compose: ```console -$ docker-compose rm -v gitlab-runner +docker-compose rm -v gitlab-runner ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v gitlab-runner Re-create your container from the new image. ```console -$ docker run --name gitlab-runner bitnami/gitlab-runner:latest +docker run --name gitlab-runner bitnami/gitlab-runner:latest ``` or using Docker Compose: ```console -$ docker-compose up gitlab-runner +docker-compose up gitlab-runner ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up gitlab-runner To run commands inside this container you can use `docker run`, for example to execute `gitlab-runner --help` you can follow the example below: ```console -$ docker run --rm --name gitlab-runner bitnami/gitlab-runner:latest --help +docker run --rm --name gitlab-runner bitnami/gitlab-runner:latest --help ``` Check the [official Gitlab Runner documentation](https://docs.gitlab.com/runner/commands/) for the list of the available parameters. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/golang/README.md b/bitnami/golang/README.md index 2cff7730be15..e4c35ccd52b4 100644 --- a/bitnami/golang/README.md +++ b/bitnami/golang/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name golang bitnami/golang:latest +docker run --name golang bitnami/golang:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/golang/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/golang/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Golang Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/golang). ```console -$ docker pull bitnami/golang:latest +docker pull bitnami/golang:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/golang/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/golang:[TAG] +docker pull bitnami/golang:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -65,7 +65,7 @@ $ docker build -t bitnami/APP:latest . For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/golang-persistence:/bitnami \ bitnami/golang:latest ``` @@ -91,7 +91,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create golang-network --driver bridge +docker network create golang-network --driver bridge ``` #### Step 2: Launch the Golang container within your network @@ -99,7 +99,7 @@ $ docker network create golang-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `golang-network` network. ```console -$ docker run --name golang-node1 --network golang-network bitnami/golang:latest +docker run --name golang-node1 --network golang-network bitnami/golang:latest ``` #### Step 3: Run another containers @@ -113,7 +113,7 @@ We can launch another containers using the same flag (`--network NETWORK`) in th The default workspace for the Bitnami Golang image is `/go` (GOPATH, consult [Golang documentation](https://golang.org/doc/gopath_code#Workspaces) for more info about workspaces). You can mount your custom Golang project from your host, and run it normally using the `go` command. ```console -$ docker -it --name golang run \ +docker -it --name golang run \ -v /path/to/your/project:/go/src/project \ bitnami/golang \ bash -ec 'cd src/project && go run .' @@ -124,7 +124,7 @@ $ docker -it --name golang run \ The Bitnami Golang Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs golang +docker logs golang ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -138,7 +138,7 @@ Bitnami provides up-to-date versions of Golang, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/golang:latest +docker pull bitnami/golang:latest ``` #### Step 2: Stop the running container @@ -146,13 +146,13 @@ $ docker pull bitnami/golang:latest Stop the currently running container using the command ```console -$ docker stop golang +docker stop golang ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v golang +docker rm -v golang ``` #### Step 4: Run the new image @@ -160,7 +160,7 @@ $ docker rm -v golang Re-create your container from the new image. ```console -$ docker run --name golang bitnami/golang:latest +docker run --name golang bitnami/golang:latest ``` ## Contributing @@ -179,7 +179,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/google-cloud-sdk/README.md b/bitnami/google-cloud-sdk/README.md index 2d91f33ae729..27ba7c2e6add 100644 --- a/bitnami/google-cloud-sdk/README.md +++ b/bitnami/google-cloud-sdk/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name google-cloud-sdk bitnami/google-cloud-sdk:latest +docker run --name google-cloud-sdk bitnami/google-cloud-sdk:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami google-cloud-sdk Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/google-cloud-sdk). ```console -$ docker pull bitnami/google-cloud-sdk:latest +docker pull bitnami/google-cloud-sdk:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/google-cloud-sdk/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/google-cloud-sdk:[TAG] +docker pull bitnami/google-cloud-sdk:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `google-cloud-sdk --version` you can follow the example below: ```console -$ docker run --rm --name google-cloud-sdk bitnami/google-cloud-sdk:latest -- --version +docker run --rm --name google-cloud-sdk bitnami/google-cloud-sdk:latest -- --version ``` Consult the [google-cloud-sdk Reference Documentation](https://cloud.google.com/sdk/gcloud) to find the completed list of commands available. @@ -70,7 +70,7 @@ Consult the [google-cloud-sdk Reference Documentation](https://cloud.google.com/ It's possible to load your own configuration, which is useful if you want to connect to a remote cluster: ```console -$ docker run --rm --name google-cloud-sdk -v /path/to/your/gcloud/config:/.config/gcloud/configurations/config_default bitnami/google-cloud-sdk:latest +docker run --rm --name google-cloud-sdk -v /path/to/your/gcloud/config:/.config/gcloud/configurations/config_default bitnami/google-cloud-sdk:latest ``` ## Contributing @@ -89,7 +89,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/gotrue/README.md b/bitnami/gotrue/README.md index 0aacb4bbf445..4fb65de48e6e 100644 --- a/bitnami/gotrue/README.md +++ b/bitnami/gotrue/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name gotrue bitnami/gotrue +docker run -it --name gotrue bitnami/gotrue ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gotrue/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gotrue/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami GoTrue Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/gotrue). ```console -$ docker pull bitnami/gotrue:latest +docker pull bitnami/gotrue:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/gotrue/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/gotrue:[TAG] +docker pull bitnami/gotrue:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of GoTrue, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/gotrue:latest +docker pull bitnami/gotrue:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/gotrue:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v gotrue +docker rm -v gotrue ``` or using Docker Compose: ```console -$ docker-compose rm -v gotrue +docker-compose rm -v gotrue ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v gotrue Re-create your container from the new image. ```console -$ docker run --name gotrue bitnami/gotrue:latest +docker run --name gotrue bitnami/gotrue:latest ``` or using Docker Compose: ```console -$ docker-compose up gotrue +docker-compose up gotrue ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up gotrue To run commands inside this container you can use `docker run`, for example to execute `gotrue --help` you can follow the example below: ```console -$ docker run --rm --name gotrue bitnami/gotrue:latest --help +docker run --rm --name gotrue bitnami/gotrue:latest --help ``` Check the [official GoTrue documentation](https://github.com/netlify/gotrue) for more information about how to use GoTrue. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/gradle/README.md b/bitnami/gradle/README.md index 4d1b2d5e918b..22bc7123d6fc 100644 --- a/bitnami/gradle/README.md +++ b/bitnami/gradle/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name gradle bitnami/gradle +docker run -it --name gradle bitnami/gradle ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gradle/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/gradle/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Gradle Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/gradle). ```console -$ docker pull bitnami/gradle:latest +docker pull bitnami/gradle:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/gradle/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/gradle:[TAG] +docker pull bitnami/gradle:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -67,14 +67,14 @@ $ docker build -t bitnami/APP:latest . The default work directory for the Gradle image is `/app`. You can mount a folder from your host here that includes your Gradle build script, and run any task specifying its identifier. ```console -$ docker run --name gradle -v /path/to/app:/app bitnami/gradle \ +docker run --name gradle -v /path/to/app:/app bitnami/gradle \ build ``` **Further Reading:** - - [gradle documentation](https://docs.gradle.org/) - - [gradle command-line interface](https://docs.gradle.org/current/userguide/command_line_interface.html) +* [gradle documentation](https://docs.gradle.org/) +* [gradle command-line interface](https://docs.gradle.org/current/userguide/command_line_interface.html) ## Maintenance @@ -85,7 +85,7 @@ Bitnami provides up-to-date versions of Gradle, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/gradle:latest +docker pull bitnami/gradle:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/gradle:latest`. @@ -93,13 +93,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v gradle +docker rm -v gradle ``` or using Docker Compose: ```console -$ docker-compose rm -v gradle +docker-compose rm -v gradle ``` #### Step 3: Run the new image @@ -107,13 +107,13 @@ $ docker-compose rm -v gradle Re-create your container from the new image. ```console -$ docker run --name gradle bitnami/gradle:latest +docker run --name gradle bitnami/gradle:latest ``` or using Docker Compose: ```console -$ docker-compose up gradle +docker-compose up gradle ``` ## Contributing @@ -132,7 +132,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/grafana-image-renderer/README.md b/bitnami/grafana-image-renderer/README.md index 74ec097490da..11dd9d196d8e 100644 --- a/bitnami/grafana-image-renderer/README.md +++ b/bitnami/grafana-image-renderer/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name grafana-image-renderer bitnami/grafana-image-renderer:latest +docker run --name grafana-image-renderer bitnami/grafana-image-renderer:latest ``` ## Why use Bitnami Images? @@ -46,21 +46,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Grafana Image Renderer Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana-image-renderer). ```console -$ docker pull bitnami/grafana-image-renderer:latest +docker pull bitnami/grafana-image-renderer:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana-image-renderer/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/grafana-image-renderer:[TAG] +docker pull bitnami/grafana-image-renderer:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -74,7 +74,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create my-network --driver bridge +docker network create my-network --driver bridge ``` #### Step 2: Launch the grafana-image-renderer container within your network @@ -82,7 +82,7 @@ $ docker network create my-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run -d --name grafana-image-renderer \ +docker run -d --name grafana-image-renderer \ --env HTTP_PORT="8080" \ --env HTTP_HOST="0.0.0.0" \ --network my-network \ @@ -94,7 +94,7 @@ $ docker run -d --name grafana-image-renderer \ Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run -d --name grafana \ +docker run -d --name grafana \ --network my-network \ --publish 3000:3000 \ --env GF_RENDERING_SERVER_URL="http://grafana-image-renderer:8080/render" \ @@ -146,7 +146,7 @@ vi /path/to/grafana-image-renderer-conf/config.json After changing the configuration, restart your Grafana Image Renderer container for changes to take effect. Using Docker Compose: ```console -$ docker-compose restart grafana-image-renderer +docker-compose restart grafana-image-renderer ``` After that, your configuration will be taken into account in the server's behaviour. @@ -156,7 +156,7 @@ After that, your configuration will be taken into account in the server's behavi The Bitnami Grafana Image Renderer Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs grafana-image-renderer +docker logs grafana-image-renderer ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -170,7 +170,7 @@ Bitnami provides up-to-date versions of Grafana Image Renderer, including securi #### Step 1: Get the updated image ```console -$ docker pull bitnami/grafana-image-renderer:latest +docker pull bitnami/grafana-image-renderer:latest ``` #### Step 2: Stop the currently running container @@ -178,13 +178,13 @@ $ docker pull bitnami/grafana-image-renderer:latest Stop the currently running container using the command ```console -$ docker stop grafana-image-renderer +docker stop grafana-image-renderer ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v grafana-image-renderer +docker rm -v grafana-image-renderer ``` #### Step 4: Run the new image @@ -192,7 +192,7 @@ $ docker rm -v grafana-image-renderer Re-create your container from the new image: ```console -$ docker run --name grafana-image-renderer bitnami/grafana-image-renderer:latest +docker run --name grafana-image-renderer bitnami/grafana-image-renderer:latest ``` ## Contributing @@ -211,7 +211,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/grafana-loki/README.md b/bitnami/grafana-loki/README.md index 1a3d7c7bca6f..9bd95c8b6300 100644 --- a/bitnami/grafana-loki/README.md +++ b/bitnami/grafana-loki/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name grafana-loki bitnami/grafana-loki:latest +docker run --name grafana-loki bitnami/grafana-loki:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami grafana-loki Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana-loki). ```console -$ docker pull bitnami/grafana-loki:latest +docker pull bitnami/grafana-loki:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana-loki/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/grafana-loki:[TAG] +docker pull bitnami/grafana-loki:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,13 +64,13 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `grafana-loki --version` you can follow the example below: ```console -$ docker run --rm --name grafana-loki bitnami/grafana-loki:latest -- --version +docker run --rm --name grafana-loki bitnami/grafana-loki:latest -- --version ``` In order for the container to work, you need to mount your custom `loki.yaml` file in `/bitnami/grafana-loki/conf/`. The following example runs Grafana Loki with a custom configuration file: ```console -$ docker run --rm --name grafana-loki -v /path/to/loki.yaml:/bitnami/grafana-loki/conf/loki.yaml bitnami/grafana-loki:latest +docker run --rm --name grafana-loki -v /path/to/loki.yaml:/bitnami/grafana-loki/conf/loki.yaml bitnami/grafana-loki:latest ``` Using docker-compose: @@ -103,7 +103,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/grafana-mimir/README.md b/bitnami/grafana-mimir/README.md index 8b164f80bd5f..53e420537f71 100644 --- a/bitnami/grafana-mimir/README.md +++ b/bitnami/grafana-mimir/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name grafana-mimir bitnami/grafana-mimir:latest +docker run --name grafana-mimir bitnami/grafana-mimir:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami grafana-mimir Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana-mimir). ```console -$ docker pull bitnami/grafana-mimir:latest +docker pull bitnami/grafana-mimir:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana-mimir/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/grafana-mimir:[TAG] +docker pull bitnami/grafana-mimir:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,13 +64,13 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `grafana-mimir --version` you can follow the example below: ```console -$ docker run --rm --name grafana-mimir bitnami/grafana-mimir:latest -- --version +docker run --rm --name grafana-mimir bitnami/grafana-mimir:latest -- --version ``` In order for the container to work, you need to mount your custom `mimir.yaml` file in `/bitnami/grafana-mimir/conf/`. The following example runs Grafana Mimir with a custom configuration file: ```console -$ docker run --rm --name grafana-mimir -v /path/to/mimir.yaml:/bitnami/grafana-mimir/conf/mimir.yaml bitnami/grafana-mimir:latest +docker run --rm --name grafana-mimir -v /path/to/mimir.yaml:/bitnami/grafana-mimir/conf/mimir.yaml bitnami/grafana-mimir:latest ``` Using docker-compose: @@ -103,7 +103,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/grafana-operator/README.md b/bitnami/grafana-operator/README.md index 1b051a5fff18..32033c3694b1 100644 --- a/bitnami/grafana-operator/README.md +++ b/bitnami/grafana-operator/README.md @@ -44,21 +44,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Grafana Operator Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana-operator). ```console -$ docker pull bitnami/grafana-operator:latest +docker pull bitnami/grafana-operator:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana-operator/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/grafana-operator:[TAG] +docker pull bitnami/grafana-operator:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -74,13 +74,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/grafana-tempo-query/README.md b/bitnami/grafana-tempo-query/README.md index 23490261846d..6969e495d48d 100644 --- a/bitnami/grafana-tempo-query/README.md +++ b/bitnami/grafana-tempo-query/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name grafana-tempo-query bitnami/grafana-tempo-query:latest +docker run --name grafana-tempo-query bitnami/grafana-tempo-query:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami grafana-tempo-query Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana-tempo-query). ```console -$ docker pull bitnami/grafana-tempo-query:latest +docker pull bitnami/grafana-tempo-query:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana-tempo-query/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/grafana-tempo-query:[TAG] +docker pull bitnami/grafana-tempo-query:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,13 +64,13 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `grafana-tempo-query --version` you can follow the example below: ```console -$ docker run --rm --name grafana-tempo-query bitnami/grafana-tempo-query:latest -- --version +docker run --rm --name grafana-tempo-query bitnami/grafana-tempo-query:latest -- --version ``` In order for the container to work, you need to mount your custom `tempo-query.yaml` file in `/bitnami/grafana-tempo-query/conf/`. The following example runs Grafana Tempo Query with a custom configuration file: ```console -$ docker run --rm --name grafana-tempo-query -v /path/to/tempo-query.yaml:/bitnami/grafana-tempo-query/conf/tempo-query.yaml bitnami/grafana-tempo-query:latest +docker run --rm --name grafana-tempo-query -v /path/to/tempo-query.yaml:/bitnami/grafana-tempo-query/conf/tempo-query.yaml bitnami/grafana-tempo-query:latest ``` Using docker-compose: @@ -103,7 +103,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/grafana-tempo-vulture/README.md b/bitnami/grafana-tempo-vulture/README.md index 263ca3e2f7a2..3d6bba18c219 100644 --- a/bitnami/grafana-tempo-vulture/README.md +++ b/bitnami/grafana-tempo-vulture/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name grafana-tempo-vulture bitnami/grafana-tempo-vulture:latest +docker run --name grafana-tempo-vulture bitnami/grafana-tempo-vulture:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami grafana-tempo-vulture Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana-tempo-vulture). ```console -$ docker pull bitnami/grafana-tempo-vulture:latest +docker pull bitnami/grafana-tempo-vulture:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana-tempo-vulture/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/grafana-tempo-vulture:[TAG] +docker pull bitnami/grafana-tempo-vulture:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `grafana-tempo-vulture --version` you can follow the example below: ```console -$ docker run --rm --name grafana-tempo-vulture bitnami/grafana-tempo-vulture:latest -- --version +docker run --rm --name grafana-tempo-vulture bitnami/grafana-tempo-vulture:latest -- --version ``` Check the [official Grafana Tempo documentation](https://grafana.com/docs/tempo/latest/configuration/) to understand the possible configurations. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/grafana-tempo/README.md b/bitnami/grafana-tempo/README.md index 0c507fcd346c..bef3eec3f6ee 100644 --- a/bitnami/grafana-tempo/README.md +++ b/bitnami/grafana-tempo/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name grafana-tempo bitnami/grafana-tempo:latest +docker run --name grafana-tempo bitnami/grafana-tempo:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami grafana-tempo Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana-tempo). ```console -$ docker pull bitnami/grafana-tempo:latest +docker pull bitnami/grafana-tempo:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana-tempo/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/grafana-tempo:[TAG] +docker pull bitnami/grafana-tempo:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,13 +64,13 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `grafana-tempo --version` you can follow the example below: ```console -$ docker run --rm --name grafana-tempo bitnami/grafana-tempo:latest -- --version +docker run --rm --name grafana-tempo bitnami/grafana-tempo:latest -- --version ``` In order for the container to work, you need to mount your custom `tempo.yaml` file in `/bitnami/grafana-tempo/conf/`. The following example runs Grafana Tempo with a custom configuration file: ```console -$ docker run --rm --name grafana-tempo -v /path/to/tempo.yaml:/bitnami/grafana-tempo/conf/tempo.yaml bitnami/grafana-tempo:latest +docker run --rm --name grafana-tempo -v /path/to/tempo.yaml:/bitnami/grafana-tempo/conf/tempo.yaml bitnami/grafana-tempo:latest ``` Using docker-compose: @@ -103,7 +103,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/grafana/README.md b/bitnami/grafana/README.md index 3d72a2d5c6ff..f44ab0b94781 100644 --- a/bitnami/grafana/README.md +++ b/bitnami/grafana/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name grafana bitnami/grafana:latest +docker run --name grafana bitnami/grafana:latest ``` ## Why use Bitnami Images? @@ -46,21 +46,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Grafana Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana). ```console -$ docker pull bitnami/grafana:latest +docker pull bitnami/grafana:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/grafana:[TAG] +docker pull bitnami/grafana:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -74,7 +74,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create grafana-network --driver bridge +docker network create grafana-network --driver bridge ``` #### Step 2: Launch the grafana container within your network @@ -82,7 +82,7 @@ $ docker network create grafana-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `grafana-network` network. ```console -$ docker run --name grafana-node1 --network grafana-network bitnami/grafana:latest +docker run --name grafana-node1 --network grafana-network bitnami/grafana:latest ``` #### Step 3: Run another containers @@ -95,7 +95,7 @@ We can launch another containers using the same flag (`--network NETWORK`) in th Update the `grafana.ini` configuration file in the `/opt/bitnami/grafana/conf` directory to override default configuration options. You only need to add the options you want to override. Config files are applied in the order of: -``` +```config grafana.ini default.ini ``` @@ -107,7 +107,7 @@ To enable development mode, edit the `grafana.ini` file and set `app_mode = deve Override the `/opt/bitnami/grafana/conf/grafana.ini` file mounting a volume. ```console -$ docker run --name grafana-node -v /path/to/grafana.ini:/opt/bitnami/grafana/conf/grafana.ini bitnami/grafana:latest +docker run --name grafana-node -v /path/to/grafana.ini:/opt/bitnami/grafana/conf/grafana.ini bitnami/grafana:latest ``` After that, your configuration will be taken into account in the server's behaviour. @@ -127,17 +127,17 @@ grafana: You can customize this image and include the plugins you desire editing the list of plugins avilable in the script (see the variable "grafana_plugin_list") and build your own image as shown below: ```console -$ cd 8/debian-11 -$ docker build -t your-custom-grafana . +cd 8/debian-11 +docker build -t your-custom-grafana . ``` #### Install plugins at initialization When you start the Grafana image, you can specify a comma, semi-colon or space separated list of plugins to install by setting the env. variable `GF_INSTALL_PLUGINS`. The entries in `GF_INSTALL_PLUGINS` have three different formats: - * `plugin_id`: This will download the latest plugin version with name `plugin_id` from [the official Grafana plugins page](https://grafana.com/grafana/plugins). - * `plugin_id:plugin_version`: This will download the plugin with name `plugin_id` and version `plugin_version` from [the official Grafana plugins page](https://grafana.com/grafana/plugins). - * `plugin_id=url`: This will download the plugin with name `plugin_id` using the zip file specified in `url`. In case you want to skip TLS verification, set the variable `GF_INSTALL_PLUGINS_SKIP_TLS` to `yes`. +* `plugin_id`: This will download the latest plugin version with name `plugin_id` from [the official Grafana plugins page](https://grafana.com/grafana/plugins). +* `plugin_id:plugin_version`: This will download the plugin with name `plugin_id` and version `plugin_version` from [the official Grafana plugins page](https://grafana.com/grafana/plugins). +* `plugin_id=url`: This will download the plugin with name `plugin_id` using the zip file specified in `url`. In case you want to skip TLS verification, set the variable `GF_INSTALL_PLUGINS_SKIP_TLS` to `yes`. For Docker Compose, add the variable name and value under the application section: @@ -152,7 +152,7 @@ grafana: For manual execution add a `-e` option with each variable and value: ```console -$ docker run -d --name grafana -p 3000:3000 \ +docker run -d --name grafana -p 3000:3000 \ -e GF_INSTALL_PLUGINS="grafana-clock-panel:1.1.0,grafana-kubernetes-app,worldpring=https://github.com/raintank/worldping-app/releases/download/v1.2.6/worldping-app-release-1.2.6.zip" \ bitnami/grafana:latest ``` @@ -190,7 +190,7 @@ services: The Bitnami Grafana Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs grafana +docker logs grafana ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -204,7 +204,7 @@ Bitnami provides up-to-date versions of grafana, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/grafana:latest +docker pull bitnami/grafana:latest ``` #### Step 2: Stop and backup the currently running container @@ -212,13 +212,13 @@ $ docker pull bitnami/grafana:latest Stop the currently running container using the command ```console -$ docker stop grafana +docker stop grafana ``` Next, take a snapshot of the persistent volume `/path/to/grafana-persistence` using: ```console -$ rsync -a /path/to/grafana-persistence /path/to/grafana-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/grafana-persistence /path/to/grafana-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -226,15 +226,15 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v grafana +docker rm -v grafana ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name grafana bitnami/grafana:latest +docker run --name grafana bitnami/grafana:latest ``` ## Notable Changes @@ -243,19 +243,19 @@ $ docker run --name grafana bitnami/grafana:latest The number of plugins included in the image by default has been decreased. This decision is supported by the following reasons: -- Bitnami commitment to offer images as less opinionated as possible: only very popular and well-maintained plugins should be included. -- Reducing the image size. -- Security concerns: by reducing the number of plugins, we also reduce the chances to include libraries affected by known vulnerabilities. +* Bitnami commitment to offer images as less opinionated as possible: only very popular and well-maintained plugins should be included. +* Reducing the image size. +* Security concerns: by reducing the number of plugins, we also reduce the chances to include libraries affected by known vulnerabilities. You can still build your custom image adding your custom plugins or install them during the installization as explained in the [Grafana Plugins section](#grafana-plugins). ### 6.7.3-debian-10-r28 -- The `GF_INSTALL_PLUGINS` environment variable is not set by default anymore. This means it doesn't try to install the [`grafana-image-renderer` plugin](https://github.com/grafana/grafana-image-renderer) anymore unless you specify it. As an alternative to install this plugin, you can use the [Grafana Image Renderer container](https://github.com/bitnami/containers/blob/main/bitnami/grafana-image-renderer). +* The `GF_INSTALL_PLUGINS` environment variable is not set by default anymore. This means it doesn't try to install the [`grafana-image-renderer` plugin](https://github.com/grafana/grafana-image-renderer) anymore unless you specify it. As an alternative to install this plugin, you can use the [Grafana Image Renderer container](https://github.com/bitnami/containers/blob/main/bitnami/grafana-image-renderer). ### 6.7.2-debian-10-r18 -- Grafana doesn't ship the [`grafana-image-renderer` plugin](https://github.com/grafana/grafana-image-renderer/) by default anymore since it's not compatible with K8s distros with IPv6 disable. Instead, the `GF_INSTALL_PLUGINS` environment variable is set by default including this plugin so it's installed during the container's initialization, users can easily avoid it by overwriting the environment variable. +* Grafana doesn't ship the [`grafana-image-renderer` plugin](https://github.com/grafana/grafana-image-renderer/) by default anymore since it's not compatible with K8s distros with IPv6 disable. Instead, the `GF_INSTALL_PLUGINS` environment variable is set by default including this plugin so it's installed during the container's initialization, users can easily avoid it by overwriting the environment variable. ## Contributing @@ -273,7 +273,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/haproxy/README.md b/bitnami/haproxy/README.md index 44df72464334..5f6cb0f4bc6b 100644 --- a/bitnami/haproxy/README.md +++ b/bitnami/haproxy/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name haproxy bitnami/haproxy:latest +docker run --name haproxy bitnami/haproxy:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami haproxy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/haproxy). ```console -$ docker pull bitnami/haproxy:latest +docker pull bitnami/haproxy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/haproxy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/haproxy:[TAG] +docker pull bitnami/haproxy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,13 +64,13 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `haproxy --version` you can follow the example below: ```console -$ docker run --rm --name haproxy bitnami/haproxy:latest -- --version +docker run --rm --name haproxy bitnami/haproxy:latest -- --version ``` In order for the container to work, you need to mount your custom `haproxy.cfg` file in `/bitnami/haproxy/conf/`. The following example runs HAProxy with a custom configuration file: ```console -$ docker run --rm --name haproxy -v /path/to/haproxy.cfg:/bitnami/haproxy/conf/haproxy.cfg bitnami/haproxy:latest +docker run --rm --name haproxy -v /path/to/haproxy.cfg:/bitnami/haproxy/conf/haproxy.cfg bitnami/haproxy:latest ``` Using docker-compose: @@ -103,7 +103,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-adapter-trivy/README.md b/bitnami/harbor-adapter-trivy/README.md index 3b31d4aaccde..dcf806099a81 100644 --- a/bitnami/harbor-adapter-trivy/README.md +++ b/bitnami/harbor-adapter-trivy/README.md @@ -13,9 +13,9 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema This container is part of the [Harbor solution](https://github.com/bitnami/charts/tree/master/bitnami/harbor) that is primarily intended to be deployed in Kubernetes. You can deploy Harbor solution and then enable this specific container with the command below: ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +docker-compose up ``` ## Why use Bitnami Images? @@ -46,21 +46,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Harbor-Adapter-Trivy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/harbor-adapter-trivy). ```console -$ docker pull bitnami/harbor-adapter-trivy:latest +docker pull bitnami/harbor-adapter-trivy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/harbor-adapter-trivy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/harbor-adapter-trivy:[TAG] +docker pull bitnami/harbor-adapter-trivy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -70,7 +70,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/harbor-adapter-trivy-persistence:/bitnami \ bitnami/harbor-adapter-trivy:latest ``` @@ -96,7 +96,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create harbor-adapter-trivy-network --driver bridge +docker network create harbor-adapter-trivy-network --driver bridge ``` #### Step 2: Launch the Harbor-Adapter-Trivy container within your network @@ -104,7 +104,7 @@ $ docker network create harbor-adapter-trivy-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `harbor-adapter-trivy-network` network. ```console -$ docker run --name harbor-adapter-trivy-node1 --network harbor-adapter-trivy-network bitnami/harbor-adapter-trivy:latest +docker run --name harbor-adapter-trivy-node1 --network harbor-adapter-trivy-network bitnami/harbor-adapter-trivy:latest ``` #### Step 3: Run another containers @@ -122,7 +122,7 @@ For further information about the specific component itself, please refer to the The Bitnami Harbor-Adapter-Trivy Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs harbor-adapter-trivy +docker logs harbor-adapter-trivy ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -136,7 +136,7 @@ Bitnami provides up-to-date versions of Harbor-Adapter-Trivy, including security #### Step 1: Get the updated image ```console -$ docker pull bitnami/harbor-adapter-trivy:latest +docker pull bitnami/harbor-adapter-trivy:latest ``` #### Step 2: Stop the running container @@ -144,13 +144,13 @@ $ docker pull bitnami/harbor-adapter-trivy:latest Stop the currently running container using the command ```console -$ docker stop harbor-adapter-trivy +docker stop harbor-adapter-trivy ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v harbor-adapter-trivy +docker rm -v harbor-adapter-trivy ``` #### Step 4: Run the new image @@ -158,7 +158,7 @@ $ docker rm -v harbor-adapter-trivy Re-create your container from the new image. ```console -$ docker run --name harbor-adapter-trivy bitnami/harbor-adapter-trivy:latest +docker run --name harbor-adapter-trivy bitnami/harbor-adapter-trivy:latest ``` ## Contributing @@ -177,7 +177,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-core/README.md b/bitnami/harbor-core/README.md index 9308ef400a92..7d75405bf900 100644 --- a/bitnami/harbor-core/README.md +++ b/bitnami/harbor-core/README.md @@ -6,14 +6,12 @@ [Overview of Harbor Core](https://goharbor.io/) - - ## TL;DR ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +docker-compose up ``` > Please note we are downloading the docker-compose.yml file from the Harbor Portal component repository. @@ -66,7 +64,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 8acc01eed0a3..4495e6a4b98a 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -6,14 +6,12 @@ [Overview of harbor-exporter](https://change.me) - - ## TL;DR ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +docker-compose up ``` > Please note we are downloading the docker-compose.yml file from the Harbor Portal component repository. @@ -66,7 +64,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-jobservice/README.md b/bitnami/harbor-jobservice/README.md index 2ca3f19240f6..29a313475b9d 100644 --- a/bitnami/harbor-jobservice/README.md +++ b/bitnami/harbor-jobservice/README.md @@ -6,14 +6,12 @@ [Overview of Harbor Job Service](https://github.com/goharbor/harbor) - - ## TL;DR ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +docker-compose up ``` > Please note we are downloading the docker-compose.yml file from the Harbor Portal component repository. @@ -66,7 +64,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-notary-server/README.md b/bitnami/harbor-notary-server/README.md index 8e4c8374ca9d..05564d7c8ca4 100644 --- a/bitnami/harbor-notary-server/README.md +++ b/bitnami/harbor-notary-server/README.md @@ -13,10 +13,11 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema This container is part of the [Harbor solution](https://github.com/bitnami/charts/tree/master/bitnami/harbor) that is primarily intended to be deployed in Kubernetes. You can deploy Harbor solution and then enable this specific container with the command below: ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +docker-compose up ``` + ## Why use Bitnami Images? * Bitnami closely tracks upstream source changes and promptly publishes new versions of this image using our automated systems. @@ -65,7 +66,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-notary-signer/README.md b/bitnami/harbor-notary-signer/README.md index 0d75764919cf..6376152685a7 100644 --- a/bitnami/harbor-notary-signer/README.md +++ b/bitnami/harbor-notary-signer/README.md @@ -13,9 +13,9 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema This container is part of the [Harbor solution](https://github.com/bitnami/charts/tree/master/bitnami/harbor) that is primarily intended to be deployed in Kubernetes. You can deploy Harbor solution and then enable this specific container with the command below: ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +docker-compose up ``` ## Why use Bitnami Images? @@ -66,7 +66,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-portal/README.md b/bitnami/harbor-portal/README.md index ad4398c1d26b..786cb0402603 100644 --- a/bitnami/harbor-portal/README.md +++ b/bitnami/harbor-portal/README.md @@ -6,14 +6,12 @@ [Overview of Harbor](https://goharbor.io/) - - ## TL;DR ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/archive/main.tar.gz | tar xz --strip=1 --wildcards '*-main/bitnami/harbor-portal/config' && mv bitnami/harbor-portal/config . && rm -rf bitnami -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/archive/main.tar.gz | tar xz --strip=1 --wildcards '*-main/bitnami/harbor-portal/config' && mv bitnami/harbor-portal/config . && rm -rf bitnami +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options for the [PostgreSQL](https://github.com/bitnami/containers/tree/main/bitnami/postgresql#readme) and [Redis(R)](https://github.com/bitnami/containers/blob/main/bitnami/redis#readme) containers for a more secure deployment. @@ -66,7 +64,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-registry/README.md b/bitnami/harbor-registry/README.md index 0284501b3359..42a464f81cde 100644 --- a/bitnami/harbor-registry/README.md +++ b/bitnami/harbor-registry/README.md @@ -6,14 +6,12 @@ [Overview of Harbor Registry](https://github.com/goharbor/harbor) - - ## TL;DR ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +docker-compose up ``` > Please note we are downloading the docker-compose.yml file from the Harbor Portal component repository. @@ -66,7 +64,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/harbor-registryctl/README.md b/bitnami/harbor-registryctl/README.md index 90be54339f29..0f60390ba8a5 100644 --- a/bitnami/harbor-registryctl/README.md +++ b/bitnami/harbor-registryctl/README.md @@ -6,14 +6,12 @@ [Overview of Harbor Registryctl](https://github.com/goharbor/harbor) - - ## TL;DR ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml -$ curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml +curl -L https://github.com/bitnami/containers/blob/main/bitnami/harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +docker-compose up ``` > Please note we are downloading the docker-compose.yml file from the Harbor Portal component repository. @@ -66,7 +64,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/influxdb/README.md b/bitnami/influxdb/README.md index 4d12914a86b3..f861511bda7c 100644 --- a/bitnami/influxdb/README.md +++ b/bitnami/influxdb/README.md @@ -11,14 +11,14 @@ InfluxDB(TM) is a trademark owned by InfluxData, which is not affiliated with, a ## TL;DR ```console -$ docker run --name influxdb bitnami/influxdb:latest +docker run --name influxdb bitnami/influxdb:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/influxdb/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/influxdb/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami InfluxDB (TM) Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/influxdb). ```console -$ docker pull bitnami/influxdb:latest +docker pull bitnami/influxdb:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/influxdb/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/influxdb:[TAG] +docker pull bitnami/influxdb:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -73,7 +73,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/influxdb` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ --volume /path/to/influxdb-persistence:/bitnami/influxdb \ --env INFLUXDB_HTTP_AUTH_ENABLED=false \ bitnami/influxdb:latest @@ -102,7 +102,7 @@ In this example, we will create a InfluxDB (TM) client instance that will connec #### Step 1: Create a network ```console -$ docker network create my-network --driver bridge +docker network create my-network --driver bridge ``` #### Step 2: Launch the InfluxDB (TM) container within your network @@ -110,7 +110,7 @@ $ docker network create my-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run -d --name influxdb-server \ +docker run -d --name influxdb-server \ --network my-network \ --env INFLUXDB_HTTP_AUTH_ENABLED=false \ bitnami/influxdb:latest @@ -121,7 +121,7 @@ $ docker run -d --name influxdb-server \ Finally we create a new container instance to launch the InfluxDB (TM) client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network my-network \ bitnami/influxdb:latest influx -host influxdb-server ``` @@ -158,7 +158,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -174,7 +174,7 @@ Variables must be prefixed by `INFLUXD_`, find more [here](https://docs.influxda The configuration can easily be setup by mounting your own configuration file (`influxdb.conf`) on the directory `/opt/bitnami/influxdb/etc/`: ```console -$ docker run --name influxdb \ +docker run --name influxdb \ --volume /path/to/influxdb.conf:/opt/bitnami/influxdb/etc/influxdb.conf:ro \ bitnami/influxdb:latest ``` @@ -201,13 +201,13 @@ In order to have your custom files inside the docker image you can mount them as The admin user and password can easily be setup with the Bitnami InfluxDB (TM) Docker image using the following environment variables: - - `INFLUXDB_ADMIN_USER`: The database admin user. Defaults to `admin`. - - `INFLUXDB_ADMIN_USER_PASSWORD`: The database admin user password. No defaults. +* `INFLUXDB_ADMIN_USER`: The database admin user. Defaults to `admin`. +* `INFLUXDB_ADMIN_USER_PASSWORD`: The database admin user password. No defaults. Passing the `INFLUXDB_ADMIN_USER_PASSWORD` environment variable when running the image for the first time will set the password of the `INFLUXDB_ADMIN_USER` user to the value of `INFLUXDB_ADMIN_USER_PASSWORD`. ```console -$ docker run --name influxdb -e INFLUXDB_ADMIN_USER_PASSWORD=password123 bitnami/influxdb:latest +docker run --name influxdb -e INFLUXDB_ADMIN_USER_PASSWORD=password123 bitnami/influxdb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/influxdb/docker-compose.yml) file present in this repository: @@ -228,7 +228,7 @@ services: By default the InfluxDB (TM) image expects all the available passwords to be set. In order to allow empty passwords, it is necessary to set the `INFLUXDB_HTTP_AUTH_ENABLED=false` env variable. This env variable is only recommended for testing or development purposes. We strongly recommend specifying the `INFLUXDB_ADMIN_USER_PASSWORD` for any other scenario. If you are using InfluxDB (TM) v2, authentication is required and `INFLUXDB_HTTP_AUTH_ENABLED` will be ignored. ```console -$ docker run --name influxdb --env INFLUXDB_HTTP_AUTH_ENABLED=false bitnami/influxdb:latest +docker run --name influxdb --env INFLUXDB_HTTP_AUTH_ENABLED=false bitnami/influxdb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/influxdb/docker-compose.yml) file present in this repository: @@ -244,11 +244,10 @@ services: ### Creating a database on first run - For InfluxDB (TM) v2 you can pass `INFLUXDB_USER_BUCKET` environment variable when running the image for the first time, a new bucket will be created. This is useful if your application requires that a bucket already exists, saving you from having to manually create the bucket using the InfluxDB (TM) CLI. ```console -$ docker run --name influxdb \ +docker run --name influxdb \ -e INFLUXDB_ADMIN_USER_PASSWORD=password123 \ -e INFLUXDB_USER_BUCKET=my_bucket \ bitnami/influxdb:latest @@ -259,7 +258,7 @@ $ docker run --name influxdb \ You can create a restricted database user that only has permissions for the database created with the [`INFLUXDB_DB`](#creating-a-database-on-first-run) environment variable. To do this, provide the `INFLUXDB_USER` environment variable and to set a password for the database user provide the `INFLUXDB_USER_PASSWORD` variable. ```console -$ docker run --name influxdb \ +docker run --name influxdb \ -e INFLUXDB_ADMIN_USER_PASSWORD=password123 \ -e INFLUXDB_USER=my_user \ -e INFLUXDB_USER_PASSWORD=my_password \ @@ -283,17 +282,17 @@ services: You can also create users with restricted privileges in the database in a very similar way. To do so, user the environment variables below: -- `INFLUXDB_READ_USER`: Specify the user with "read" privileges in the database. -- `INFLUXDB_READ_USER_PASSWORD`: Specify the password of the `INFLUXDB_READ_USER` user. -- `INFLUXDB_WRITE_USER`: Specify the user with "write" privileges in the database. -- `INFLUXDB_WRITE_USER_PASSWORD`: Specify the password of the `INFLUXDB_WRITE_USER` user. +* `INFLUXDB_READ_USER`: Specify the user with "read" privileges in the database. +* `INFLUXDB_READ_USER_PASSWORD`: Specify the password of the `INFLUXDB_READ_USER` user. +* `INFLUXDB_WRITE_USER`: Specify the user with "write" privileges in the database. +* `INFLUXDB_WRITE_USER_PASSWORD`: Specify the password of the `INFLUXDB_WRITE_USER` user. ### Customize the HTTP port readiness You can modify the timeout for the HTTP port readiness probe where the container waits until the HTTP port is actually ready to receive queries before finish the setup. Use `INFLUXDB_HTTP_READINESS_TIMEOUT` to do this. ```console -$ docker run --name influxdb \ +docker run --name influxdb \ -e INFLUXDB_ADMIN_USER_PASSWORD=password123 \ -e INFLUXDB_USER=my_user \ -e INFLUXDB_USER_PASSWORD=my_password \ @@ -317,14 +316,14 @@ services: ... ``` -- `INFLUXDB_HTTP_READINESS_TIMEOUT`: Spacify the time to wait until the HTTP endpoint is ready in seconds. Default: 60 +* `INFLUXDB_HTTP_READINESS_TIMEOUT`: Spacify the time to wait until the HTTP endpoint is ready in seconds. Default: 60 ## Logging The Bitnami InfluxDB (TM) Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs influxdb +docker logs influxdb ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -338,7 +337,7 @@ Bitnami provides up-to-date versions of InfluxDB (TM), including security patche #### Step 1: Get the updated image ```console -$ docker pull bitnami/influxdb:latest +docker pull bitnami/influxdb:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/influxdb:latest`. @@ -348,31 +347,31 @@ or if you're using Docker Compose, update the value of the image property to `bi Stop the currently running container using the command ```console -$ docker stop influxdb +docker stop influxdb ``` or using Docker Compose: ```console -$ docker-compose stop influxdb +docker-compose stop influxdb ``` Next, take a snapshot of the persistent volume `/path/to/influxdb-persistence` using: ```console -$ rsync -a /path/to/influxdb-persistence /path/to/influxdb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/influxdb-persistence /path/to/influxdb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v influxdb +docker rm -v influxdb ``` or using Docker Compose: ```console -$ docker-compose rm -v influxdb +docker-compose rm -v influxdb ``` #### Step 4: Run the new image @@ -380,13 +379,13 @@ $ docker-compose rm -v influxdb Re-create your container from the new image. ```console -$ docker run --name influxdb bitnami/influxdb:latest +docker run --name influxdb bitnami/influxdb:latest ``` or using Docker Compose: ```console -$ docker-compose up influxdb +docker-compose up influxdb ``` ## Contributing @@ -405,7 +404,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/jaeger/README.md b/bitnami/jaeger/README.md index 5f6d0915987b..6cee52dc08c5 100644 --- a/bitnami/jaeger/README.md +++ b/bitnami/jaeger/README.md @@ -6,12 +6,10 @@ [Overview of jaeger](https://www.jaegertracing.io/) - - ## TL;DR ```console -$ docker run --name v bitnami/jaeger:latest +docker run --name v bitnami/jaeger:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Jaeger Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jaeger). ```console -$ docker pull bitnami/jaeger:latest +docker pull bitnami/jaeger:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jaeger/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jaeger:[TAG] +docker pull bitnami/jaeger:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +62,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `jaeger-all-in-one --help` you can follow the example below: ```console -$ docker run --rm --name jaeger bitnami/jaeger:latest --help +docker run --rm --name jaeger bitnami/jaeger:latest --help ``` Check the [official jaeger documentation](https://www.jaegertracing.io//docs) for more information. @@ -85,7 +83,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/jasperreports/README.md b/bitnami/jasperreports/README.md index 8cb9580371b2..75c5f674acb6 100644 --- a/bitnami/jasperreports/README.md +++ b/bitnami/jasperreports/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jasperreports/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jasperreports/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -26,7 +26,7 @@ $ docker-compose up -d - All Bitnami images available in Docker Hub are signed with [Docker Content Trust (DCT)](https://docs.docker.com/engine/security/trust/content_trust/). You can use `DOCKER_CONTENT_TRUST=1` to verify the integrity of the images. - Bitnami container images are released on a regular basis with the latest distribution packages available. -# How to deploy JasperReports Server in Kubernetes? +## How to deploy JasperReports Server in Kubernetes? Deploying Bitnami applications as Helm Charts is the easiest way to get started with our applications on Kubernetes. Read more about the installation in the [Bitnami JasperReports Chart GitHub repository](https://github.com/bitnami/charts/tree/master/bitnami/jasperreports). @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami JasperReports Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jasperreports). ```console -$ docker pull bitnami/jasperreports:latest +docker pull bitnami/jasperreports:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jasperreports/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jasperreports:[TAG] +docker pull bitnami/jasperreports:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +75,8 @@ JasperReports requires access to a MySQL or MariaDB database to store informatio The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/jasperreports/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jasperreports/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jasperreports/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Provide jasper specific file config @@ -110,14 +110,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create jasperreports-network +docker network create jasperreports-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_jasperreports \ --env MARIADB_PASSWORD=bitnami \ @@ -130,8 +130,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for JasperReports persistence and launch the container ```console -$ docker volume create --name jasperreports_data -$ docker run -d --name jasperreports \ +docker volume create --name jasperreports_data +docker run -d --name jasperreports \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env JASPERREPORTS_DATABASE_USER=bn_jasperreports \ @@ -185,13 +185,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create jasperreports-network +docker network create jasperreports-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_jasperreports \ --env MARIADB_PASSWORD=bitnami \ @@ -204,7 +204,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the JasperReports container with host volumes ```console -$ docker run -d --name jasperreports \ +docker run -d --name jasperreports \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env JASPERREPORTS_DATABASE_USER=bn_jasperreports \ @@ -234,7 +234,7 @@ When you start the JasperReports image, you can adjust the configuration of the - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name jasperreports -p 80:8080 -p 443:8443 \ + docker run -d --name jasperreports -p 80:8080 -p 443:8443 \ --env JASPERREPORTS_PASSWORD=my_password \ --network jasperreports-tier \ --volume /path/to/jasperreports-persistence:/bitnami \ @@ -243,14 +243,14 @@ When you start the JasperReports image, you can adjust the configuration of the Available environment variables: -##### User and Site configuration +#### User and Site configuration - `JASPERREPORTS_USERNAME`: JasperReports application username. Default: **jasperadmin** - `JASPERREPORTS_PASSWORD`: JasperReports application password. Default: **bitnami** - `JASPERREPORTS_EMAIL`: JasperReports application email. Default: **user@example.com** - `JASPERREPORTS_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. This is necessary in case you use a database that already has JasperReports data. Default: **no** -##### Database connection configuration +#### Database connection configuration - `JASPERREPORTS_DATABASE_TYPE`: Database type to be used for the JasperReports installation. Allowed values: `mariadb`, `mysql`, `postgresql`. Default: **mariadb** - `JASPERREPORTS_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** @@ -260,7 +260,7 @@ Available environment variables: - `JASPERREPORTS_DATABASE_PASSWORD`: Database password that JasperReports will use to connect with the database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for JasperReports using mysql-client +#### Create a database for JasperReports using mysql-client - `MYSQL_CLIENT_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** - `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the MariaDB or MySQL server. Default: **3306** @@ -275,7 +275,7 @@ Available environment variables: - `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure JasperReports to send email using SMTP you can set the following environment variables: @@ -286,9 +286,10 @@ To configure JasperReports to send email using SMTP you can set the following en - `JASPERREPORTS_SMTP_PROTOCOL`: If specified, SMTP protocol to use. Allowed values: *smtp*, *smtps*. Default: **smtp**. - `JASPERREPORTS_SMTP_EMAIL`: Custom email address for the 'From:' field. If not specified, the `JASPERREPORTS_SMTP_USER` value is used. -##### JasperReports base URL configuration +#### JasperReports base URL configuration + +- `JASPERREPORTS_USE_ROOT_URL`: JasperReports application default URL. Default: **false** at . if **true**. -- `JASPERREPORTS_USE_ROOT_URL`: JasperReports application default URL. Default: **false** at http://example.com/jasperserver. http://example.com/ if **true**. #### Examples ##### SMTP configuration using a Gmail account @@ -315,7 +316,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name jasperreports -p 80:8080 -p 443:8443 \ + docker run -d --name jasperreports -p 80:8080 -p 443:8443 \ --env JASPERREPORTS_DATABASE_USER=bn_jasperreports \ --env JASPERREPORTS_DATABASE_NAME=bitnami_jasperreports \ --env JASPERREPORTS_SMTP_HOST=smtp.gmail.com \ @@ -351,7 +352,7 @@ The Bitnami JasperReports container supports connecting the JasperReports applic - For manual execution: ```console - $ docker run -d --name jasperreports\ + docker run -d --name jasperreports\ -p 8080:8080 -p 8443:8443 \ --network jasperreports-network \ --env JASPERREPORTS_DATABASE_HOST=mariadb_host \ @@ -370,13 +371,13 @@ In case the database already contains data from a previous JasperReports install The Bitnami JasperReports Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs jasperreports +docker logs jasperreports ``` Or using Docker Compose: ```console -$ docker-compose logs jasperreports +docker-compose logs jasperreports ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -390,13 +391,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop jasperreports +docker stop jasperreports ``` Or using Docker Compose: ```console -$ docker-compose stop jasperreports +docker-compose stop jasperreports ``` #### Step 2: Run the backup command @@ -404,7 +405,7 @@ $ docker-compose stop jasperreports We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/jasperreports-backups:/backups --volumes-from jasperreports bitnami/minideb \ +docker run --rm -v /path/to/jasperreports-backups:/backups --volumes-from jasperreports bitnami/minideb \ cp -a /bitnami/jasperreports /backups/latest ``` @@ -415,7 +416,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -425,7 +426,7 @@ For the MariaDB database container: For the JasperReports container: ```diff - $ docker run -d --name jasperreports \ + docker run -d --name jasperreports \ ... - --volume /path/to/jasperreports-persistence:/bitnami/jasperreports \ + --volume /path/to/jasperreports-backups/latest:/bitnami/jasperreports \ @@ -434,14 +435,14 @@ For the JasperReports container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and JasperReports, 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 JasperReports container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and JasperReports, 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 JasperReports container. For the MariaDB upgrade see: The `bitnami/jasperreports:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/jasperreports:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/jasperreports/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/jasperreports:latest +docker pull bitnami/jasperreports:latest ``` #### Step 2: Stop the running container @@ -449,7 +450,7 @@ $ docker pull bitnami/jasperreports:latest Stop the currently running container using the command ```console -$ docker-compose stop jasperreports +docker-compose stop jasperreports ``` #### Step 3: Take a snapshot of the application state @@ -469,7 +470,7 @@ docker-compose rm -v jasperreports Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Contributing @@ -488,7 +489,7 @@ The Bitnami team will review any PR that is created, feel free to create a PR if New versions and releases cadence are not going to be affected. Once a new version is released in the upstream project, the Bitnami container image will be updated to use the latest version, supporting the different branches supported by the upstream project as usual. -# Notable Changes +## Notable Changes ## 7.8.0-debian-10-r275 @@ -508,7 +509,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/java/README.md b/bitnami/java/README.md index f8b4f7548c63..c38f75dedb41 100644 --- a/bitnami/java/README.md +++ b/bitnami/java/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name java bitnami/java +docker run -it --name java bitnami/java ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/java/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/java/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -55,21 +55,21 @@ The formatting convention for `prod` tags has been changed: The recommended way to get the Bitnami Java Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/java). ```console -$ docker pull bitnami/java:latest +docker pull bitnami/java:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/java/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/java:[TAG] +docker pull bitnami/java:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -79,7 +79,7 @@ $ docker build -t bitnami/APP:latest . The default work directory for the Java image is `/app`. You can mount a folder from your host here that includes your Java jar or war, and run it normally using the `java` command. ```console -$ docker run -it --name java -v /path/to/app:/app bitnami/java:latest \ +docker run -it --name java -v /path/to/app:/app bitnami/java:latest \ java -jar package.jar ``` @@ -95,22 +95,22 @@ java: **Further Reading:** - - [Java SE Documentation](https://docs.oracle.com/javase/8/docs/api/) +* [Java SE Documentation](https://docs.oracle.com/javase/8/docs/api/) ## Replace the default truststore using a custom base image In case you are replacing the default [minideb](https://github.com/bitnami/minideb) base image with a custom base image (based on Debian), it is possible to replace the default truststore located in the `/opt/bitnami/java/lib/security` folder. This is done by setting the `JAVA_EXTRA_SECURITY_DIR` docker build ARG variable, which needs to point to a location that contains a *cacerts* file that would substitute the originally bundled truststore. In the following example we will use a minideb fork that contains a custom *cacerts* file in the */bitnami/java/extra-security* folder: -- In the Dockerfile, replace `FROM docker.io/bitnami/minideb:latest` to use a custom image, defined with the `MYJAVAFORK:TAG` placeholder: +* In the Dockerfile, replace `FROM docker.io/bitnami/minideb:latest` to use a custom image, defined with the `MYJAVAFORK:TAG` placeholder: ```diff - FROM bitnami/minideb:latest + FROM MYFORK:TAG ``` -- Run `docker build` setting the value of `JAVA_EXTRA_SECURITY_DIR`. Remember to replace the `MYJAVAFORK:TAG` placeholder. +* Run `docker build` setting the value of `JAVA_EXTRA_SECURITY_DIR`. Remember to replace the `MYJAVAFORK:TAG` placeholder. -``` +```console docker build --build-arg JAVA_EXTRA_SECURITY_DIR=/bitnami/java/extra-security -t MYJAVAFORK:TAG . ``` @@ -123,7 +123,7 @@ Bitnami provides up-to-date versions of Java, including security patches, soon a #### Step 1: Get the updated image ```console -$ docker pull bitnami/java:latest +docker pull bitnami/java:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/java:latest`. @@ -131,13 +131,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v java +docker rm -v java ``` or using Docker Compose: ```console -$ docker-compose rm -v java +docker-compose rm -v java ``` #### Step 3: Run the new image @@ -145,20 +145,20 @@ $ docker-compose rm -v java Re-create your container from the new image. ```console -$ docker run --name java bitnami/java:latest +docker run --name java bitnami/java:latest ``` or using Docker Compose: ```console -$ docker-compose up java +docker-compose up java ``` ## Notable Changes ### 1.8.252-debian-10-r0, 11.0.7-debian-10-r7, and 15.0.1-debian-10-r20 -- Java distribution has been migrated from AdoptOpenJDK to OpenJDK Liberica. As part of VMware, we have an agreement with Bell Software to distribute the Liberica distribution of OpenJDK. That way, we can provide support & the latest versions and security releases for Java. +* Java distribution has been migrated from AdoptOpenJDK to OpenJDK Liberica. As part of VMware, we have an agreement with Bell Software to distribute the Liberica distribution of OpenJDK. That way, we can provide support & the latest versions and security releases for Java. ## Contributing @@ -176,7 +176,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/jenkins/README.md b/bitnami/jenkins/README.md index e6520b9b3d7c..dac7e8c44ca4 100644 --- a/bitnami/jenkins/README.md +++ b/bitnami/jenkins/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jenkins/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jenkins/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Jenkins Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jenkins). ```console -$ docker pull bitnami/jenkins:latest +docker pull bitnami/jenkins:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jenkins/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jenkins:[TAG] +docker pull bitnami/jenkins:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -73,8 +73,8 @@ $ docker build -t bitnami/APP:latest . The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/jenkins/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jenkins/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jenkins/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -84,14 +84,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create jenkins-network +docker network create jenkins-network ``` #### Step 2: Create volumes for Jenkins persistence and launch the container ```console -$ docker volume create --name jenkins_data -$ docker run -d -p 80:8080 --name jenkins \ +docker volume create --name jenkins_data +docker run -d -p 80:8080 --name jenkins \ --network jenkins-network \ --volume jenkins_data:/bitnami/jenkins \ bitnami/jenkins:latest @@ -131,13 +131,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create jenkins-network +docker network create jenkins-network ``` #### Step 2. Create the Jenkins container with host volumes ```console -$ docker run -d -p 80:8080 --name jenkins \ +docker run -d -p 80:8080 --name jenkins \ --network jenkins-network \ --volume /path/to/jenkins-persistence:/bitnami/jenkins \ bitnami/jenkins:latest @@ -149,7 +149,7 @@ $ docker run -d -p 80:8080 --name jenkins \ When you start the Jenkins 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/jenkins/docker-compose.yml) file present in this repository: +* 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/jenkins/docker-compose.yml) file present in this repository: ```yaml jenkins: @@ -159,10 +159,10 @@ When you start the Jenkins image, you can adjust the configuration of the instan ... ``` -- For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d -p 80:8080 --name jenkins \ + docker run -d -p 80:8080 --name jenkins \ --env JENKINS_PASSWORD=my_password \ --network jenkins-network \ --volume /path/to/jenkins-persistence:/bitnami/jenkins \ @@ -171,36 +171,36 @@ When you start the Jenkins image, you can adjust the configuration of the instan Available environment variables: -##### User and Site configuration +#### User and Site configuration -- `JENKINS_USERNAME`: Jenkins admin username. Default: **user** -- `JENKINS_PASSWORD`: Jenkins admin password. Default: **bitnami** -- `JENKINS_EMAIL`: Jenkins admin email. Default: **user@example.com** -- `JENKINS_HOME`: Jenkins home directory. Default: **/bitnami/jenkins/home** -- `JENKINS_HTTP_PORT_NUMBER`: Port used by Jenkins for HTTP. Default: **8080** -- `JENKINS_HTTPS_PORT_NUMBER`: Port used by Jenkins for HTTPS. Default: **8443** -- `JENKINS_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by Jenkins to generate URLs and links when accessing using HTTP. Default: **80** -- `JENKINS_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by Jenkins to generate URLs and links when accessing using HTTPS. Default: **443** -- `JENKINS_JNLP_PORT_NUMBER`: Port used by Jenkins for JNLP. Default: **50000** -- `JENKINS_FORCE_HTTPS`: Enable serving Jenkins only through HTTPS. Default: **no** -- `JENKINS_SKIP_BOOTSTRAP`: Skip performing the initial bootstrapping. Default: **no** +* `JENKINS_USERNAME`: Jenkins admin username. Default: **user** +* `JENKINS_PASSWORD`: Jenkins admin password. Default: **bitnami** +* `JENKINS_EMAIL`: Jenkins admin email. Default: **user@example.com** +* `JENKINS_HOME`: Jenkins home directory. Default: **/bitnami/jenkins/home** +* `JENKINS_HTTP_PORT_NUMBER`: Port used by Jenkins for HTTP. Default: **8080** +* `JENKINS_HTTPS_PORT_NUMBER`: Port used by Jenkins for HTTPS. Default: **8443** +* `JENKINS_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by Jenkins to generate URLs and links when accessing using HTTP. Default: **80** +* `JENKINS_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by Jenkins to generate URLs and links when accessing using HTTPS. Default: **443** +* `JENKINS_JNLP_PORT_NUMBER`: Port used by Jenkins for JNLP. Default: **50000** +* `JENKINS_FORCE_HTTPS`: Enable serving Jenkins only through HTTPS. Default: **no** +* `JENKINS_SKIP_BOOTSTRAP`: Skip performing the initial bootstrapping. Default: **no** -##### JAVA configuration +#### JAVA configuration -- `JAVA_OPTS`: Customize JVM parameters. No defaults. +* `JAVA_OPTS`: Customize JVM parameters. No defaults. ## Logging The Bitnami Jenkins Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs jenkins +docker logs jenkins ``` Or using Docker Compose: ```console -$ docker-compose logs jenkins +docker-compose logs jenkins ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -213,15 +213,15 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container -- For docker-compose: `$ docker-compose stop jenkins` -- For manual execution: `$ docker stop jenkins` +* For docker-compose: `docker-compose stop jenkins` +* For manual execution: `docker stop jenkins` #### Step 2: Run the backup command We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/jenkins-backups:/backups --volumes-from jenkins bitnami/bitnami-shell \ +docker run --rm -v /path/to/jenkins-backups:/backups --volumes-from jenkins bitnami/bitnami-shell \ cp -a /bitnami/jenkins /backups/latest ``` @@ -230,7 +230,7 @@ $ docker run --rm -v /path/to/jenkins-backups:/backups --volumes-from jenkins bi Restoring a backup is as simple as mounting the backup as volumes in the containers. ```diff - $ docker run -d --name jenkins \ + docker run -d --name jenkins \ ... - --volume /path/to/jenkins-persistence:/bitnami/jenkins \ + --volume /path/to/jenkins-backups/latest:/bitnami/jenkins \ @@ -241,16 +241,16 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain Bitnami provides up-to-date versions of Jenkins, 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 Jenkins container. -### Step 1. Get the updated images: +### Step 1. Get the updated images ```console -$ docker pull bitnami/jenkins:latest +docker pull bitnami/jenkins:latest ``` ### Step 2. Stop your container -- For docker-compose: `$ docker-compose stop jenkins` -- For manual execution: `$ docker stop jenkins` +* For docker-compose: `docker-compose stop jenkins` +* For manual execution: `docker stop jenkins` ### Step 3. Take a snapshot of the application state @@ -258,13 +258,13 @@ Follow the steps in [Backing up your container](#backing-up-your-container) to t ### Step 4. Remove the stopped container -- For docker-compose: `$ docker-compose rm -v jenkins` -- For manual execution: `$ docker rm -v jenkins` +* For docker-compose: `docker-compose rm -v jenkins` +* For manual execution: `docker rm -v jenkins` ### Step 5. Run the new image -- For docker-compose: `$ docker-compose up jenkins` -- For manual execution ([mount](#mount-persistent-folders-manually) the directories if needed): `docker run --name jenkins bitnami/jenkins:latest` +* For docker-compose: `docker-compose up jenkins` +* For manual execution mount the directories if needed): `docker run --name jenkins bitnami/jenkins:latest` ## Customize this image @@ -282,7 +282,7 @@ FROM bitnami/jenkins Here is an example of extending the image with the following modifications: -- Install the `vim` editor +* Install the `vim` editor ```Dockerfile FROM bitnami/jenkins @@ -299,22 +299,22 @@ USER 1001 To download and install a set of plugins and their dependencies, use the [Plugin Installation Manager tool](https://github.com/jenkinsci/plugin-installation-manager-tool). You can find information about how to use this tool in the guide below: -- [Getting Started with Plugin Installation Manager tool](https://github.com/jenkinsci/plugin-installation-manager-tool#getting-started) +* [Getting Started with Plugin Installation Manager tool](https://github.com/jenkinsci/plugin-installation-manager-tool#getting-started) Alternatively, it is possible to install plugins using the following env variables: -- `JENKINS_PLUGINS`: Comma-separated list of Jenkins plugins to be installed during the first boot. -- `JENKINS_PLUGINS_LATEST`: If set to false, install the minimum required version of the plugins in `JENKINS_PLUGINS`. Default: **true** -- `JENKINS_PLUGINS_LATEST_SPECIFIED`: If set to true, install the latest dependencies of any plugin that is requested to have the latest version. Default: **false** -- `JENKINS_OVERRIDE_PLUGINS`: If set to true, existing plugins in the persisted volume will be removed and will force plugins to be reinstalled. Default: **false** -- `JENKINS_SKIP_IMAGE_PLUGINS`: If set to true, skip the installation of image built-in plugins. Default: **false** +* `JENKINS_PLUGINS`: Comma-separated list of Jenkins plugins to be installed during the first boot. +* `JENKINS_PLUGINS_LATEST`: If set to false, install the minimum required version of the plugins in `JENKINS_PLUGINS`. Default: **true** +* `JENKINS_PLUGINS_LATEST_SPECIFIED`: If set to true, install the latest dependencies of any plugin that is requested to have the latest version. Default: **false** +* `JENKINS_OVERRIDE_PLUGINS`: If set to true, existing plugins in the persisted volume will be removed and will force plugins to be reinstalled. Default: **false** +* `JENKINS_SKIP_IMAGE_PLUGINS`: If set to true, skip the installation of image built-in plugins. Default: **false** ### Passing JVM parameters You might need to customize the JVM running Jenkins, typically to pass system properties or to tweak heap memory settings. Use the `JAVA_OPTS` environment variable for this purpose: ```console -$ docker run -d --name jenkins -p 80:8080 \ +docker run -d --name jenkins -p 80:8080 \ --env JAVA_OPTS=-Dhudson.footerURL=http://mycompany.com \ bitnami/jenkins:latest ``` @@ -323,14 +323,14 @@ $ docker run -d --name jenkins -p 80:8080 \ By default, when running this image, Bitnami implement some logic in order to configure it for working out of the box. This initialization consists of creating the user and password, preparing data to persist, configuring permissions, creating the `JENKINS_HOME`, etc. You can skip it in two ways: -- Setting the `JENKINS_SKIP_BOOTSTRAP` environment variable to `yes`. -- Attaching a volume with a custom `JENKINS_HOME` that contains a functional Jenkins installation. +* Setting the `JENKINS_SKIP_BOOTSTRAP` environment variable to `yes`. +* Attaching a volume with a custom `JENKINS_HOME` that contains a functional Jenkins installation. ### Adding files/directories to the image You can include files to the image automatically. All files/directories located in `/usr/share/jenkins/ref` are copied to `/bitnami/jenkins/home` (default Jenkins home directory). -#### Examples: +#### Examples ##### Run groovy scripts at Jenkins start up @@ -339,16 +339,16 @@ You can create custom groovy scripts and make Jenkins run them at start up. However, using this feature will disable the default configuration done by the Bitnami scripts. This is intended to customize the Jenkins configuration by code. ```console -$ mkdir jenkins-init.groovy.d -$ echo "println '--> hello world'" > jenkins-init.groovy.d/AA_hello.groovy -$ echo "println '--> bye world'" > jenkins-init.groovy.d/BA_bye.groovy +mkdir jenkins-init.groovy.d +echo "println '--> hello world'" > jenkins-init.groovy.d/AA_hello.groovy +echo "println '--> bye world'" > jenkins-init.groovy.d/BA_bye.groovy -$ docker run -d -p 80:8080 --name jenkins \ +docker run -d -p 80:8080 --name jenkins \ --env "JENKINS_SKIP_BOOTSTRAP=yes" \ --volume "$(pwd)/jenkins-init.groovy.d:/usr/share/jenkins/ref/init.groovy.d" \ bitnami/jenkins:latest -$ docker logs jenkins | grep world +docker logs jenkins | grep world --> hello world! --> bye world! ``` @@ -358,7 +358,7 @@ $ docker logs jenkins | grep world You can use your our own `config.xml` file. However, using this feature will disable the default configuration generated by the Bitnami scripts. This is intended to customize the Jenkins configuration by code. ```console -$ docker run -d -p 80:8080 --name jenkins \ +docker run -d -p 80:8080 --name jenkins \ --env "JENKINS_SKIP_BOOTSTRAP=yes" \ --volume "$(pwd)/config.xml:/usr/share/jenkins/ref/config.xml" \ bitnami/jenkins:latest @@ -370,45 +370,45 @@ $ docker run -d -p 80:8080 --name jenkins \ ### 2.346.3-debian-11-r3 -- The preinstalled plugins were removed. +* The preinstalled plugins were removed. ### 2.332.2-debian-10-r21 -- HTTPS and HTTP support are enabled by default. -- `JENKINS_ENABLE_HTTPS` has been renamed to `JENKINS_FORCE_HTTPS`. +* HTTPS and HTTP support are enabled by default. +* `JENKINS_ENABLE_HTTPS` has been renamed to `JENKINS_FORCE_HTTPS`. ### 2.277.4-debian-10-r19 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- Only the Jenkins Home directory is persisted. -- The `install-plugins.sh` script has been deprecated. Instead use the Plugin Installation Manager Tool as explained in the [Installing Plugins](#installing-plugins) section. -- The `DISABLE_JENKINS_INITIALIZATION` environment variable was renamed to `JENKINS_SKIP_BOOTSTRAP`. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* Only the Jenkins Home directory is persisted. +* The `install-plugins.sh` script has been deprecated. Instead use the Plugin Installation Manager Tool as explained in the [Installing Plugins](#installing-plugins) section. +* The `DISABLE_JENKINS_INITIALIZATION` environment variable was renamed to `JENKINS_SKIP_BOOTSTRAP`. ### 2.263.3-debian-10-rXX -- The deprecated plugins below are not included in the image by default anymore: - - [GitHub Organization Folder](https://plugins.jenkins.io/github-organization-folder). - - [Pipeline: Declarative Agent API](https://plugins.jenkins.io/pipeline-model-declarative-agent). +* The deprecated plugins below are not included in the image by default anymore: + * [GitHub Organization Folder](https://plugins.jenkins.io/github-organization-folder). + * [Pipeline: Declarative Agent API](https://plugins.jenkins.io/pipeline-model-declarative-agent). ### 2.222.1-debian-10-r17 -- Java distribution has been migrated from AdoptOpenJDK to OpenJDK Liberica. As part of VMware, we have an agreement with Bell Software to distribute the Liberica distribution of OpenJDK. That way, we can provide support & the latest versions and security releases for Java. +* Java distribution has been migrated from AdoptOpenJDK to OpenJDK Liberica. As part of VMware, we have an agreement with Bell Software to distribute the Liberica distribution of OpenJDK. That way, we can provide support & the latest versions and security releases for Java. ### 2.204.4-debian-10-r3 -- The Jenkins container has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Jenkins service was started as the `jenkins` user. From now on, both the container and the Jenkins service run as user `jenkins` (`uid=1001`). You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. -- Consequences: - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating your Jenkins data ensuring the `jenkins` user has the appropriate permissions. - - No "privileged" actions are allowed anymore. +* The Jenkins container has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Jenkins service was started as the `jenkins` user. From now on, both the container and the Jenkins service run as user `jenkins` (`uid=1001`). You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* Consequences: + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating your Jenkins data ensuring the `jenkins` user has the appropriate permissions. + * No "privileged" actions are allowed anymore. ### 2.121.2-ol-7-r14 / 2.121.2-debian-9-r18 -- Use Jetty instead of Tomcat as web server. +* Use Jetty instead of Tomcat as web server. ### 2.107.1-r0 -- The Jenkins container has been migrated to the LTS version. From now on, this repository will only track long term support releases from [Jenkins](https://jenkins.io/changelog-stable/). +* The Jenkins container has been migrated to the LTS version. From now on, this repository will only track long term support releases from [Jenkins](https://jenkins.io/changelog-stable/). ## Contributing @@ -426,7 +426,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/jmx-exporter/README.md b/bitnami/jmx-exporter/README.md index f7d9801dc7f5..58e7298e794b 100644 --- a/bitnami/jmx-exporter/README.md +++ b/bitnami/jmx-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name jmx-exporter bitnami/jmx-exporter:latest +docker run --name jmx-exporter bitnami/jmx-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami JMX Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jmx-exporter). ```console -$ docker pull bitnami/jmx-exporter:latest +docker pull bitnami/jmx-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jmx-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jmx-exporter:[TAG] +docker pull bitnami/jmx-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create jmx-exporter-network --driver bridge +docker network create jmx-exporter-network --driver bridge ``` #### Step 2: Launch the jmx-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create jmx-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `jmx-exporter-network` network. ```console -$ docker run --name jmx-exporter-node1 --network jmx-exporter-network bitnami/jmx-exporter:latest +docker run --name jmx-exporter-node1 --network jmx-exporter-network bitnami/jmx-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration options in the [JMX Prometheus Exporter documentation The Bitnami JMX Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs jmx-exporter +docker logs jmx-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of JMX Exporter, including security patches #### Step 1: Get the updated image ```console -$ docker pull bitnami/jmx-exporter:latest +docker pull bitnami/jmx-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/jmx-exporter:latest Stop the currently running container using the command ```console -$ docker stop jmx-exporter +docker stop jmx-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v jmx-exporter +docker rm -v jmx-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v jmx-exporter Re-create your container from the new image. ```console -$ docker run --name jmx-exporter bitnami/jmx-exporter:latest +docker run --name jmx-exporter bitnami/jmx-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/joomla/README.md b/bitnami/joomla/README.md index 8dc18d882dd4..0aed071a3793 100644 --- a/bitnami/joomla/README.md +++ b/bitnami/joomla/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/joomla/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/joomla/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -51,21 +51,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Joomla! Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/joomla). ```console -$ docker pull bitnami/joomla:latest +docker pull bitnami/joomla:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/joomla/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/joomla:[TAG] +docker pull bitnami/joomla:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ### How to use this image @@ -77,8 +77,8 @@ Joomla! requires access to a MySQL or MariaDB database to store information. We' The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/joomla/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/joomla/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/joomla/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` #### Using the Docker Command Line @@ -88,14 +88,14 @@ If you want to run the application manually instead of using `docker-compose`, t ##### Step 1: Create a network ```console -$ docker network create joomla-network +docker network create joomla-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_joomla \ --env MARIADB_PASSWORD=bitnami \ @@ -108,8 +108,8 @@ $ docker run -d --name mariadb \ ##### Step 3: Create volumes for Joomla! persistence and launch the container ```console -$ docker volume create --name joomla_data -$ docker run -d --name joomla \ +docker volume create --name joomla_data +docker run -d --name joomla \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env JOOMLA_DATABASE_USER=bn_joomla \ @@ -163,13 +163,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi ##### Step 1: Create a network (if it does not exist) ```console -$ docker network create joomla-network +docker network create joomla-network ``` ##### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_joomla \ --env MARIADB_PASSWORD=bitnami \ @@ -182,7 +182,7 @@ $ docker run -d --name mariadb \ ##### Step 3. Create the Joomla! container with host volumes ```console -$ docker run -d --name joomla \ +docker run -d --name joomla \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env JOOMLA_DATABASE_USER=bn_joomla \ @@ -199,7 +199,7 @@ $ docker run -d --name joomla \ When you start the Joomla! 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/joomla/docker-compose.yml) file present in this repository: +* 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/joomla/docker-compose.yml) file present in this repository: ```yaml joomla: @@ -209,10 +209,10 @@ joomla: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name joomla -p 80:8080 -p 443:8443 \ + docker run -d --name joomla -p 80:8080 -p 443:8443 \ --env JOOMLA_PASSWORD=my_password \ --network joomla-tier \ --volume /path/to/joomla-persistence:/bitnami \ @@ -221,74 +221,74 @@ joomla: Available environment variables: -###### User and Site configuration +#### User and Site configuration -- `JOOMLA_USERNAME`: Joomla! application username. Default: **user** -- `JOOMLA_PASSWORD`: Joomla! application password. Default: **bitnami** -- `JOOMLA_EMAIL`: Joomla! application email. Default: **user@example.com** -- `JOOMLA_SITE_NAME`: Joomla! site name. Default: **New Site** -- `JOOMLA_SECRET`: Secret value for data encryption (auto-generated if not provided). No defaults. -- `JOOMLA_LOAD_SAMPLE_DATA`: Load Joomla sample data. Default: **yes** -- `JOOMLA_SKIP_BOOTSTRAP`: Do not initialize the Joomla! database for a new deployment. This is necessary in case you use a database that already has Joomla! data. Default: **no** +* `JOOMLA_USERNAME`: Joomla! application username. Default: **user** +* `JOOMLA_PASSWORD`: Joomla! application password. Default: **bitnami** +* `JOOMLA_EMAIL`: Joomla! application email. Default: **user@example.com** +* `JOOMLA_SITE_NAME`: Joomla! site name. Default: **New Site** +* `JOOMLA_SECRET`: Secret value for data encryption (auto-generated if not provided). No defaults. +* `JOOMLA_LOAD_SAMPLE_DATA`: Load Joomla sample data. Default: **yes** +* `JOOMLA_SKIP_BOOTSTRAP`: Do not initialize the Joomla! database for a new deployment. This is necessary in case you use a database that already has Joomla! data. Default: **no** -###### Use an existing database +#### Use an existing database -- `JOOMLA_DATABASE_TYPE`: Database type. Valid values: *mariadb*, *mysqli*. Default: **mariadb** -- `JOOMLA_DATABASE_HOST`: Hostname for database server. Default: **mariadb** -- `JOOMLA_DATABASE_PORT_NUMBER`: Port used by database server. Default: **3306** -- `JOOMLA_DATABASE_NAME`: Database name that Joomla! will use to connect with the database. Default: **bitnami_joomla** -- `JOOMLA_DATABASE_USER`: Database user that Joomla! will use to connect with the database. Default: **bn_joomla** -- `JOOMLA_DATABASE_PASSWORD`: Database password that Joomla! will use to connect with the database. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `JOOMLA_DATABASE_TYPE`: Database type. Valid values: *mariadb*, *mysqli*. Default: **mariadb** +* `JOOMLA_DATABASE_HOST`: Hostname for database server. Default: **mariadb** +* `JOOMLA_DATABASE_PORT_NUMBER`: Port used by database server. Default: **3306** +* `JOOMLA_DATABASE_NAME`: Database name that Joomla! will use to connect with the database. Default: **bitnami_joomla** +* `JOOMLA_DATABASE_USER`: Database user that Joomla! will use to connect with the database. Default: **bn_joomla** +* `JOOMLA_DATABASE_PASSWORD`: Database password that Joomla! will use to connect with the database. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -###### Create a database for Joomla! using mysql-client +#### Create a database for Joomla! using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -###### SMTP Configuration +#### SMTP Configuration To configure Joomla! to send email using SMTP you can set the following environment variables: -- `JOOMLA_SMTP_HOST`: SMTP host. -- `JOOMLA_SMTP_PORT`: SMTP port. -- `JOOMLA_SMTP_USER`: SMTP account user. -- `JOOMLA_SMTP_PASSWORD`: SMTP account password. -- `JOOMLA_SMTP_PROTOCOL`: SMTP protocol. -- `JOOMLA_SMTP_SENDER_EMAIL`: SMTP sender email. -- `JOOMLA_SMTP_SENDER_NAME`: SMTP sender name. +* `JOOMLA_SMTP_HOST`: SMTP host. +* `JOOMLA_SMTP_PORT`: SMTP port. +* `JOOMLA_SMTP_USER`: SMTP account user. +* `JOOMLA_SMTP_PASSWORD`: SMTP account password. +* `JOOMLA_SMTP_PROTOCOL`: SMTP protocol. +* `JOOMLA_SMTP_SENDER_EMAIL`: SMTP sender email. +* `JOOMLA_SMTP_SENDER_NAME`: SMTP sender name. -###### PHP configuration +#### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. -###### Example +#### 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/joomla/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/joomla/docker-compose.yml) file present in this repository: ```yaml joomla: @@ -304,10 +304,11 @@ This would be an example of SMTP configuration using a Gmail account: - JOOMLA_SMTP_PROTOCOL=tls ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name joomla -p 80:8080 -p 443:8443 \ + docker run -d --name joomla -p 80:8080 -p 443:8443 \ --env JOOMLA_DATABASE_USER=bn_joomla \ --env JOOMLA_DATABASE_NAME=bitnami_joomla \ --env JOOMLA_SMTP_HOST=smtp.gmail.com \ @@ -337,13 +338,13 @@ Bear in mind that in the example above `es_ES.UTF-8 UTF-8` is the locale needed The Bitnami Joomla! Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs joomla +docker logs joomla ``` Or using Docker Compose: ```console -$ docker-compose logs joomla +docker-compose logs joomla ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -357,13 +358,13 @@ To backup your data, configuration and logs, follow these simple steps: ##### Step 1: Stop the currently running container ```console -$ docker stop joomla +docker stop joomla ``` Or using Docker Compose: ```console -$ docker-compose stop joomla +docker-compose stop joomla ``` ##### Step 2: Run the backup command @@ -371,7 +372,7 @@ $ docker-compose stop joomla We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/joomla-backups:/backups --volumes-from joomla busybox \ +docker run --rm -v /path/to/joomla-backups:/backups --volumes-from joomla busybox \ cp -a /bitnami/joomla /backups/latest ``` @@ -382,7 +383,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -392,7 +393,7 @@ For the MariaDB database container: For the Joomla! container: ```diff - $ docker run -d --name joomla \ + docker run -d --name joomla \ ... - --volume /path/to/joomla-persistence:/bitnami/joomla \ + --volume /path/to/joomla-backups/latest:/bitnami/joomla \ @@ -404,12 +405,12 @@ For the Joomla! container: > **NOTE:** Application upgrades should be done manually inside the docker container following the [official documentation](https://docs.joomla.org/J3.x:Updating_from_an_existing_version). > As an alternative, you can try upgrading using an updated Docker image. However, any data from the Joomla! container will be lost and you will have to reinstall all the plugins and themes you manually added. -Bitnami provides up-to-date versions of MariaDB and Joomla!, 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 Joomla! container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and Joomla!, 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 Joomla! container. For the MariaDB upgrade see: ##### Step 1: Get the updated image ```console -$ docker pull bitnami/joomla:latest +docker pull bitnami/joomla:latest ``` ##### Step 2: Stop the running container @@ -417,7 +418,7 @@ $ docker pull bitnami/joomla:latest Stop the currently running container using the command ```console -$ docker-compose stop joomla +docker-compose stop joomla ``` ##### Step 3: Take a snapshot of the application state @@ -437,7 +438,7 @@ docker-compose rm -v joomla Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ### Customize this image @@ -448,10 +449,10 @@ The Bitnami Joomla! Docker image is designed to be extended so it can be used as Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -463,9 +464,9 @@ FROM bitnami/joomla 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/joomla @@ -508,18 +509,18 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ### 3.9.20-debian-10-r0 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The Joomla! container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Joomla! site by exporting its content, and importing it on a new Joomla! container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The Joomla! container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Joomla! site by exporting its content, and importing it on a new Joomla! container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. ### 3.9.6-debian-9-r12 and 3.9.6-ol-7-r14 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing diff --git a/bitnami/jruby/README.md b/bitnami/jruby/README.md index 7fe7bf6a1e82..5d948d2ab4ce 100644 --- a/bitnami/jruby/README.md +++ b/bitnami/jruby/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name jruby bitnami/jruby:latest +docker run -it --name jruby bitnami/jruby:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jruby/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jruby/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami JRuby Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jruby). ```console -$ docker pull bitnami/jruby:latest +docker pull bitnami/jruby:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jruby/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jruby:[TAG] +docker pull bitnami/jruby:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Entering the JRuby Interactive Console @@ -65,12 +65,12 @@ $ docker build -t bitnami/APP:latest . By default, running this image will drop you into the JRuby Interactive Console (`jirb`), where you can interactively test and try things out in JRuby. ```console -$ docker run -it --name jruby bitnami/jruby:latest +docker run -it --name jruby bitnami/jruby:latest ``` **Further Reading:** - - [JRuby Interactive Console Documentation](https://github.com/jruby/jruby/wiki/GettingStarted#jirb-ruby-interactive-console) +* [JRuby Interactive Console Documentation](https://github.com/jruby/jruby/wiki/GettingStarted#jirb-ruby-interactive-console) ## Configuration @@ -79,7 +79,7 @@ $ docker run -it --name jruby bitnami/jruby:latest The default work directory for the JRuby image is `/app`. You can mount a folder from your host here that includes your Ruby script, and run it normally using the `ruby` command. ```console -$ docker run -it --name jruby -v /path/to/app:/app bitnami/jruby:latest \ +docker run -it --name jruby -v /path/to/app:/app bitnami/jruby:latest \ ruby script.rb ``` @@ -88,7 +88,7 @@ $ docker run -it --name jruby -v /path/to/app:/app bitnami/jruby:latest \ If your Ruby app has a `Gemfile` defining your app's dependencies and start script, you can install the dependencies before running your app. ```console -$ docker run -it --name jruby -v /path/to/app:/app bitnami/jruby:latest \ +docker run -it --name jruby -v /path/to/app:/app bitnami/jruby:latest \ sh -c "bundle install && jruby script.rb" ``` @@ -105,8 +105,8 @@ jruby: **Further Reading:** - - [rubygems.org](https://rubygems.org/) - - [bundler.io](http://bundler.io/) +* [rubygems.org](https://rubygems.org/) +* [bundler.io](http://bundler.io/) ### Accessing a Ruby app running a web server @@ -128,20 +128,20 @@ end To access your web server from your host machine you can ask Docker to map a random port on your host to port `3000` inside the container. ```console -$ docker run -it --name jruby -P bitnami/jruby:latest +docker run -it --name jruby -P bitnami/jruby:latest ``` Run `docker port` to determine the random port Docker assigned. ```console -$ docker port jruby +docker port jruby 3000/tcp -> 0.0.0.0:32769 ``` You can also manually specify the port you want forwarded from your host to the container. ```console -$ docker run -it --name jruby -p 8080:3000 bitnami/jruby:latest +docker run -it --name jruby -p 8080:3000 bitnami/jruby:latest ``` Access your web server in the browser by navigating to `http://localhost:8080`. @@ -157,7 +157,7 @@ We may want to make our Ruby web server only accessible via an nginx web server. #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` or using Docker Compose: @@ -198,7 +198,7 @@ Copy the virtual host above, saving the file somewhere on your host. We will mou #### Step 3: Run the JRuby image with a specific name ```console -$ docker run -it --name myapp \ +docker run -it --name myapp \ --network app-tier \ -v /path/to/app:/app \ bitnami/jruby:latest jruby script.rb @@ -220,7 +220,7 @@ myapp: #### Step 4: Run the nginx image ```console -$ docker run -it \ +docker run -it \ -v /path/to/vhost.conf:/bitnami/nginx/conf/vhosts/yourapp.conf \ --network app-tier \ bitnami/nginx:latest @@ -247,7 +247,7 @@ Bitnami provides up-to-date versions of JRuby, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/jruby:latest +docker pull bitnami/jruby:latest ``` #### Step 2: Stop the running container @@ -255,13 +255,13 @@ $ docker pull bitnami/jruby:latest Stop the currently running container using the command ```console -$ docker stop jruby +docker stop jruby ``` #### Step 3: Remove the currently running container ```console -$ docker-compose rm -v jruby +docker-compose rm -v jruby ``` #### Step 4: Run the new image @@ -269,13 +269,13 @@ $ docker-compose rm -v jruby Re-create your container from the new image. ```console -$ docker run --name jruby bitnami/jruby:latest +docker run --name jruby bitnami/jruby:latest ``` or using Docker Compose: ```console -$ docker-compose up ruby +docker-compose up ruby ``` ## Contributing @@ -294,7 +294,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/jsonnet/README.md b/bitnami/jsonnet/README.md index a7c9d882c75b..da129c9af57a 100644 --- a/bitnami/jsonnet/README.md +++ b/bitnami/jsonnet/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name jsonnet bitnami/jsonnet:latest +docker run --name jsonnet bitnami/jsonnet:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Git Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jsonnet). ```console -$ docker pull bitnami/jsonnet:latest +docker pull bitnami/jsonnet:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jsonnet/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jsonnet:[TAG] +docker pull bitnami/jsonnet:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to evaluate jsonnet code: ```console -$ docker run --name jsonnet bitnami/jsonnet:latest -e "{hello: 'world'}" +docker run --name jsonnet bitnami/jsonnet:latest -e "{hello: 'world'}" ``` ## Contributing @@ -87,7 +87,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/jupyter-base-notebook/README.md b/bitnami/jupyter-base-notebook/README.md index d46c4551dfea..05979b88e67c 100644 --- a/bitnami/jupyter-base-notebook/README.md +++ b/bitnami/jupyter-base-notebook/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name jupyter-base-notebook bitnami/jupyter-base-notebook:latest +docker run --name jupyter-base-notebook bitnami/jupyter-base-notebook:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami jupyter-base-notebook Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jupyter-base-notebook). ```console -$ docker pull bitnami/jupyter-base-notebook:latest +docker pull bitnami/jupyter-base-notebook:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jupyter-base-notebook/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jupyter-base-notebook:[TAG] +docker pull bitnami/jupyter-base-notebook:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `jupyterhub-singleuser --version` you can follow the example below: ```console -$ docker run --rm --name jupyter-base-notebook bitnami/jupyter-base-notebook:latest -- jupyterhub-singleuser --version +docker run --rm --name jupyter-base-notebook bitnami/jupyter-base-notebook:latest -- jupyterhub-singleuser --version ``` Check the [official Jupyter Notebook documentation](https://jupyter.readthedocs.io/en/latest/running.html) for a list of the available parameters. @@ -100,7 +100,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/jupyterhub/README.md b/bitnami/jupyterhub/README.md index edffc7243f2e..ce4382d979b3 100644 --- a/bitnami/jupyterhub/README.md +++ b/bitnami/jupyterhub/README.md @@ -34,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami jupyterhub Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jupyterhub). ```console -$ docker pull bitnami/jupyterhub:latest +docker pull bitnami/jupyterhub:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jupyterhub/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jupyterhub:[TAG] +docker pull bitnami/jupyterhub:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -62,13 +62,13 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `jupyterhub --version` you can follow the example below: ```console -$ docker run --rm --name jupyterhub bitnami/jupyterhub:latest --version +docker run --rm --name jupyterhub bitnami/jupyterhub:latest --version ``` Check the [official Jupyter Hub documentation](https://jupyterhub.readthedocs.io/en/stable/reference/config-reference.html)i, or run the following to list of the available parameters. ```console -$ docker run --rm --name jupyterhub bitnami/jupyterhub:latest --help-all +docker run --rm --name jupyterhub bitnami/jupyterhub:latest --help-all ``` ## Contributing @@ -87,7 +87,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/jwt-cli/README.md b/bitnami/jwt-cli/README.md index 6c0fad599b92..6693b5f41f7e 100644 --- a/bitnami/jwt-cli/README.md +++ b/bitnami/jwt-cli/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name jwt-cli bitnami/jwt-cli +docker run -it --name jwt-cli bitnami/jwt-cli ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jwt-cli/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/jwt-cli/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami JWT CLI Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/jwt-cli). ```console -$ docker pull bitnami/jwt-cli:latest +docker pull bitnami/jwt-cli:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/jwt-cli/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/jwt-cli:[TAG] +docker pull bitnami/jwt-cli:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of JWT CLI, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/jwt-cli:latest +docker pull bitnami/jwt-cli:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/jwt-cli:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v jwt-cli +docker rm -v jwt-cli ``` or using Docker Compose: ```console -$ docker-compose rm -v jwt-cli +docker-compose rm -v jwt-cli ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v jwt-cli Re-create your container from the new image. ```console -$ docker run --name jwt-cli bitnami/jwt-cli:latest +docker run --name jwt-cli bitnami/jwt-cli:latest ``` or using Docker Compose: ```console -$ docker-compose up jwt-cli +docker-compose up jwt-cli ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up jwt-cli To run commands inside this container you can use `docker run`, for example to execute `jwt --help` you can follow the example below: ```console -$ docker run --rm --name jwt-cli bitnami/jwt-cli:latest --help +docker run --rm --name jwt-cli bitnami/jwt-cli:latest --help ``` Check the [official JWT CLI documentation](https://github.com/mike-engel/jwt-cli) for more information about how to use JWT CLI. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kafka-exporter/README.md b/bitnami/kafka-exporter/README.md index cc5f10ad4eb4..14610c725b57 100644 --- a/bitnami/kafka-exporter/README.md +++ b/bitnami/kafka-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name kafka-exporter bitnami/kafka-exporter:latest +docker run --name kafka-exporter bitnami/kafka-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Kafka Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kafka-exporter). ```console -$ docker pull bitnami/kafka-exporter:latest +docker pull bitnami/kafka-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kafka-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kafka-exporter:[TAG] +docker pull bitnami/kafka-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create kafka-exporter-network --driver bridge +docker network create kafka-exporter-network --driver bridge ``` #### Step 2: Launch the kafka-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create kafka-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `kafka-exporter-network` network. ```console -$ docker run --name kafka-exporter-node1 --network kafka-exporter-network bitnami/kafka-exporter:latest +docker run --name kafka-exporter-node1 --network kafka-exporter-network bitnami/kafka-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration options in the [Kafka Prometheus Exporter documentati The Bitnami Kafka Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs kafka-exporter +docker logs kafka-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of Kafka Exporter, including security patch #### Step 1: Get the updated image ```console -$ docker pull bitnami/kafka-exporter:latest +docker pull bitnami/kafka-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/kafka-exporter:latest Stop the currently running container using the command ```console -$ docker stop kafka-exporter +docker stop kafka-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v kafka-exporter +docker rm -v kafka-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v kafka-exporter Re-create your container from the new image. ```console -$ docker run --name kafka-exporter bitnami/kafka-exporter:latest +docker run --name kafka-exporter bitnami/kafka-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kafka/README.md b/bitnami/kafka/README.md index 8a252a7ce304..b3d281738ce5 100644 --- a/bitnami/kafka/README.md +++ b/bitnami/kafka/README.md @@ -15,8 +15,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/kafka/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kafka/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kafka/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -51,7 +51,7 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Apache Kafka Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kafka). ```console -$ docker pull bitnami/kafka:latest +docker pull bitnami/kafka:latest ``` To use a specific version, you can pull a versioned tag. You can view the @@ -59,15 +59,15 @@ To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry. ```console -$ docker pull bitnami/kafka:[TAG] +docker pull bitnami/kafka:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your data @@ -105,7 +105,7 @@ In this example, we will create an Apache Kafka client instance that will connec #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Zookeeper server instance @@ -113,7 +113,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Zookeeper container to the `app-tier` network. ```console -$ docker run -d --name zookeeper-server \ +docker run -d --name zookeeper-server \ --network app-tier \ -e ALLOW_ANONYMOUS_LOGIN=yes \ bitnami/zookeeper:latest @@ -124,7 +124,7 @@ $ docker run -d --name zookeeper-server \ Use the `--network app-tier` argument to the `docker run` command to attach the Apache Kafka container to the `app-tier` network. ```console -$ docker run -d --name kafka-server \ +docker run -d --name kafka-server \ --network app-tier \ -e ALLOW_PLAINTEXT_LISTENER=yes \ -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \ @@ -136,7 +136,7 @@ $ docker run -d --name kafka-server \ Finally we create a new container instance to launch the Apache Kafka client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \ bitnami/kafka:latest kafka-topics.sh --list --bootstrap-server kafka-server:9092 @@ -177,7 +177,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -210,7 +210,7 @@ The configuration can easily be setup with the Bitnami Apache Kafka Docker image Additionally, any environment variable beginning with `KAFKA_CFG_` will be mapped to its corresponding Apache Kafka key. For example, use `KAFKA_CFG_BACKGROUND_THREADS` in order to set `background.threads` or `KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE` in order to configure `auto.create.topics.enable`. ```console -$ docker run --name kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true bitnami/kafka:latest +docker run --name kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true bitnami/kafka:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/kafka/docker-compose.yml) file present in this repository: @@ -252,7 +252,7 @@ services: To deploy it, run the following command in the directory where the `docker-compose.yml` file is located: -``` +```console docker-compose up -d ``` @@ -261,7 +261,7 @@ docker-compose up -d Apache Kafka Raft (KRaft) makes use of a new quorum controller service in Kafka which replaces the previous controller and makes use of an event-based variant of the Raft consensus protocol. This greatly simplifies Kafka’s architecture by consolidating responsibility for metadata into Kafka itself, rather than splitting it between two different systems: ZooKeeper and Kafka. -More Info can be found here: https://developer.confluent.io/learn/kraft/ +More Info can be found here: > **NOTE:** According to [KIP-833](https://cwiki.apache.org/confluence/display/KAFKA/KIP-833%3A+Mark+KRaft+as+Production+Ready), KRaft is now in a production-ready state. @@ -389,7 +389,7 @@ Keep in mind the following notes: * When prompted to enter a password, use the same one for all. * Set the Common Name or FQDN values to your Apache Kafka container hostname, e.g. `kafka.example.com`. After entering this value, when prompted "What is your first and last name?", enter this value as well. * As an alternative, you can disable host name verification setting the environment variable `KAFKA_CFG_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM` to an empty string. -* When setting up a Apache Kafka Cluster (check [this section](#setting-up-a-kafka-cluster) for more information), each Apache Kafka broker and logical client needs its own keystore. You will have to repeat the process for each of the brokers in the cluster. +* When setting up a Apache Kafka Cluster (check [this section](#setting-up-an-apache-kafka-cluster) for more information), each Apache Kafka broker and logical client needs its own keystore. You will have to repeat the process for each of the brokers in the cluster. The following docker-compose file is an example showing how to mount your JKS certificates protected by the password `certificatePassword123`. Additionally it is specifying the Apache Kafka container hostname and the credentials for the client and zookeeper users. @@ -463,6 +463,7 @@ When configuring Apache Kafka with `SASL` or `SASL_SSL` for communications with * `KAFKA_CLIENT_USERS`: Apache Kafka client user. Default: **user** * `KAFKA_CLIENT_PASSWORDS`: Apache Kafka client user password. Default: **bitnami** + #### Apache Kafka ZooKeeper client configuration There are different options of configuration to connect a Zookeeper server. @@ -502,12 +503,12 @@ In order to authenticate Apache Kafka against a Zookeeper server with `SASL_SSL` An Apache Kafka cluster can easily be setup with the Bitnami Apache Kafka Docker image using the following environment variables: - - `KAFKA_CFG_ZOOKEEPER_CONNECT`: Comma separated host:port pairs, each corresponding to a Zookeeper Server. +* `KAFKA_CFG_ZOOKEEPER_CONNECT`: Comma separated host:port pairs, each corresponding to a Zookeeper Server. Create a Docker network to enable visibility to each other via the docker container name ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 1: Create the first node for Zookeeper @@ -515,7 +516,7 @@ $ docker network create app-tier --driver bridge The first step is to create one Zookeeper instance. ```console -$ docker run --name zookeeper \ +docker run --name zookeeper \ --network app-tier \ -e ALLOW_ANONYMOUS_LOGIN=yes \ -p 2181:2181 \ @@ -527,7 +528,7 @@ $ docker run --name zookeeper \ The first step is to create one Apache Kafka instance. ```console -$ docker run --name kafka1 \ +docker run --name kafka1 \ --network app-tier \ -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 \ -e ALLOW_PLAINTEXT_LISTENER=yes \ @@ -540,7 +541,7 @@ $ docker run --name kafka1 \ Next we start a new Apache Kafka container. ```console -$ docker run --name kafka2 \ +docker run --name kafka2 \ --network app-tier \ -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 \ -e ALLOW_PLAINTEXT_LISTENER=yes \ @@ -553,7 +554,7 @@ $ docker run --name kafka2 \ Next we start another new Apache Kafka container. ```console -$ docker run --name kafka3 \ +docker run --name kafka3 \ --network app-tier \ -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 \ -e ALLOW_PLAINTEXT_LISTENER=yes \ @@ -616,7 +617,7 @@ Topic:mytopic PartitionCount:3 ReplicationFactor:3 Configs: The image looks for configuration files (server.properties, log4j.properties, etc.) in the `/bitnami/kafka/config/` directory, this directory can be changed by setting the KAFKA_MOUNTED_CONF_DIR environment variable. ```console -$ docker run --name kafka -v /path/to/server.properties:/bitnami/kafka/config/server.properties bitnami/kafka:latest +docker run --name kafka -v /path/to/server.properties:/bitnami/kafka/config/server.properties bitnami/kafka:latest ``` After that, your changes will be taken into account in the server's behaviour. @@ -650,13 +651,13 @@ vi /path/to/server.properties After changing the configuration, restart your Apache Kafka container for changes to take effect. ```console -$ docker restart kafka +docker restart kafka ``` Or using Docker Compose: ```console -$ docker-compose restart kafka +docker-compose restart kafka ``` ## Logging @@ -664,13 +665,13 @@ $ docker-compose restart kafka The Bitnami Apache Kafka Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs kafka +docker logs kafka ``` Or using Docker Compose: ```console -$ docker-compose logs kafka +docker-compose logs kafka ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -684,13 +685,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop kafka +docker stop kafka ``` Or using Docker Compose: ```console -$ docker-compose stop kafka +docker-compose stop kafka ``` #### Step 2: Run the backup command @@ -698,14 +699,14 @@ $ docker-compose stop kafka We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/kafka-backups:/backups --volumes-from kafka busybox \ +docker run --rm -v /path/to/kafka-backups:/backups --volumes-from kafka busybox \ cp -a /bitnami/kafka /backups/latest ``` Or using Docker Compose: ```console -$ docker run --rm -v /path/to/kafka-backups:/backups --volumes-from `docker-compose ps -q kafka` busybox \ +docker run --rm -v /path/to/kafka-backups:/backups --volumes-from `docker-compose ps -q kafka` busybox \ cp -a /bitnami/kafka /backups/latest ``` @@ -714,7 +715,7 @@ $ docker run --rm -v /path/to/kafka-backups:/backups --volumes-from `docker-comp Restoring a backup is as simple as mounting the backup as volumes in the container. ```console -$ docker run -v /path/to/kafka-backups/latest:/bitnami/kafka bitnami/kafka:latest +docker run -v /path/to/kafka-backups/latest:/bitnami/kafka bitnami/kafka:latest ``` You can also modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/kafka/docker-compose.yml) file present in this repository: @@ -732,7 +733,7 @@ Bitnami provides up-to-date versions of Apache Kafka, including security patches #### Step 1: Get the updated image ```console -$ docker pull bitnami/kafka:latest +docker pull bitnami/kafka:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -747,13 +748,13 @@ Follow the steps on [creating a backup](#backing-up-your-container). #### Step 3: Remove the currently running container ```console -$ docker rm -v kafka +docker rm -v kafka ``` Or using Docker Compose: ```console -$ docker-compose rm -v kafka +docker-compose rm -v kafka ``` #### Step 4: Run the new image @@ -761,13 +762,13 @@ $ docker-compose rm -v kafka Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. ```console -$ docker run --name kafka bitnami/kafka:latest +docker run --name kafka bitnami/kafka:latest ``` Or using Docker Compose: ```console -$ docker-compose up kafka +docker-compose up kafka ``` ## Notable Changes @@ -882,7 +883,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kapacitor/README.md b/bitnami/kapacitor/README.md index 224dd69ac69d..f8a94b8a74c6 100644 --- a/bitnami/kapacitor/README.md +++ b/bitnami/kapacitor/README.md @@ -6,13 +6,13 @@ [Overview of Kapacitor ™](https://github.com/influxdata/kapacitor) -# TL;DR; +## TL;DR ```console -$ docker run --name kapacitor bitnami/kapacitor:latest +docker run --name kapacitor bitnami/kapacitor:latest ``` -# Why use Bitnami Images? +## Why use Bitnami Images? * Bitnami closely tracks upstream source changes and promptly publishes new versions of this image using our automated systems. * With Bitnami images the latest bug fixes and features are available as soon as possible. @@ -21,7 +21,7 @@ $ docker run --name kapacitor bitnami/kapacitor:latest * All Bitnami images available in Docker Hub are signed with [Docker Content Trust (DTC)](https://docs.docker.com/engine/security/trust/content_trust/). You can use `DOCKER_CONTENT_TRUST=1` to verify the integrity of the images. * Bitnami container images are released on a regular basis with the latest distribution packages available. -# Supported tags and respective `Dockerfile` links +## Supported tags and respective `Dockerfile` links Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). @@ -29,67 +29,67 @@ You can see the equivalence between the different tags by taking a look at the ` Subscribe to project updates by watching the [bitnami/containers GitHub repo](https://github.com/bitnami/containers). -# Get this image +## Get this image The recommended way to get the Bitnami kapacitor Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kapacitor). ```console -$ docker pull bitnami/kapacitor:latest +docker pull bitnami/kapacitor:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kapacitor/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kapacitor:[TAG] +docker pull bitnami/kapacitor:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` -# Persisting your application +## 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/kapacitor` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/kapacitor-persistence:/bitnami/kapacitor \ bitnami/kapacitor:latest ``` -# Configuration +## Configuration ## Running commands The container has the `kapacitor`, `kapacitord` and `tickfmt` commands available. To run commands inside this container you can use `docker run`, for example to execute `kapacitord --help` you can follow the example below: ```console -$ docker run --rm --name kapacitor bitnami/kapacitor:latest -- kapacitord --help +docker run --rm --name kapacitor bitnami/kapacitor:latest -- kapacitord --help ``` Check the [official Kapacitor documentation](https://docs.influxdata.com/kapacitor) for a list of the available parameters. -# Contributing +## Contributing We'd love for you to contribute to this container. You can request new features by creating an [issue](https://github.com/bitnami/containers/blob/main/bitnami/kapacitor/issues) or submitting a [pull request](https://github.com/bitnami/containers/blob/main/bitnami/kapacitor/pulls) with your contribution. -# Issues +## Issues If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to include the following information in your issue: -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) -# License +## License Copyright © 2023 Bitnami @@ -97,7 +97,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/keycloak-config-cli/README.md b/bitnami/keycloak-config-cli/README.md index fe1213dd0f8a..b1de75567ccb 100644 --- a/bitnami/keycloak-config-cli/README.md +++ b/bitnami/keycloak-config-cli/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --rm --name Keycloak Config CLI bitnami/keycloak-config-cli:latest +docker run --rm --name Keycloak Config CLI bitnami/keycloak-config-cli:latest ``` ## Why use Bitnami Images? @@ -44,21 +44,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Keycloak Config CLI Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/keycloak-config-cli). ```console -$ docker pull bitnami/keycloak-config-cli:latest +docker pull bitnami/keycloak-config-cli:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/keycloak-config-cli/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/keycloak-config-cli:[TAG] +docker pull bitnami/keycloak-config-cli:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -74,13 +74,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/keycloak/README.md b/bitnami/keycloak/README.md index 3fbefcd2e489..070b44fd9246 100644 --- a/bitnami/keycloak/README.md +++ b/bitnami/keycloak/README.md @@ -11,17 +11,18 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name keycloak bitnami/keycloak:latest +docker run --name keycloak bitnami/keycloak:latest ``` ### Docker Compose ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/keycloak/docker-compose.yml -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/keycloak/docker-compose.yml +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. + ## Why use Bitnami Images? * Bitnami closely tracks upstream source changes and promptly publishes new versions of this image using our automated systems. @@ -52,21 +53,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami keycloak Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/keycloak). ```console -$ docker pull bitnami/keycloak:latest +docker pull bitnami/keycloak:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/keycloak/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/keycloak:[TAG] +docker pull bitnami/keycloak:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -75,38 +76,38 @@ $ docker build -t bitnami/APP:latest . The Bitnami Keycloak container can create a default admin user by setting the following environment variables: -- `KEYCLOAK_CREATE_ADMIN_USER`: Create administrator user on boot. Default: **true**. -- `KEYCLOAK_ADMIN_USER`: Administrator default user. Default: **user**. -- `KEYCLOAK_ADMIN_PASSWORD`: Administrator default password. Default: **bitnami**. -- `KEYCLOAK_MANAGEMENT_USER`: WildFly default management user. Default: **manager**. -- `KEYCLOAK_MANAGEMENT_PASSWORD`: WildFly default management password. Default: **bitnami1**. +* `KEYCLOAK_CREATE_ADMIN_USER`: Create administrator user on boot. Default: **true**. +* `KEYCLOAK_ADMIN_USER`: Administrator default user. Default: **user**. +* `KEYCLOAK_ADMIN_PASSWORD`: Administrator default password. Default: **bitnami**. +* `KEYCLOAK_MANAGEMENT_USER`: WildFly default management user. Default: **manager**. +* `KEYCLOAK_MANAGEMENT_PASSWORD`: WildFly default management password. Default: **bitnami1**. ### Connecting to a PostgreSQL database The Bitnami Keycloak container requires a PostgreSQL database to work. This is configured with the following environment variables: -- `KEYCLOAK_DATABASE_HOST`: PostgreSQL host. Default: **postgresql**. -- `KEYCLOAK_DATABASE_PORT`: PostgreSQL port. Default: **5432**. -- `KEYCLOAK_DATABASE_NAME`: PostgreSQL database name. Default: **bitnami_keycloak**. -- `KEYCLOAK_DATABASE_USER`: PostgreSQL database user. Default: **bn_keycloak**. -- `KEYCLOAK_DATABASE_PASSWORD`: PostgreSQL database password. No defaults. -- `KEYCLOAK_DATABASE_SCHEMA`: PostgreSQL database schema. Default: **public**. -- `KEYCLOAK_JDBC_PARAMS`: PostgreSQL database JDBC parameters (example: `sslmode=verify-full&connectTimeout=30000`). No defaults. +* `KEYCLOAK_DATABASE_HOST`: PostgreSQL host. Default: **postgresql**. +* `KEYCLOAK_DATABASE_PORT`: PostgreSQL port. Default: **5432**. +* `KEYCLOAK_DATABASE_NAME`: PostgreSQL database name. Default: **bitnami_keycloak**. +* `KEYCLOAK_DATABASE_USER`: PostgreSQL database user. Default: **bn_keycloak**. +* `KEYCLOAK_DATABASE_PASSWORD`: PostgreSQL database password. No defaults. +* `KEYCLOAK_DATABASE_SCHEMA`: PostgreSQL database schema. Default: **public**. +* `KEYCLOAK_JDBC_PARAMS`: PostgreSQL database JDBC parameters (example: `sslmode=verify-full&connectTimeout=30000`). No defaults. ### Port and address binding The listening port and listening address can be configured with the following environment variables: -- `KEYCLOAK_HTTP_PORT`: Keycloak HTTP port. Default: **8080**. -- `KEYCLOAK_HTTPS_PORT`: Keycloak HTTPS port. Default: **8443**. -- `KEYCLOAK_BIND_ADDRESS`: Keycloak bind address. Default: **0.0.0.0**. +* `KEYCLOAK_HTTP_PORT`: Keycloak HTTP port. Default: **8080**. +* `KEYCLOAK_HTTPS_PORT`: Keycloak HTTPS port. Default: **8443**. +* `KEYCLOAK_BIND_ADDRESS`: Keycloak bind address. Default: **0.0.0.0**. ### Extra arguments to Keycloak startup In case you want to add extra flags to the Keycloak use the `KEYCLOAK_EXTRA_ARGS` variable. Example: ```console -$ docker run --name keycloak \ +docker run --name keycloak \ -e KEYCLOAK_EXTRA_ARGS="-Dkeycloak.profile.feature.scripts=enabled" \ bitnami/keycloak:latest ``` @@ -114,7 +115,7 @@ $ docker run --name keycloak \ Or, if you need flags which are applied directly to keycloak executable, you can use `KEYCLOAK_EXTRA_ARGS_PREPENDED` variable. Example: ```console -$ docker run --name keycloak \ +docker run --name keycloak \ -e KEYCLOAK_EXTRA_ARGS_PREPENDED="--spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true" \ bitnami/keycloak:latest ``` @@ -126,7 +127,7 @@ When the container is launched, it will execute the files with extension `.sh` l In order to have your custom files inside the docker image you can mount them as a volume. ```console -$ docker run --name keycloak \ +docker run --name keycloak \ -v /path/to/init-scripts:/docker-entrypoint-initdb.d \ bitnami/keycloak:latest ``` @@ -144,29 +145,29 @@ keycloak: The Bitnami Keycloak Docker image allows configuring HTTPS/TLS encription. This is done by mounting in `/opt/bitnami/keycloak/certs` two files: - - `keystore`: File with the server keystore - - `truststore`: File with the server truststore +* `keystore`: File with the server keystore +* `truststore`: File with the server truststore > Note: find more information about how to create these files at the [Keycloak documentation](https://www.keycloak.org/docs/latest/server_installation/#_truststore). Apart from that, the following environment variables must be set: - - `KEYCLOAK_ENABLE_HTTPS`: Enable TLS encryption using the keystore. Default: **false**. - - `KEYCLOAK_HTTPS_KEY_STORE_FILE`: Path to the keystore file (e.g. `/opt/bitnami/keycloak/certs/keystore.jks`). No defaults. - - `KEYCLOAK_HTTPS_TRUST_STORE_FILE`: Path to the truststore file (e.g. `/opt/bitnami/keycloak/certs/truststore.jks`). No defaults. - - `KEYCLOAK_HTTPS_KEY_STORE_PASSWORD`: Password for accessing the keystore. No defaults. - - `KEYCLOAK_HTTPS_TRUST_STORE_PASSWORD`: Password for accessing the truststore. No defaults. - - `KEYCLOAK_HTTPS_USE_PEM`: Set to true to configure HTTPS using PEM certificates'. Default: **false**. - - `KEYCLOAK_HTTPS_CERTIFICATE_FILE`: Path to the PEM certificate file (e.g. `/opt/bitnami/keycloak/certs/tls.crt`). No defaults. - - `KEYCLOAK_HTTPS_CERTIFICATE_KEY_FILE`: Path to the PEM key file (e.g. `/opt/bitnami/keycloak/certs/tls.key`). No defaults. +* `KEYCLOAK_ENABLE_HTTPS`: Enable TLS encryption using the keystore. Default: **false**. +* `KEYCLOAK_HTTPS_KEY_STORE_FILE`: Path to the keystore file (e.g. `/opt/bitnami/keycloak/certs/keystore.jks`). No defaults. +* `KEYCLOAK_HTTPS_TRUST_STORE_FILE`: Path to the truststore file (e.g. `/opt/bitnami/keycloak/certs/truststore.jks`). No defaults. +* `KEYCLOAK_HTTPS_KEY_STORE_PASSWORD`: Password for accessing the keystore. No defaults. +* `KEYCLOAK_HTTPS_TRUST_STORE_PASSWORD`: Password for accessing the truststore. No defaults. +* `KEYCLOAK_HTTPS_USE_PEM`: Set to true to configure HTTPS using PEM certificates'. Default: **false**. +* `KEYCLOAK_HTTPS_CERTIFICATE_FILE`: Path to the PEM certificate file (e.g. `/opt/bitnami/keycloak/certs/tls.crt`). No defaults. +* `KEYCLOAK_HTTPS_CERTIFICATE_KEY_FILE`: Path to the PEM key file (e.g. `/opt/bitnami/keycloak/certs/tls.key`). No defaults. ### SPI TLS truststore The Bitnami Keycloak Docker image supports configuring a truststore for HTTP/TLS connection with Keycloak SPIs. - - `KEYCLOAK_SPI_TRUSTSTORE_FILE`: Path to the Keycloak SPI truststore file (e.g. `/opt/bitnami/keycloak/certs-spi/truststore.jks`). No defaults. - - `KEYCLOAK_SPI_TRUSTSTORE_PASSWORD`: Password for decrypting the SPI truststore file. No defaults. - - `KEYCLOAK_SPI_TRUSTSTORE_FILE_HOSTNAME_VERIFICATION_POLICY`: Hostname verification policy for SPI connection over HTTPS/TLS +* `KEYCLOAK_SPI_TRUSTSTORE_FILE`: Path to the Keycloak SPI truststore file (e.g. `/opt/bitnami/keycloak/certs-spi/truststore.jks`). No defaults. +* `KEYCLOAK_SPI_TRUSTSTORE_PASSWORD`: Password for decrypting the SPI truststore file. No defaults. +* `KEYCLOAK_SPI_TRUSTSTORE_FILE_HOSTNAME_VERIFICATION_POLICY`: Hostname verification policy for SPI connection over HTTPS/TLS ### Adding custom themes @@ -207,7 +208,7 @@ The Bitnami Keycloak container can activate different set of statistics (databas The image looks for configuration files in the `/bitnami/keycloak/configuration/` directory, this directory can be changed by setting the KEYCLOAK_MOUNTED_CONF_DIR environment variable. ```console -$ docker run --name keycloak \ +docker run --name keycloak \ -v /path/to/standalone-ha.xml:/bitnami/keycloak/configuration/standalone-ha.xml \ bitnami/keycloak:latest ``` @@ -227,14 +228,14 @@ After that, your changes will be taken into account in the server's behaviour. ### 19-debian-11-r4 -- TLS environment variables have been renamed to match upstream. - - `KEYCLOAK_ENABLE_TLS` was renamed as `KEYCLOAK_ENABLE_HTTPS`. - - `KEYCLOAK_TLS_KEYSTORE_FILE` was renamed as `KEYCLOAK_TLS_KEY_STORE_FILE`. - - `KEYCLOAK_TLS_TRUSTSTORE_FILE` was renamed as `KEYCLOAK_TLS_TRUST_STORE_FILE`. - - `KEYCLOAK_TLS_KEYSTORE_PASSWORD` was renamed as `KEYCLOAK_TLS_KEY_STORE_PASSWORD`. - - `KEYCLOAK_TLS_TRUSTSTORE_PASSWORD` was renamed as `KEYCLOAK_TLS_TRUST_STORE_PASSWORD`. -- HTTPS/TLS can now be configured using PEM certificates. -- Added support to add SPI truststore file. +* TLS environment variables have been renamed to match upstream. + * `KEYCLOAK_ENABLE_TLS` was renamed as `KEYCLOAK_ENABLE_HTTPS`. + * `KEYCLOAK_TLS_KEYSTORE_FILE` was renamed as `KEYCLOAK_TLS_KEY_STORE_FILE`. + * `KEYCLOAK_TLS_TRUSTSTORE_FILE` was renamed as `KEYCLOAK_TLS_TRUST_STORE_FILE`. + * `KEYCLOAK_TLS_KEYSTORE_PASSWORD` was renamed as `KEYCLOAK_TLS_KEY_STORE_PASSWORD`. + * `KEYCLOAK_TLS_TRUSTSTORE_PASSWORD` was renamed as `KEYCLOAK_TLS_TRUST_STORE_PASSWORD`. +* HTTPS/TLS can now be configured using PEM certificates. +* Added support to add SPI truststore file. ### 17-debian-10 @@ -257,7 +258,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kiam/README.md b/bitnami/kiam/README.md index bbf08c13cf26..b8e4797fa826 100644 --- a/bitnami/kiam/README.md +++ b/bitnami/kiam/README.md @@ -14,7 +14,7 @@ From Bitnami, we will update the container image and Helm chart, as usual, bundl ## TL;DR ```console -$ docker run --name Kiam bitnami/kiam:latest +docker run --name Kiam bitnami/kiam:latest ``` ## Why use Bitnami Images? @@ -39,21 +39,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Kiam Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kiam). ```console -$ docker pull bitnami/kiam:latest +docker pull bitnami/kiam:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kiam/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kiam:[TAG] +docker pull bitnami/kiam:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -63,7 +63,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `kiam --version` you can follow the example below: ```console -$ docker run --rm --name Kiam bitnami/kiam:latest -- --version +docker run --rm --name Kiam bitnami/kiam:latest -- --version ``` Check the [official Kiam documentation](https://github.com/uswitch/kiam/tree/master/docs) for a list of the available parameters. @@ -84,7 +84,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kibana/README.md b/bitnami/kibana/README.md index 57f9b6169cf3..f5a51d458017 100644 --- a/bitnami/kibana/README.md +++ b/bitnami/kibana/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kibana/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kibana/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Kibana Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kibana). ```console -$ docker pull bitnami/kibana:latest +docker pull bitnami/kibana:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kibana/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kibana:[TAG] +docker pull bitnami/kibana:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -67,8 +67,8 @@ $ docker build -t bitnami/APP:latest . The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/kibana/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kibana/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kibana/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Run the application manually @@ -77,23 +77,23 @@ If you want to run the application manually instead of using docker-compose, the 1. Create a new network for the application and the database: - ```console - $ docker network create kibana_network - ``` + ```console + docker network create kibana_network + ``` 2. Run the Elasticsearch container: - ```console - $ docker run -d -p 9200:9200 --name elasticsearch --net=kibana_network bitnami/elasticsearch - ``` + ```console + docker run -d -p 9200:9200 --name elasticsearch --net=kibana_network bitnami/elasticsearch + ``` 3. Run the Kibana container: - ```console - $ docker run -d -p 5601:5601 --name kibana --net=kibana_network \ - -e KIBANA_ELASTICSEARCH_URL=elasticsearch \ - bitnami/kibana - ``` + ```console + docker run -d -p 5601:5601 --name kibana --net=kibana_network \ + -e KIBANA_ELASTICSEARCH_URL=elasticsearch \ + bitnami/kibana + ``` Then you can access your application at `http://your-ip:5601/` @@ -108,7 +108,7 @@ The above examples define docker volumes namely `elasticsearch_data` and `kibana To avoid inadvertent removal of these volumes you can [mount host directories as data volumes](https://docs.docker.com/engine/tutorials/dockervolumes/). Alternatively you can make use of volume plugins to host the volume data. ```console -$ docker run -v /path/to/kibana-persistence:/bitnami/kibana bitnami/kibana:latest +docker run -v /path/to/kibana-persistence:/bitnami/kibana bitnami/kibana:latest ``` or modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/kibana/docker-compose.yml) file present in this repository: @@ -134,7 +134,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Kibana server instance @@ -142,7 +142,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Kibana container to the `app-tier` network. ```console -$ docker run -d --name kibana-server \ +docker run -d --name kibana-server \ --network app-tier \ bitnami/kibana:latest ``` @@ -150,7 +150,7 @@ $ docker run -d --name kibana-server \ #### Step 3: Launch your application container ```console -$ docker run -d --name myapp \ +docker run -d --name myapp \ --network app-tier \ YOUR_APPLICATION_IMAGE ``` @@ -190,7 +190,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -199,13 +199,13 @@ $ docker-compose up -d When you start the kibana 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. The following environment values are provided to custom Kibana: -- `KIBANA_ELASTICSEARCH_URL`: Elasticsearch URL. Provide Client node url in the case of a cluster. Default: **elasticsearch** -- `KIBANA_ELASTICSEARCH_PORT_NUMBER`: Elasticsearch port. Default: **9200** -- `KIBANA_HOST`: Kibana host. Default: **0.0.0.0** -- `KIBANA_PORT_NUMBER`: Kibana port. Default: **5601** -- `KIBANA_WAIT_READY_MAX_RETRIES`: Max retries to wait for Kibana to be ready. Default: **30** -- `KIBANA_INITSCRIPTS_START_SERVER`: Whether to start the Kibana server before executing the init scripts. Default: **yes** -- `KIBANA_FORCE_INITSCRIPTS`: Whether to force the execution of the init scripts. Default: **no** +* `KIBANA_ELASTICSEARCH_URL`: Elasticsearch URL. Provide Client node url in the case of a cluster. Default: **elasticsearch** +* `KIBANA_ELASTICSEARCH_PORT_NUMBER`: Elasticsearch port. Default: **9200** +* `KIBANA_HOST`: Kibana host. Default: **0.0.0.0** +* `KIBANA_PORT_NUMBER`: Kibana port. Default: **5601** +* `KIBANA_WAIT_READY_MAX_RETRIES`: Max retries to wait for Kibana to be ready. Default: **30** +* `KIBANA_INITSCRIPTS_START_SERVER`: Whether to start the Kibana server before executing the init scripts. Default: **yes** +* `KIBANA_FORCE_INITSCRIPTS`: Whether to force the execution of the init scripts. Default: **no** #### Specifying Environment Variables using Docker Compose @@ -222,7 +222,7 @@ kibana: #### Specifying Environment Variables on the Docker command line ```console -$ docker run -d -e KIBANA_ELASTICSEARCH_URL=elasticsearch --name kibana bitnami/kibana:latest +docker run -d -e KIBANA_ELASTICSEARCH_URL=elasticsearch --name kibana bitnami/kibana:latest ``` ### Initializing a new instance @@ -240,7 +240,7 @@ The image looks for configurations in `/bitnami/kibana/conf/`. As mentioned in [ Run the Kibana image, mounting a directory from your host. ```console -$ docker run --name kibana -v /path/to/kibana-persistence:/bitnami bitnami/kibana:latest +docker run --name kibana -v /path/to/kibana-persistence:/bitnami bitnami/kibana:latest ``` or modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/kibana/docker-compose.yml) file present in this repository: @@ -258,7 +258,7 @@ kibana: Edit the configuration on your host using your favorite editor. ```console -$ vi /path/to/kibana-persistence/kibana/conf/kibana.conf +vi /path/to/kibana-persistence/kibana/conf/kibana.conf ``` #### Step 3: Restart Kibana @@ -266,13 +266,13 @@ $ vi /path/to/kibana-persistence/kibana/conf/kibana.conf After changing the configuration, restart your Kibana container for changes to take effect. ```console -$ docker restart kibana +docker restart kibana ``` or using Docker Compose: ```console -$ docker-compose restart kibana +docker-compose restart kibana ``` Refer to the [configuration](https://www.elastic.co/guide/en/kibana/current/settings.html) manual for the complete list of configuration options. @@ -282,13 +282,13 @@ Refer to the [configuration](https://www.elastic.co/guide/en/kibana/current/sett The Bitnami Kibana Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs kibana +docker logs kibana ``` or using Docker Compose: ```console -$ docker-compose logs kibana +docker-compose logs kibana ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -302,7 +302,7 @@ Bitnami provides up-to-date versions of Kibana, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/kibana:latest +docker pull bitnami/kibana:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -313,19 +313,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop kibana +docker stop kibana ``` or using Docker Compose: ```console -$ docker-compose stop kibana +docker-compose stop kibana ``` Next, take a snapshot of the persistent volume `/path/to/kibana-persistence` using: ```console -$ rsync -a /path/to/kibana-persistence /path/to/kibana-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/kibana-persistence /path/to/kibana-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` Additionally, [snapshot the Elasticsearch data](https://github.com/bitnami/containers/blob/main/bitnami/elasticsearch#step-2-stop-and-backup-the-currently-running-container) @@ -335,46 +335,46 @@ You can use these snapshots to restore the application state should the upgrade #### Step 3: Remove the currently running container ```console -$ docker rm -v kibana +docker rm -v kibana ``` or using Docker Compose: ```console -$ docker-compose rm -v kibana +docker-compose rm -v kibana ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name kibana bitnami/kibana:latest +docker run --name kibana bitnami/kibana:latest ``` or using Docker Compose: ```console -$ docker-compose up kibana +docker-compose up kibana ``` ## Notable Changes ### 6.8.15-debian-10-r12 & 7.10.2-debian-10-r62 & 7.12.0-debian-10-r0 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- Kibana 7.12.0 version or later are licensed under the Elastic License that is not currently accepted as an Open Source license by the Open Source Initiative (OSI). -- Kibana 7.12.0 version or later are including x-pack plugin installed by default. Follow official documentation to use it. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* Kibana 7.12.0 version or later are licensed under the Elastic License that is not currently accepted as an Open Source license by the Open Source Initiative (OSI). +* Kibana 7.12.0 version or later are including x-pack plugin installed by default. Follow official documentation to use it. ### 6.5.1-r3 & 5.6.13-r20 -- The Kibana container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Kibana daemon was started as the `kibana` user. From now on, both the container and the Kibana daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Kibana container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Kibana daemon was started as the `kibana` user. From now on, both the container and the Kibana daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 4.5.4-r1 -- `ELASTICSEARCH_URL` parameter has been renamed to `KIBANA_ELASTICSEARCH_URL`. -- `ELASTICSEARCH_PORT` parameter has been renamed to `KIBANA_ELASTICSEARCH_PORT`. +* `ELASTICSEARCH_URL` parameter has been renamed to `KIBANA_ELASTICSEARCH_URL`. +* `ELASTICSEARCH_PORT` parameter has been renamed to `KIBANA_ELASTICSEARCH_PORT`. ## Contributing @@ -392,7 +392,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kong-ingress-controller/README.md b/bitnami/kong-ingress-controller/README.md index 12d7dca3cd94..66c79eaeccb6 100644 --- a/bitnami/kong-ingress-controller/README.md +++ b/bitnami/kong-ingress-controller/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name kong-ingress-controller bitnami/kong-ingress-controller:latest +docker run --name kong-ingress-controller bitnami/kong-ingress-controller:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami kong-ingress-controller Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kong-ingress-controller). ```console -$ docker pull bitnami/kong-ingress-controller:latest +docker pull bitnami/kong-ingress-controller:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kong-ingress-controller/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kong-ingress-controller:[TAG] +docker pull bitnami/kong-ingress-controller:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `kong-ingress-controller --version` you can follow the example below: ```console -$ docker run --rm --name kong-ingress-controller bitnami/kong-ingress-controller:latest -- --version +docker run --rm --name kong-ingress-controller bitnami/kong-ingress-controller:latest -- --version ``` Consult the [kong-ingress-controller Reference Documentation](https://docs.konghq.com/kubernetes-ingress-controller/) @@ -81,7 +81,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kong/README.md b/bitnami/kong/README.md index 4e26ef3fa0dc..8f85a040b744 100644 --- a/bitnami/kong/README.md +++ b/bitnami/kong/README.md @@ -10,15 +10,15 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR -``` -$ docker run --name kong bitnami/kong:latest +```console +docker run --name kong bitnami/kong:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kong/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kong/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Kong Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kong). ```console -$ docker pull bitnami/kong:latest +docker pull bitnami/kong:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kong/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kong:[TAG] +docker pull bitnami/kong:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -75,7 +75,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create kong-network --driver bridge +docker network create kong-network --driver bridge ``` #### Step 2: Launch the Kong container within your network @@ -83,7 +83,7 @@ $ docker network create kong-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `kong-network` network. ```console -$ docker run --name kong-node1 --network kong-network bitnami/kong:latest +docker run --name kong-node1 --network kong-network bitnami/kong:latest ``` #### Step 3: Run another containers @@ -94,19 +94,19 @@ We can launch another containers using the same flag (`--network NETWORK`) in th The Bitnami Docker Kong can be easily setup with the following environment variables: -- `KONG_PROXY_LISTEN_ADDRESS`: Address to which Kong Proxy service is bound to. Default: **0.0.0.0** -- `KONG_PROXY_HTTP_PORT_NUMBER`: The port Kong Proxy is listening for HTTP requests. Default: **8000** -- `KONG_PROXY_HTTPS_PORT_NUMBER`: The port Kong Proxy is listening for HTTPS requests. Default: **8443** -- `KONG_ADMIN_LISTEN_ADDRESS`: Address to which Kong Admin service is bound to. Default: **127.0.0.1** -- `KONG_ADMIN_HTTP_PORT_NUMBER`: The port Kong Admin is listening for HTTP requests. Default: **8001** -- `KONG_ADMIN_HTTPS_PORT_NUMBER`: The port Kong Admin is listening for HTTPS requests. Default: **8444** -- `KONG_MIGRATE`: Whether to automatically run Kong migration scripts on this node. In a cluster, only one node should have this flag enabled. Default: **no** -- `KONG_EXIT_AFTER_MIGRATE`: Whether to exit after performing the migration (it will not launch the Kong daemon). This is useful using the container in Jobs and Cron Jobs. Default: **no** +* `KONG_PROXY_LISTEN_ADDRESS`: Address to which Kong Proxy service is bound to. Default: **0.0.0.0** +* `KONG_PROXY_HTTP_PORT_NUMBER`: The port Kong Proxy is listening for HTTP requests. Default: **8000** +* `KONG_PROXY_HTTPS_PORT_NUMBER`: The port Kong Proxy is listening for HTTPS requests. Default: **8443** +* `KONG_ADMIN_LISTEN_ADDRESS`: Address to which Kong Admin service is bound to. Default: **127.0.0.1** +* `KONG_ADMIN_HTTP_PORT_NUMBER`: The port Kong Admin is listening for HTTP requests. Default: **8001** +* `KONG_ADMIN_HTTPS_PORT_NUMBER`: The port Kong Admin is listening for HTTPS requests. Default: **8444** +* `KONG_MIGRATE`: Whether to automatically run Kong migration scripts on this node. In a cluster, only one node should have this flag enabled. Default: **no** +* `KONG_EXIT_AFTER_MIGRATE`: Whether to exit after performing the migration (it will not launch the Kong daemon). This is useful using the container in Jobs and Cron Jobs. Default: **no** This container also supports configuring Kong via environment values starting with `KONG_`. For instance, by setting the `KONG_LOG_LEVEL` environment variable, Kong will take into account this value rather than the property set in `kong.conf`. It is recommended to set the following environment variables: -- `KONG_DATABASE`: Database type used. Valid values: **postgres** or **off**. Default: **postgres** -- For PostgreSQL database: `KONG_PG_HOST`, `KONG_PG_PORT`, `KONG_PG_TIMEOUT`, `KONG_PG_USER`, `KONG_PG_PASSWORD`. +* `KONG_DATABASE`: Database type used. Valid values: **postgres** or **off**. Default: **postgres** +* For PostgreSQL database: `KONG_PG_HOST`, `KONG_PG_PORT`, `KONG_PG_TIMEOUT`, `KONG_PG_USER`, `KONG_PG_PASSWORD`. Check the official [Kong Configuration Reference](https://docs.konghq.com/latest/configuration/#environment-variables) for the full list of configurable properties. @@ -115,7 +115,7 @@ Check the official [Kong Configuration Reference](https://docs.konghq.com/latest The image looks for Kong the configuration file in `/opt/bitnami/kong/conf/kong.conf`, which you can overwrite using your own custom configuration file. ```console -$ docker run --name kong \ +docker run --name kong \ -e KONG_DATABASE=off \ -v /path/to/kong.conf:/opt/bitnami/kong/conf/kong.conf \ bitnami/kong:latest @@ -144,7 +144,7 @@ services: The Bitnami Kong Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs kong +docker logs kong ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -157,8 +157,8 @@ The Bitnami Kong Docker image is designed to be extended so it can be used as th Before extending this image, please note it is possible there are certain ways you can configure Kong using the original: -- [Configuring Kong via environment variables](#configuration). -- [Changing the 'kong.conf' file](#full-configuration). +* [Configuring Kong via environment variables](#configuration). +* [Changing the 'kong.conf' file](#full-configuration). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -170,10 +170,10 @@ FROM bitnami/kong Here is an example of extending the image with the following modifications: -- Install the `vim` editor -- Modify the Kong configuration file -- Modify the ports used by Kong -- Change the user that runs the container +* Install the `vim` editor +* Modify the Kong configuration file +* Modify the ports used by Kong +* Change the user that runs the container ```Dockerfile FROM bitnami/kong @@ -201,8 +201,8 @@ USER 1002 Based on the extended image, you can use a Docker Compose file like the one below to add other features: -- Configure Kong via environment variables -- Override the entire `kong.conf` configuration file +* Configure Kong via environment variables +* Override the entire `kong.conf` configuration file ```yaml version: '2' @@ -231,7 +231,7 @@ Bitnami provides up-to-date versions of Kong, including security patches, soon a #### Step 1: Get the updated image ```console -$ docker pull bitnami/kong:latest +docker pull bitnami/kong:latest ``` #### Step 2: Stop the running container @@ -239,13 +239,13 @@ $ docker pull bitnami/kong:latest Stop the currently running container using the command ```console -$ docker stop kong +docker stop kong ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v kong +docker rm -v kong ``` #### Step 4: Run the new image @@ -253,7 +253,7 @@ $ docker rm -v kong Re-create your container from the new image. ```console -$ docker run --name kong bitnami/kong:latest +docker run --name kong bitnami/kong:latest ``` ## Contributing @@ -272,7 +272,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/ksql/README.md b/bitnami/ksql/README.md index 29d7055e8cfa..9cc61c4a91c1 100644 --- a/bitnami/ksql/README.md +++ b/bitnami/ksql/README.md @@ -6,12 +6,10 @@ [Overview of ksql](https://change.me) - - ## TL;DR ```console -$ docker run --name ksql bitnami/ksql:latest +docker run --name ksql bitnami/ksql:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami ksql Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/ksql). ```console -$ docker pull bitnami/ksql:latest +docker pull bitnami/ksql:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/ksql/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/ksql:[TAG] +docker pull bitnami/ksql:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Contributing @@ -69,7 +67,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kube-rbac-proxy/README.md b/bitnami/kube-rbac-proxy/README.md index aed80c11a2ec..9a85f9d733e9 100644 --- a/bitnami/kube-rbac-proxy/README.md +++ b/bitnami/kube-rbac-proxy/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name Kube RBAC Proxy bitnami/kube-rbac-proxy:latest +docker run --name Kube RBAC Proxy bitnami/kube-rbac-proxy:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Kube RBAC Proxy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kube-rbac-proxy). ```console -$ docker pull bitnami/kube-rbac-proxy:latest +docker pull bitnami/kube-rbac-proxy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kube-rbac-proxy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kube-rbac-proxy:[TAG] +docker pull bitnami/kube-rbac-proxy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `kube-rbac-proxy --upstream=http://127.0.0.1:8081/` you can follow the example below: ```console -$ docker run --rm --name Kube RBAC Proxy bitnami/kube-rbac-proxy:latest -- --upstream=http://127.0.0.1:8081/ +docker run --rm --name Kube RBAC Proxy bitnami/kube-rbac-proxy:latest -- --upstream=http://127.0.0.1:8081/ ``` Check the [official Kube RBAC Proxy documentation](https://github.com/brancz/kube-rbac-proxy) for more information. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kube-state-metrics/README.md b/bitnami/kube-state-metrics/README.md index d758e8e71ed1..2cd3d1d609fd 100644 --- a/bitnami/kube-state-metrics/README.md +++ b/bitnami/kube-state-metrics/README.md @@ -38,21 +38,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Kube-state-metrics Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kube-state-metrics). ```console -$ docker pull bitnami/kube-state-metrics:latest +docker pull bitnami/kube-state-metrics:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kube-state-metrics/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kube-state-metrics:[TAG] +docker pull bitnami/kube-state-metrics:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -78,13 +78,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kubeapps-apis/README.md b/bitnami/kubeapps-apis/README.md index 9134d8ff86fb..d875f80ef79b 100644 --- a/bitnami/kubeapps-apis/README.md +++ b/bitnami/kubeapps-apis/README.md @@ -6,12 +6,10 @@ [Overview of Kubeapps APIs](https://github.com/vmware-tanzu/kubeapps) - - ## TL;DR ```console -$ docker run --name kubeapps-apis bitnami/kubeapps-apis:latest +docker run --name kubeapps-apis bitnami/kubeapps-apis:latest ``` ## Why use Bitnami Images? @@ -56,7 +54,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kubeapps-apprepository-controller/README.md b/bitnami/kubeapps-apprepository-controller/README.md index ab1673834223..a9ea9dd0f5a9 100644 --- a/bitnami/kubeapps-apprepository-controller/README.md +++ b/bitnami/kubeapps-apprepository-controller/README.md @@ -6,12 +6,10 @@ [Overview of Kubeapps AppRepository Controller](https://github.com/vmware-tanzu/kubeapps) - - ## TL;DR ```console -$ docker run --name kubeapps-apprepository-controller bitnami/kubeapps-apprepository-controller:latest +docker run --name kubeapps-apprepository-controller bitnami/kubeapps-apprepository-controller:latest ``` ## Why use Bitnami Images? @@ -56,7 +54,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kubeapps-asset-syncer/README.md b/bitnami/kubeapps-asset-syncer/README.md index ac6f1225b936..85edccb74138 100644 --- a/bitnami/kubeapps-asset-syncer/README.md +++ b/bitnami/kubeapps-asset-syncer/README.md @@ -6,12 +6,10 @@ [Overview of Kubeapps Asset Syncer](https://github.com/vmware-tanzu/kubeapps) - - ## TL;DR ```console -$ docker run --name kubeapps-asset-syncer bitnami/kubeapps-asset-syncer:latest +docker run --name kubeapps-asset-syncer bitnami/kubeapps-asset-syncer:latest ``` ## Why use Bitnami Images? @@ -56,7 +54,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kubeapps-dashboard/README.md b/bitnami/kubeapps-dashboard/README.md index d8764a3c94e7..10ec78da44af 100644 --- a/bitnami/kubeapps-dashboard/README.md +++ b/bitnami/kubeapps-dashboard/README.md @@ -6,12 +6,10 @@ [Overview of Kubeapps](https://github.com/vmware-tanzu/kubeapps) - - ## TL;DR ```console -$ docker run --name kubeapps-dashboard bitnami/kubeapps-dashboard:latest +docker run --name kubeapps-dashboard bitnami/kubeapps-dashboard:latest ``` ## Why use Bitnami Images? @@ -59,7 +57,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kubeapps-pinniped-proxy/README.md b/bitnami/kubeapps-pinniped-proxy/README.md index 695f435fadcb..0bb34ecd6013 100644 --- a/bitnami/kubeapps-pinniped-proxy/README.md +++ b/bitnami/kubeapps-pinniped-proxy/README.md @@ -6,12 +6,10 @@ [Overview of Kubeapps Pinniped Proxy](https://github.com/vmware-tanzu/kubeapps) - - ## TL;DR ```console -$ docker run --name kubeapps-pinniped-proxy bitnami/kubeapps-pinniped-proxy:latest +docker run --name kubeapps-pinniped-proxy bitnami/kubeapps-pinniped-proxy:latest ``` ## Why use Bitnami Images? @@ -56,7 +54,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kubectl/README.md b/bitnami/kubectl/README.md index 277b6f77f68d..ac2ccd51209f 100644 --- a/bitnami/kubectl/README.md +++ b/bitnami/kubectl/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name kubectl bitnami/kubectl:latest +docker run --name kubectl bitnami/kubectl:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Kubectl Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/kubectl). ```console -$ docker pull bitnami/kubectl:latest +docker pull bitnami/kubectl:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/kubectl/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/kubectl:[TAG] +docker pull bitnami/kubectl:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `kubectl version` you can follow the example below: ```console -$ docker run --rm --name kubectl bitnami/kubectl:latest version +docker run --rm --name kubectl bitnami/kubectl:latest version ``` Consult the [Kubectl Reference Documentation](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands) to find the completed list of commands available. @@ -70,7 +70,7 @@ Consult the [Kubectl Reference Documentation](https://kubernetes.io/docs/referen It's possible to load your own configuration, which is useful if you want to connect to a remote cluster: ```console -$ docker run --rm --name kubectl -v /path/to/your/kube/config:/.kube/config bitnami/kubectl:latest +docker run --rm --name kubectl -v /path/to/your/kube/config:/.kube/config bitnami/kubectl:latest ``` ## Contributing @@ -89,7 +89,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/kubernetes-event-exporter/README.md b/bitnami/kubernetes-event-exporter/README.md index 69659a2bfb3f..c2a2f7ebc8d5 100644 --- a/bitnami/kubernetes-event-exporter/README.md +++ b/bitnami/kubernetes-event-exporter/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name kubernetes-event-exporter bitnami/kubernetes-event-exporter:latest +docker run --name kubernetes-event-exporter bitnami/kubernetes-event-exporter:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kubernetes-event-exporter/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kubernetes-event-exporter/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -62,7 +62,7 @@ For further documentation, please check [Kubernetes Event Exporter documentation The Bitnami Kubernetes Event Exporter Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs kubernetes-event-exporter +docker logs kubernetes-event-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -83,7 +83,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/laravel/README.md b/bitnami/laravel/README.md index 48c10d0e7e49..f2bcb332bb53 100644 --- a/bitnami/laravel/README.md +++ b/bitnami/laravel/README.md @@ -13,9 +13,9 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Local workspace ```console -$ mkdir ~/myapp && cd ~/myapp -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/laravel/docker-compose.yml -$ docker-compose up +mkdir ~/myapp && cd ~/myapp +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/laravel/docker-compose.yml +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options for the [MariaDB container](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#readme) for a more secure deployment. @@ -59,13 +59,13 @@ cd ~/myapp Download the [docker-compose.yml](https://raw.githubusercontent.com/bitnami/containers/main/bitnami/laravel/docker-compose.yml) file in the application directory: ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/laravel/docker-compose.yml +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/laravel/docker-compose.yml ``` Finally launch the Laravel application development environment using: ```console -$ docker-compose up +docker-compose up ``` Among other things, the above command creates a container service, named `myapp`, for Laravel development and bootstraps a new Laravel application in the application directory. You can use your favorite IDE for developing the application. @@ -93,38 +93,38 @@ Commands can be launched inside the `myapp` Laravel Development Container with ` The general structure of the `exec` command is: ```console -$ docker-compose exec +docker-compose exec ``` , where `` is the name of the container service as described in the `docker-compose.yml` file and `` is the command you want to launch inside the service. Following are a few examples of launching some commonly used Laravel development commands inside the `myapp` service container. -- List all `artisan` commands: +* List all `artisan` commands: ```console - $ docker-compose exec myapp php artisan list + docker-compose exec myapp php artisan list ``` -- List all registered routes: +* List all registered routes: ```console - $ docker-compose exec myapp php artisan route:list + docker-compose exec myapp php artisan route:list ``` -- Create a new application controller named `UserController`: +* Create a new application controller named `UserController`: ```console - $ docker-compose exec myapp php artisan make:controller UserController + docker-compose exec myapp php artisan make:controller UserController ``` -- Installing a new composer package called `phpmailer/phpmailer` with version `5.2.*`: +* Installing a new composer package called `phpmailer/phpmailer` with version `5.2.*`: ```console - $ docker-compose exec myapp composer require phpmailer/phpmailer:5.2.* + docker-compose exec myapp composer require phpmailer/phpmailer:5.2.* ``` -# Contributing +## Contributing We'd love for you to contribute to this container. You can request new features by creating an [issue](https://github.com/bitnami/containers/blob/main/bitnami/laravel/issues) or submitting a [pull request](https://github.com/bitnami/containers/blob/main/bitnami/laravel/pulls) with your contribution. @@ -132,17 +132,17 @@ We'd love for you to contribute to this container. You can request new features We want to thank the following individuals for reporting vulnerabilities responsibly and helping improve the security of this container. -- [LEI WANG](https://github.com/ssst0n3): [APP_KEY fixed into the docker image](https://github.com/bitnami/bitnami-docker-laravel/issues/139) +* [LEI WANG](https://github.com/ssst0n3): [APP_KEY fixed into the docker image](https://github.com/bitnami/bitnami-docker-laravel/issues/139) ## Issues If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/blob/main/bitnami/laravel/issues/new). Be sure to include the following information in your issue: -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ### Community supported solution @@ -160,7 +160,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/logstash/README.md b/bitnami/logstash/README.md index 18773b0c4de2..1cd668a215c7 100644 --- a/bitnami/logstash/README.md +++ b/bitnami/logstash/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name logstash bitnami/logstash:latest +docker run --name logstash bitnami/logstash:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/logstash/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/logstash/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -53,21 +53,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Logstash Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/logstash). ```console -$ docker pull bitnami/logstash:latest +docker pull bitnami/logstash:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/logstash/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/logstash:[TAG] +docker pull bitnami/logstash:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -77,7 +77,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/logstash-persistence:/bitnami \ bitnami/logstash:latest ``` @@ -105,7 +105,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create logstash-network --driver bridge +docker network create logstash-network --driver bridge ``` #### Step 2: Launch the Logstash container within your network @@ -113,7 +113,7 @@ $ docker network create logstash-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `logstash-network` network. ```console -$ docker run --name logstash-node1 --network logstash-network bitnami/logstash:latest +docker run --name logstash-node1 --network logstash-network bitnami/logstash:latest ``` #### Step 3: Run another containers @@ -125,7 +125,7 @@ We can launch another containers using the same flag (`--network NETWORK`) in th This container, by default, provides a very basic configuration for Logstash, that listen http on port 8080 and writes to stdout. ```console -$ docker run -d -p 8080:8080 bitnami/logstash:latest +docker run -d -p 8080:8080 bitnami/logstash:latest ``` ### Using a configuration string @@ -133,7 +133,7 @@ $ docker run -d -p 8080:8080 bitnami/logstash:latest For simple configurations, you specify it using the `LOGSTASH_CONF_STRING` environment variable: ```console -$ docker run --env LOGSTASH_CONF_STRING="input {file {path => \"/tmp/logstash_input\"}} output {file {path => \"/tmp/logstash_output\"}}" bitnami/logstash:latest +docker run --env LOGSTASH_CONF_STRING="input {file {path => \"/tmp/logstash_input\"}} output {file {path => \"/tmp/logstash_output\"}}" bitnami/logstash:latest ``` ### Using a configuration file @@ -141,7 +141,7 @@ $ docker run --env LOGSTASH_CONF_STRING="input {file {path => \"/tmp/logstash_in You can override the default configuration for Logstash by mounting your own configuration files on directory `/bitnami/logstash/pipeline`. You will need to indicate the file holding the pipeline definition by setting the `LOGSTASH_PIPELINE_CONF_FILENAME` environment variable. ```console -$ docker run -d --env LOGSTASH_PIPELINE_CONF_FILENAME=my_config.conf -v /path/to/custom-conf-directory:/bitnami/logstash/pipeline bitnami/logstash:latest +docker run -d --env LOGSTASH_PIPELINE_CONF_FILENAME=my_config.conf -v /path/to/custom-conf-directory:/bitnami/logstash/pipeline bitnami/logstash:latest ``` ### Additional command line options @@ -149,7 +149,7 @@ $ docker run -d --env LOGSTASH_PIPELINE_CONF_FILENAME=my_config.conf -v /path/to In case you want to add extra flags to the Logstash command, use the `LOGSTASH_EXTRA_FLAGS` variable. Example: ```console -$ docker run -d --env LOGSTASH_EXTRA_FLAGS="-w 4 -b 4096" bitnami/logstash:latest +docker run -d --env LOGSTASH_EXTRA_FLAGS="-w 4 -b 4096" bitnami/logstash:latest ``` ### Using multiple pipelines @@ -159,7 +159,7 @@ You can use [multiple pipelines](https://www.elastic.co/guide/en/logstash/master In that case, you should place your `pipelines.yml` file in the mounted volume (together with the rest of the desired configuration files). If the `LOGSTASH_ENABLE_MULTIPLE_PIPELINES` environment variable is set to `true` but there is not any `pipelines.yml` file in the mounted volume, a dummy file is created using `LOGSTASH_PIPELINE_CONF_FILENAME` as a single pipeline. ```console -$ docker run -d --env LOGSTASH_ENABLE_MULTIPLE_PIPELINES=true -v /path/to/custom-conf-directory:/bitnami/logstash/config bitnami/logstash:latest +docker run -d --env LOGSTASH_ENABLE_MULTIPLE_PIPELINES=true -v /path/to/custom-conf-directory:/bitnami/logstash/config bitnami/logstash:latest ``` ### Exposing Logstash API @@ -167,7 +167,7 @@ $ docker run -d --env LOGSTASH_ENABLE_MULTIPLE_PIPELINES=true -v /path/to/custom You can expose the Logstash API by setting the environment variable `LOGSTASH_EXPOSE_API`, you can also change the default port by using `LOGSTASH_API_PORT_NUMBER`. ```console -$ docker run -d --env LOGSTASH_EXPOSE_API=yes --env LOGSTASH_API_PORT_NUMBER=9090 -p 9090:9090 bitnami/logstash:latest +docker run -d --env LOGSTASH_EXPOSE_API=yes --env LOGSTASH_API_PORT_NUMBER=9090 -p 9090:9090 bitnami/logstash:latest ``` ### Plugins @@ -175,7 +175,7 @@ $ docker run -d --env LOGSTASH_EXPOSE_API=yes --env LOGSTASH_API_PORT_NUMBER=909 You can add extra plugins by setting the `LOGSTASH_PLUGINS` environment variable. To specify multiple plugins, separate them by spaces, commas or semicolons. When the container is initialized it will install all of the specified plugins before starting Logstash. ```console -$ docker run -d --name logstash \ +docker run -d --name logstash \ -e LOGSTASH_PLUGINS=logstash-input-github \ bitnami/logstash:latest ``` @@ -187,9 +187,9 @@ The Bitnami Logstash image provides a way to create your custom image installing To create your own image providing plugins execute the following command. Remember to replace the `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/logstash/VERSION/OPERATING-SYSTEM -$ docker build --build-arg LOGSTASH_PLUGINS= -t bitnami/logstash:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/logstash/VERSION/OPERATING-SYSTEM +docker build --build-arg LOGSTASH_PLUGINS= -t bitnami/logstash:latest . ``` The command above will build the image providing this GitHub repository as build context, and will pass the list of plugins to install to the build logic. @@ -199,7 +199,7 @@ The command above will build the image providing this GitHub repository as build The Bitnami Logstash Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs logstash +docker logs logstash ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -216,7 +216,7 @@ Bitnami provides up-to-date versions of Logstash, including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/logstash:latest +docker pull bitnami/logstash:latest ``` #### Step 2: Stop the running container @@ -224,13 +224,13 @@ $ docker pull bitnami/logstash:latest Stop the currently running container using the command ```console -$ docker stop logstash +docker stop logstash ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v logstash +docker rm -v logstash ``` #### Step 4: Run the new image @@ -238,14 +238,14 @@ $ docker rm -v logstash Re-create your container from the new image. ```console -$ docker run --name logstash bitnami/logstash:latest +docker run --name logstash bitnami/logstash:latest ``` ## Notable Changes ### 7.15.2-debian-10-r12 -- Pipeline configuration files (i.e. `default_config.conf`) are being added into the `/opt/bitnami/logstash/pipeline` directory, instead of `/opt/bitnami/logstash/config`. Subsequently, `LOGSTASH_CONF_FILENAME` was renamed to `LOGSTASH_PIPELINE_CONF_FILENAME`, and `LOGSTASH_CONF_STRING` was renamed to `LOGSTASH_PIPELINE_CONF_STRING`. +* Pipeline configuration files (i.e. `default_config.conf`) are being added into the `/opt/bitnami/logstash/pipeline` directory, instead of `/opt/bitnami/logstash/config`. Subsequently, `LOGSTASH_CONF_FILENAME` was renamed to `LOGSTASH_PIPELINE_CONF_FILENAME`, and `LOGSTASH_CONF_STRING` was renamed to `LOGSTASH_PIPELINE_CONF_STRING`. ## Contributing @@ -263,7 +263,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/magento/README.md b/bitnami/magento/README.md index a653259be233..9a1bd839fe48 100644 --- a/bitnami/magento/README.md +++ b/bitnami/magento/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/magento/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/magento/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -26,7 +26,7 @@ $ docker-compose up -d * All Bitnami images available in Docker Hub are signed with [Docker Content Trust (DCT)](https://docs.docker.com/engine/security/trust/content_trust/). You can use `DOCKER_CONTENT_TRUST=1` to verify the integrity of the images. * Bitnami container images are released on a regular basis with the latest distribution packages available. -# How to deploy Magento in Kubernetes? +## How to deploy Magento in Kubernetes? Deploying Bitnami applications as Helm Charts is the easiest way to get started with our applications on Kubernetes. Read more about the installation in the [Bitnami Magento Chart GitHub repository](https://github.com/bitnami/charts/tree/master/bitnami/magento). @@ -45,21 +45,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Magento Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/magento). ```console -$ docker pull bitnami/magento:latest +docker pull bitnami/magento:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/magento/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/magento:[TAG] +docker pull bitnami/magento:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -71,8 +71,8 @@ Magento requires access to a MySQL or MariaDB database to store information. We' The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/magento/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/magento/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/magento/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -82,14 +82,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create magento-network +docker network create magento-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_magento \ --env MARIADB_PASSWORD=bitnami \ @@ -102,8 +102,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for Magento persistence and launch the container ```console -$ docker volume create --name magento_data -$ docker run -d --name magento \ +docker volume create --name magento_data +docker run -d --name magento \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MAGENTO_DATABASE_USER=bn_magento \ @@ -120,33 +120,33 @@ Access your application at `http://your-ip/` There are a large number of Magento extensions used to add features to your Magento Stores. If you want to install an extension to your Magento container, these are the basic steps you need to take: -#### Step 1: Log into the container shell as root +### Step 1: Log into the container shell as root ```console -$ docker exec -it magento /bin/bash +docker exec -it magento /bin/bash ``` -#### Step 2: Login as the web server user +### Step 2: Login as the web server user ```console -$ su daemon -s /bin/bash +su daemon -s /bin/bash ``` -#### Step 3: Change directory to the Magento root +### Step 3: Change directory to the Magento root ```console -$ cd /bitnami/magento +cd /bitnami/magento ``` -#### Step 4: Follow the installation instructions for the extension. The Magento standard is to use composer. +### Step 4: Follow the installation instructions for the extension. The Magento standard is to use composer ```console -$ composer require -$ php bin/magento module:enable -$ php bin/magento setup:upgrade -$ php bin/magento setup:di:compile -$ php bin/magento setup:static-content:deploy -f -$ php bin/magento cache:flush +composer require +php bin/magento module:enable +php bin/magento setup:upgrade +php bin/magento setup:di:compile +php bin/magento setup:static-content:deploy -f +php bin/magento cache:flush ``` ## Persisting your application @@ -188,13 +188,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create magento-network +docker network create magento-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_magento \ --env MARIADB_PASSWORD=bitnami \ @@ -207,7 +207,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the Magento container with host volumes ```console -$ docker run -d --name magento \ +docker run -d --name magento \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MAGENTO_DATABASE_USER=bn_magento \ @@ -228,7 +228,7 @@ When the container is executed for the first time, it will execute the files wit When you start the Magento 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/magento/docker-compose.yml) file present in this repository: +* 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/magento/docker-compose.yml) file present in this repository: ```yaml magento: @@ -238,10 +238,10 @@ magento: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name magento -p 80:8080 -p 443:8443 \ + docker run -d --name magento -p 80:8080 -p 443:8443 \ --env MAGENTO_PASSWORD=my_password1234 \ --network magento-tier \ --volume /path/to/magento-persistence:/bitnami \ @@ -250,103 +250,103 @@ magento: Available environment variables: -##### User and Site configuration +#### User and Site configuration -- `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** -- `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** -- `MAGENTO_EXTERNAL_HTTP_PORT_NUMBER`: Port to access Magento from outside of the container using HTTP. Used to configure Magento's internal routes. Default: **80** -- `MAGENTO_EXTERNAL_HTTPS_PORT_NUMBER`: Port to access Magento from outside of the container using HTTPS. Used to configure Magento's internal routes. Default: **443** -- `MAGENTO_USERNAME`: Magento application username. Default: **user** -- `MAGENTO_PASSWORD`: Magento application password. Default: **bitnami1** -- `MAGENTO_EMAIL`: Magento application email. Default: **user@example.com** -- `MAGENTO_FIRST_NAME`: Magento application first name. Default: **FirstName** -- `MAGENTO_LAST_NAME`: Magento application last name. Default: **LastName** -- `MAGENTO_HOST`: Magento host domain or IP address. Default: **localhost** -- `MAGENTO_MODE`: Magento mode. Valid values: default, production, developer. Default: **default** -- `MAGENTO_EXTRA_INSTALL_ARGS`: Extra flags to append to the Magento 'setup:install' command call. No defaults -- `MAGENTO_ADMIN_URL_PREFIX`: URL prefix to access the Magento Admin. Default: **admin** -- `MAGENTO_ENABLE_HTTPS`: Whether to use SSL to access the Magento Store. Valid values: yes, no. Default: **no** -- `MAGENTO_ENABLE_ADMIN_HTTPS`: Whether to use SSL to access the Magento Admin. Valid values: yes, no. Default: **no** -- `MAGENTO_DEPLOY_STATIC_CONTENT`: Whether to deploy Magento static content during the initialization, to optimize initial page load time. Default: **no** -- `MAGENTO_KEEP_STATIC`: Whether to keep the content of 'pub/static' folder during the initialization. Default: **no** -- `MAGENTO_SKIP_REINDEX`: Whether to skip Magento re-index during the initialization. Default: **no** -- `MAGENTO_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** +* `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** +* `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** +* `MAGENTO_EXTERNAL_HTTP_PORT_NUMBER`: Port to access Magento from outside of the container using HTTP. Used to configure Magento's internal routes. Default: **80** +* `MAGENTO_EXTERNAL_HTTPS_PORT_NUMBER`: Port to access Magento from outside of the container using HTTPS. Used to configure Magento's internal routes. Default: **443** +* `MAGENTO_USERNAME`: Magento application username. Default: **user** +* `MAGENTO_PASSWORD`: Magento application password. Default: **bitnami1** +* `MAGENTO_EMAIL`: Magento application email. Default: **user@example.com** +* `MAGENTO_FIRST_NAME`: Magento application first name. Default: **FirstName** +* `MAGENTO_LAST_NAME`: Magento application last name. Default: **LastName** +* `MAGENTO_HOST`: Magento host domain or IP address. Default: **localhost** +* `MAGENTO_MODE`: Magento mode. Valid values: default, production, developer. Default: **default** +* `MAGENTO_EXTRA_INSTALL_ARGS`: Extra flags to append to the Magento 'setup:install' command call. No defaults +* `MAGENTO_ADMIN_URL_PREFIX`: URL prefix to access the Magento Admin. Default: **admin** +* `MAGENTO_ENABLE_HTTPS`: Whether to use SSL to access the Magento Store. Valid values: yes, no. Default: **no** +* `MAGENTO_ENABLE_ADMIN_HTTPS`: Whether to use SSL to access the Magento Admin. Valid values: yes, no. Default: **no** +* `MAGENTO_DEPLOY_STATIC_CONTENT`: Whether to deploy Magento static content during the initialization, to optimize initial page load time. Default: **no** +* `MAGENTO_KEEP_STATIC`: Whether to keep the content of 'pub/static' folder during the initialization. Default: **no** +* `MAGENTO_SKIP_REINDEX`: Whether to skip Magento re-index during the initialization. Default: **no** +* `MAGENTO_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** -##### HTTP cache server +#### HTTP cache server -- `MAGENTO_ENABLE_HTTP_CACHE`: Whether to enable a HTTP cache server for Magento (i.e. Varnish). Default: **no** -- `MAGENTO_HTTP_CACHE_BACKEND_HOST`: HTTP cache backend hostname. No defaults -- `MAGENTO_HTTP_CACHE_BACKEND_PORT_NUMBER`: HTTP cache backend port. No defaults -- `MAGENTO_HTTP_CACHE_SERVER_HOST`: HTTP cache server hostname. No defaults -- `MAGENTO_HTTP_CACHE_SERVER_PORT_NUMBER`: HTTP cache server hostname. No defaults +* `MAGENTO_ENABLE_HTTP_CACHE`: Whether to enable a HTTP cache server for Magento (i.e. Varnish). Default: **no** +* `MAGENTO_HTTP_CACHE_BACKEND_HOST`: HTTP cache backend hostname. No defaults +* `MAGENTO_HTTP_CACHE_BACKEND_PORT_NUMBER`: HTTP cache backend port. No defaults +* `MAGENTO_HTTP_CACHE_SERVER_HOST`: HTTP cache server hostname. No defaults +* `MAGENTO_HTTP_CACHE_SERVER_PORT_NUMBER`: HTTP cache server hostname. No defaults -##### Search engines +#### Search engines -- `MAGENTO_SEARCH_ENGINE`: Magento search engine. Default: **elasticsearch7** -- `MAGENTO_ELASTICSEARCH_HOST`: Elasticsearch server host, if using Elasticsearch as a search engine. Default: **elasticsearch** -- `MAGENTO_ELASTICSEARCH_PORT_NUMBER`: Elasticsearch server port number, if using Elasticsearch as a search engine. Default: **9200** -- `MAGENTO_ELASTICSEARCH_USE_HTTPS`: Whether to request Elasticsearch server with 'https://' prefix. Default: **no** -- `MAGENTO_ELASTICSEARCH_ENABLE_AUTH`: Whether to enable authentication for connections to the Elasticsearch server. Default: **no** -- `MAGENTO_ELASTICSEARCH_USER`: Elasticsearch server user login, if using Elasticsearch as a search engine and authentication is enabled. No defaults -- `MAGENTO_ELASTICSEARCH_PASSWORD`: Elasticsearch server user password, if using Elasticsearch as a search engine and authentication is enabled. No defaults +* `MAGENTO_SEARCH_ENGINE`: Magento search engine. Default: **elasticsearch7** +* `MAGENTO_ELASTICSEARCH_HOST`: Elasticsearch server host, if using Elasticsearch as a search engine. Default: **elasticsearch** +* `MAGENTO_ELASTICSEARCH_PORT_NUMBER`: Elasticsearch server port number, if using Elasticsearch as a search engine. Default: **9200** +* `MAGENTO_ELASTICSEARCH_USE_HTTPS`: Whether to request Elasticsearch server with 'https://' prefix. Default: **no** +* `MAGENTO_ELASTICSEARCH_ENABLE_AUTH`: Whether to enable authentication for connections to the Elasticsearch server. Default: **no** +* `MAGENTO_ELASTICSEARCH_USER`: Elasticsearch server user login, if using Elasticsearch as a search engine and authentication is enabled. No defaults +* `MAGENTO_ELASTICSEARCH_PASSWORD`: Elasticsearch server user password, if using Elasticsearch as a search engine and authentication is enabled. No defaults -##### Database server connection credentials and configuration +#### Database server connection credentials and configuration -- `MAGENTO_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MAGENTO_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MAGENTO_DATABASE_NAME`: Database name that Magento will use to connect with the database. Default: **bitnami_magento** -- `MAGENTO_DATABASE_USER`: Database user that Magento will use to connect with the database. Default: **bn_magento** -- `MAGENTO_DATABASE_PASSWORD`: Database password that Magento will use to connect with the database. No defaults. -- `MAGENTO_ENABLE_DATABASE_SSL`: Whether to enable SSL for database connections. Default: **no** -- `MAGENTO_VERIFY_DATABASE_SSL`: Whether to verify the database SSL certificate when SSL is enabled for database connections. Default: **yes** -- `MAGENTO_DATABASE_SSL_CERT_FILE`: Path to the database client certificate file. No defaults -- `MAGENTO_DATABASE_SSL_KEY_FILE`: Path to the database client certificate key file. No defaults -- `MAGENTO_DATABASE_SSL_CA_FILE`: Path to the database server CA bundle file. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MAGENTO_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MAGENTO_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MAGENTO_DATABASE_NAME`: Database name that Magento will use to connect with the database. Default: **bitnami_magento** +* `MAGENTO_DATABASE_USER`: Database user that Magento will use to connect with the database. Default: **bn_magento** +* `MAGENTO_DATABASE_PASSWORD`: Database password that Magento will use to connect with the database. No defaults. +* `MAGENTO_ENABLE_DATABASE_SSL`: Whether to enable SSL for database connections. Default: **no** +* `MAGENTO_VERIFY_DATABASE_SSL`: Whether to verify the database SSL certificate when SSL is enabled for database connections. Default: **yes** +* `MAGENTO_DATABASE_SSL_CERT_FILE`: Path to the database client certificate file. No defaults +* `MAGENTO_DATABASE_SSL_KEY_FILE`: Path to the database client certificate key file. No defaults +* `MAGENTO_DATABASE_SSL_CA_FILE`: Path to the database server CA bundle file. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for Magento using mysql-client +#### Create a database for Magento using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### PHP configuration +#### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. Default: **18000** -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **756M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. Default: **18000** +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **756M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. ## Logging The Bitnami Magento Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs magento +docker logs magento ``` Or using Docker Compose: ```console -$ docker-compose logs magento +docker-compose logs magento ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -360,13 +360,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop magento +docker stop magento ``` Or using Docker Compose: ```console -$ docker-compose stop magento +docker-compose stop magento ``` #### Step 2: Run the backup command @@ -374,7 +374,7 @@ $ docker-compose stop magento We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/magento-backups:/backups --volumes-from magento busybox \ +docker run --rm -v /path/to/magento-backups:/backups --volumes-from magento busybox \ cp -a /bitnami/magento /backups/latest ``` @@ -385,7 +385,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -395,7 +395,7 @@ For the MariaDB database container: For the Magento container: ```diff - $ docker run -d --name magento \ + docker run -d --name magento \ ... - --volume /path/to/magento-persistence:/bitnami/magento \ + --volume /path/to/magento-backups/latest:/bitnami/magento \ @@ -404,7 +404,7 @@ For the Magento container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and Magento, 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 Magento application and bundled components (Apache, PHP...). For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and Magento, 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 Magento application and bundled components (Apache, PHP...). For the MariaDB upgrade see: #### Upgrading the Magento application @@ -425,19 +425,19 @@ In order to properly upgrade Magento, you will need Magento authentication keys * Only if the container is running as `root` user, disable cron jobs and wait for any pending jobs to complete: ```console - $ sed -i 's/^/#/' /etc/cron.d/magento + sed -i 's/^/#/' /etc/cron.d/magento ``` * Increase the PHP `memory_limit` to an apropriate value for the upgrade commands to work, such as `2G`: ```console - $ sed -i 's/memory_limit = .*/memory_limit = 2G/' /opt/bitnami/php/etc/php.ini + sed -i 's/memory_limit = .*/memory_limit = 2G/' /opt/bitnami/php/etc/php.ini ``` * Backup `composer.json`: ```console - $ cp /opt/bitnami/magento/composer.json /opt/bitnami/magento/composer.json.bak + cp /opt/bitnami/magento/composer.json /opt/bitnami/magento/composer.json.bak ``` ##### Step 4: Update Magento to the desired version @@ -445,20 +445,20 @@ In order to properly upgrade Magento, you will need Magento authentication keys * Only if the container is running as `root` user, login as the web server user before executing the below command: ```console - $ su daemon -s /bin/bash + su daemon -s /bin/bash ``` * To avoid user access to your Magento site while you are upgrading, enable maintenance mode: ```console - $ magento maintenance:enable + magento maintenance:enable ``` * Update your Magento requirement to the new desired version in `composer.json`. At this point, you will be asked to provide credentials to access `repo.magento.com`. Enter the authentication keys obtained in Step 1. ```console - $ cd /opt/bitnami/magento - $ composer require magento/product-community-edition=VERSION --no-update + cd /opt/bitnami/magento + composer require magento/product-community-edition=VERSION --no-update ``` > NOTE: Replace the `VERSION` placeholder with an appropriate value, i.e.: `2.4.1` @@ -466,33 +466,33 @@ In order to properly upgrade Magento, you will need Magento authentication keys * Update your installation. You will also be asked to provide the same credentials provided in the previous step. ```console - $ composer update + composer update ``` > NOTE: If you see an error similar to this while executing the above command, you will need to increase the PHP `memory_limit` configuration to an even higher value. > - > ``` + > ```text > Fatal error: Allowed memory size of 21610612736 bytes exhausted > ``` * Clear the `var/` and `generated/` directories: ```console - $ rm -rf /opt/bitnami/magento/var/cache/* - $ rm -rf /opt/bitnami/magento/var/page_cache/* - $ rm -rf /opt/bitnami/magento/generated/* + rm -rf /opt/bitnami/magento/var/cache/* + rm -rf /opt/bitnami/magento/var/page_cache/* + rm -rf /opt/bitnami/magento/generated/* ``` * Upgrade the Magento database schema: ```console - $ magento setup:upgrade + magento setup:upgrade ``` * Finally, disable maintenance mode to complete the upgrade: ```console - $ magento maintenance:disable + magento maintenance:disable ``` ##### Step 5: Restart Docker container @@ -500,13 +500,13 @@ In order to properly upgrade Magento, you will need Magento authentication keys Restart the Docker container to reset any configuration changes: ```console -$ docker stop magento +docker stop magento ``` Or using Docker Compose: ```console -$ docker-compose stop magento +docker-compose stop magento ``` #### Upgrading bundled image components @@ -516,7 +516,7 @@ Follow this guide to upgrade any bundled image components, such as Apache or PHP ##### Step 1: Get the updated image ```console -$ docker pull bitnami/magento:latest +docker pull bitnami/magento:latest ``` ##### Step 2: Stop the running container @@ -524,7 +524,7 @@ $ docker pull bitnami/magento:latest Stop the currently running container using the command ```console -$ docker-compose stop magento +docker-compose stop magento ``` ##### Step 3: Take a snapshot of the application state @@ -544,7 +544,7 @@ docker-compose rm -v magento Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -555,10 +555,10 @@ The Bitnami Magento Docker image is designed to be extended so it can be used as Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -570,9 +570,9 @@ FROM bitnami/magento 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/magento @@ -606,26 +606,26 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ... ``` -# Notable Changes +## Notable Changes ## 2.4.1-debian-10-r80 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The Magento container now supports the "non-root" user approach, but it still runs as the `root` user by default. When running as a non-root user, all services will be run under the same user and Cron jobs will be disabled as crond requires to be run as a superuser. To run as a non-root user, change `USER root` to `USER 1001` in the Dockerfile, or specify `user: 1001` in `docker-compose.yml`. Related changes: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Magento site by exporting its content, and importing it on a new Magento container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The Magento container now supports the "non-root" user approach, but it still runs as the `root` user by default. When running as a non-root user, all services will be run under the same user and Cron jobs will be disabled as crond requires to be run as a superuser. To run as a non-root user, change `USER root` to `USER 1001` in the Dockerfile, or specify `user: 1001` in `docker-compose.yml`. Related changes: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Magento site by exporting its content, and importing it on a new Magento container. ## 2.3.5-debian-10-r57 -- To avoid issues running custom plugins and themes, the container image has been modified to persist the entire Magento `htdocs` directory. As a consecuence of this change, it is not possible to update the application by changing the image tag anymore, instead, it is needed to [follow the official update guide](https://devdocs.magento.com/guides/v2.3/comp-mgr/cli/cli-upgrade.html). +* To avoid issues running custom plugins and themes, the container image has been modified to persist the entire Magento `htdocs` directory. As a consecuence of this change, it is not possible to update the application by changing the image tag anymore, instead, it is needed to [follow the official update guide](https://devdocs.magento.com/guides/v2.3/comp-mgr/cli/cli-upgrade.html). ## 2.3.1-debian-9-r44 and 2.3.1-ol-7-r53 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -651,7 +651,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mariadb-galera/README.md b/bitnami/mariadb-galera/README.md index dcb6724b0262..ab4aef694880 100644 --- a/bitnami/mariadb-galera/README.md +++ b/bitnami/mariadb-galera/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ bitnami/mariadb-galera:latest ``` @@ -19,8 +19,8 @@ $ docker run --name mariadb \ ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mariadb-galera/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mariadb-galera/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -59,21 +59,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MariaDB Galera Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mariadb-galera). ```console -$ docker pull bitnami/mariadb-galera:latest +docker pull bitnami/mariadb-galera:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/mariadb-galera/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/mariadb-galera:[TAG] +docker pull bitnami/mariadb-galera:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -83,7 +83,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/mariadb` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/mariadb-persistence:/bitnami/mariadb \ bitnami/mariadb-galera:latest @@ -113,7 +113,7 @@ In this example, we will create a MariaDB client instance that will connect to t #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the MariaDB server instance @@ -121,7 +121,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the MariaDB container to the `app-tier` network. ```console -$ docker run -d --name mariadb-galera \ +docker run -d --name mariadb-galera \ -e ALLOW_EMPTY_PASSWORD=yes \ --network app-tier \ bitnami/mariadb-galera:latest @@ -132,7 +132,7 @@ $ docker run -d --name mariadb-galera \ Finally we create a new container instance to launch the MariaDB client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/mariadb-galera:latest mysql -h mariadb-galera -u root ``` @@ -169,7 +169,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -188,10 +188,10 @@ Take into account those scripts are treated differently depending on the extensi Passing extra command-line flags to the mysqld service command is possible through the following env var: -- `MARIADB_EXTRA_FLAGS`: Flags to be appended to the startup command. No defaults +* `MARIADB_EXTRA_FLAGS`: Flags to be appended to the startup command. No defaults ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_EXTRA_FLAGS='--max-connect-errors=1000 --max_connections=155' \ bitnami/mariadb-galera:latest @@ -212,20 +212,20 @@ services: It is possible to configure the character set and collation used by default by the database with the following environment variables: -- `MARIADB_CHARACTER_SET`: The default character set to use. Default: `utf8` -- `MARIADB_COLLATE`: The default collation to use. Default: `utf8_general_ci` +* `MARIADB_CHARACTER_SET`: The default character set to use. Default: `utf8` +* `MARIADB_COLLATE`: The default collation to use. Default: `utf8_general_ci` ### Setting the root password on first run The root user and password can easily be setup with the Bitnami MariaDB Galera Docker image using the following environment variables: - - `MARIADB_ROOT_USER`: The database admin user. Defaults to `root`. - - `MARIADB_ROOT_PASSWORD`: The database admin user password. No defaults. +* `MARIADB_ROOT_USER`: The database admin user. Defaults to `root`. +* `MARIADB_ROOT_PASSWORD`: The database admin user password. No defaults. Passing the `MARIADB_ROOT_PASSWORD` environment variable when running the image for the first time will set the password of the `MARIADB_ROOT_USER` user to the value of `MARIADB_ROOT_PASSWORD`. ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e MARIADB_ROOT_PASSWORD=password123 \ bitnami/mariadb-galera:latest ``` @@ -248,14 +248,13 @@ services: By default the MariaDB Galera image expects all the available passwords to be set. In order to allow empty passwords, it is necessary to set the `ALLOW_EMPTY_PASSWORD=yes` env variable. This env variable is only suggested for testing or development purposes. We strongly recommend specifying the `MARIADB_ROOT_PASSWORD` for any other scenario. ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ bitnami/mariadb-galera:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mariadb-galera/docker-compose.yml) file present in this repository: - ```yaml services: mariadb: @@ -270,7 +269,7 @@ services: By passing the `MARIADB_DATABASE` environment variable when running the image for the first time, a database will be created. This is useful if your application requires that a database already exists, saving you from having to manually create the database using the MySQL client. ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_DATABASE=my_database \ bitnami/mariadb-galera:latest @@ -293,7 +292,7 @@ services: You can create a restricted database user that only has permissions for the database created with the [`MARIADB_DATABASE`](#creating-a-database-on-first-run) environment variable. To do this, provide the `MARIADB_USER` environment variable and to set a password for the database user provide the `MARIADB_PASSWORD` variable. ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_USER=my_user \ -e MARIADB_PASSWORD=my_password \ @@ -321,22 +320,22 @@ services: LDAP configuration parameters must be specified if you wish to enable LDAP support for your MariaDB Galera cluster. The following environment variables are available to configure LDAP support: -- `MARIADB_ENABLE_LDAP`: Whether to enable LDAP authentication. Defaults to `no`. -- `LDAP_URI`: LDAP URL beginning in the form `ldap[s]:/:`. No defaults. -- `LDAP_BASE`: LDAP base DN. No defaults. -- `LDAP_BIND_DN`: LDAP bind DN. No defaults. -- `LDAP_BIND_PASSWORD`: LDAP bind password. No defaults. -- `LDAP_BASE_LOOKUP`: LDAP base lookup (Optional). No defaults. -- `LDAP_NSS_INITGROUPS_IGNOREUSERS`: LDAP ignored users. Defaults to `root,nslcd`. -- `LDAP_SCOPE`: LDAP search scope (Optional). No defaults. -- `LDAP_SEARCH_FILTER`: LDAP search filter on posix users (Optional). No defaults. -- `LDAP_SEARCH_MAP`: LDAP custom search attribute to be looked up on posix users (Optional). No defaults. -- `LDAP_TLS_REQCERT`: LDAP TLS check on server certificates (Optional). No defaults. +* `MARIADB_ENABLE_LDAP`: Whether to enable LDAP authentication. Defaults to `no`. +* `LDAP_URI`: LDAP URL beginning in the form `ldap[s]:/:`. No defaults. +* `LDAP_BASE`: LDAP base DN. No defaults. +* `LDAP_BIND_DN`: LDAP bind DN. No defaults. +* `LDAP_BIND_PASSWORD`: LDAP bind password. No defaults. +* `LDAP_BASE_LOOKUP`: LDAP base lookup (Optional). No defaults. +* `LDAP_NSS_INITGROUPS_IGNOREUSERS`: LDAP ignored users. Defaults to `root,nslcd`. +* `LDAP_SCOPE`: LDAP search scope (Optional). No defaults. +* `LDAP_SEARCH_FILTER`: LDAP search filter on posix users (Optional). No defaults. +* `LDAP_SEARCH_MAP`: LDAP custom search attribute to be looked up on posix users (Optional). No defaults. +* `LDAP_TLS_REQCERT`: LDAP TLS check on server certificates (Optional). No defaults. #### Step 1: Start MariaDB Galera with LDAP support ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_ENABLE_LDAP=yes \ -e LDAP_URI=ldap://ldap.example.org/ \ @@ -368,7 +367,7 @@ services: Login to the MariaDB server using the `root` credentials and configure the LDAP users you wish to have access to the MariaDB Galera cluster. ```console -$ mysql -uroot -e "CREATE USER 'foo'@'localhost' IDENTIFIED VIA pam USING 'mariadb';" +mysql -uroot -e "CREATE USER 'foo'@'localhost' IDENTIFIED VIA pam USING 'mariadb';" ``` The above command configures the database user `foo` to authenticate itself with the LDAP credentials to log in to MariaDB Galera server. @@ -379,15 +378,15 @@ Refer to the [OpenLDAP Administrator's Guide](https://www.openldap.org/doc/admin To secure the traffic you must mount the certificates files and set the following environment variables in all the cluster members: -- `MARIADB_ENABLE_TLS`: Whether to enable TLS for traffic. Defaults to `no`. -- `MARIADB_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. -- `MARIADB_TLS_KEY_FILE`: File containing the key for certificate. No defaults. -- `MARIADB_TLS_CA_FILE`: File containing the CA of the certificate. No defaults. +* `MARIADB_ENABLE_TLS`: Whether to enable TLS for traffic. Defaults to `no`. +* `MARIADB_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. +* `MARIADB_TLS_KEY_FILE`: File containing the key for certificate. No defaults. +* `MARIADB_TLS_CA_FILE`: File containing the CA of the certificate. No defaults. #### Start MariaDB Galera with secured traffic ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -v /path/to/cert.pem:/bitnami/mariadb/certs/cert.pem:ro -v /path/to/key.pem:/bitnami/mariadb/certs/key.pem:ro -v /path/to/ca.pem:/bitnami/mariadb/certs/ca.pem:ro @@ -404,7 +403,7 @@ $ docker run --name mariadb \ To connect to the server using TLS you need to mount the CA certificate file and start the client using the `--ssl-ca` parameter ```console -$ docker run -it --rm \ +docker run -it --rm \ -v /path/to/ca.pem:/bitnami/mariadb/certs/ca.pem:ro \ --network app-tier \ bitnami/mariadb-galera:latest mysql -h mariadb-galera -u root --ssl-ca=/bitnami/mariadb/certs/ca.pem @@ -414,14 +413,14 @@ $ docker run -it --rm \ A **zero downtime** MariaDB Galera [replication](https://dev.mysql.com/doc/refman/5.7/en/server-option-variable-reference.html) cluster can easily be setup with the Bitnami MariaDB Galera Docker image by starting additional MariaDB Galera nodes. The following environment variables are available to configure the cluster: -- `MARIADB_GALERA_CLUSTER_BOOTSTRAP`: Whether node is first node of the cluster. No defaults. -- `MARIADB_GALERA_CLUSTER_NAME`: Galera cluster name. Default to `galera`. -- `MARIADB_GALERA_CLUSTER_ADDRESS`: Galera cluster address to join. Defaults to `gcomm://` on a bootstrap node. -- `MARIADB_GALERA_NODE_ADDRESS`: Node address to report to the Galera cluster. Defaults to eth0 address inside container. -- `MARIADB_GALERA_MARIABACKUP_USER`: [mariabackup](https://mariadb.com/kb/en/library/mariabackup-overview/) username for [State Snapshot Transfer(SST)](https://galeracluster.com/library/documentation/glossary.html#term-state-snapshot-transfer). Defaults to `mariabackup`. -- `MARIADB_GALERA_MARIABACKUP_PASSWORD`: [mariabackup](https://mariadb.com/kb/en/library/mariabackup-overview/) password for SST. No defaults. -- `MARIADB_REPLICATION_USER`: mariadb replication username. Defaults to `monitor`. -- `MARIADB_REPLICATION_PASSWORD`: mariadb replication user password. Defaults to `monitor`. +* `MARIADB_GALERA_CLUSTER_BOOTSTRAP`: Whether node is first node of the cluster. No defaults. +* `MARIADB_GALERA_CLUSTER_NAME`: Galera cluster name. Default to `galera`. +* `MARIADB_GALERA_CLUSTER_ADDRESS`: Galera cluster address to join. Defaults to `gcomm://` on a bootstrap node. +* `MARIADB_GALERA_NODE_ADDRESS`: Node address to report to the Galera cluster. Defaults to eth0 address inside container. +* `MARIADB_GALERA_MARIABACKUP_USER`: [mariabackup](https://mariadb.com/kb/en/library/mariabackup-overview/) username for [State Snapshot Transfer(SST)](https://galeracluster.com/library/documentation/glossary.html#term-state-snapshot-transfer). Defaults to `mariabackup`. +* `MARIADB_GALERA_MARIABACKUP_PASSWORD`: [mariabackup](https://mariadb.com/kb/en/library/mariabackup-overview/) password for SST. No defaults. +* `MARIADB_REPLICATION_USER`: mariadb replication username. Defaults to `monitor`. +* `MARIADB_REPLICATION_PASSWORD`: mariadb replication user password. Defaults to `monitor`. In a MariaDB Galera cluster the first node should be a bootstrap node (started with `MARIADB_GALERA_CLUSTER_BOOTSTRAP=yes`). The other nodes in the cluster should not be started with this environment variable, instead the `MARIADB_GALERA_CLUSTER_ADDRESS` variable should be specified. All the nodes in the MariaDB Galera cluster are in read-write mode and therefore offers high availability for high traffic applications. @@ -432,7 +431,7 @@ MariaDB Galera cluster requires every node can connect to each other. If you run The first step is to start the MariaDB Galera bootstrap node. ```console -$ docker run -d --name mariadb-galera-0 \ +docker run -d --name mariadb-galera-0 \ -e MARIADB_GALERA_CLUSTER_NAME=my_galera \ -e MARIADB_GALERA_MARIABACKUP_USER=my_mariabackup_user \ -e MARIADB_GALERA_MARIABACKUP_PASSWORD=my_mariabackup_password \ @@ -453,7 +452,7 @@ In the above command the container is configured as the bootstrap node by specif Next we add a new node to the cluster. ```console -$ docker run -d --name mariadb-galera-1 --link mariadb-galera-0:mariadb-galera \ +docker run -d --name mariadb-galera-1 --link mariadb-galera-0:mariadb-galera \ -e MARIADB_GALERA_CLUSTER_NAME=my_galera \ -e MARIADB_GALERA_CLUSTER_ADDRESS=gcomm://mariadb-galera:4567,0.0.0.0:4567 \ -e MARIADB_GALERA_MARIABACKUP_USER=my_mariabackup_user \ @@ -480,17 +479,17 @@ The image looks for user-defined configurations in `/opt/bitnami/mariadb/conf/my For example, in order to override the `max_allowed_packet` directive: -#### Step 1: Write your `my_custom.cnf` file with the following content. +#### Step 1: Write your `my_custom.cnf` file with the following content ```config [mysqld] max_allowed_packet=32M ``` -#### Step 2: Run the MariaDB Galera image with the designed volume attached. +#### Step 2: Run the MariaDB Galera image with the designed volume attached ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -p 3306:3306 \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/my_custom.cnf:/opt/bitnami/mariadb/conf/my_custom.cnf:ro \ @@ -519,7 +518,7 @@ Refer to the [MySQL server option and variable reference guide](https://dev.mysq It is also possible to use your custom `my.cnf` and overwrite the main configuration file. ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/my.cnf:/opt/bitnami/mariadb/conf/my.cnf:ro \ bitnami/mariadb-galera:latest @@ -533,7 +532,7 @@ The Bitnami MariaDB Galera Docker image is designed to be extended so it can be Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by MariaDB, by setting the environment variables `MARIADB_PORT_NUMBER` or the character set using `MARIADB_CHARACTER_SET` respectively. +* Settings that can be adapted using environment variables. For instance, you can change the ports used by MariaDB, by setting the environment variables `MARIADB_PORT_NUMBER` or the character set using `MARIADB_CHARACTER_SET` respectively. If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -545,10 +544,10 @@ FROM bitnami/mariadb-galera Here is an example of extending the image with the following modifications: -- Install the `vim` editor -- Modify the MariaDB configuration file -- Modify the ports used by MariaDB -- Change the user that runs the container +* Install the `vim` editor +* Modify the MariaDB configuration file +* Modify the ports used by MariaDB +* Change the user that runs the container ```Dockerfile FROM bitnami/mariadb-galera @@ -574,7 +573,7 @@ USER 1002 Based on the extended image, you can use a Docker Compose file like the one below to add other features: -- Add a custom configuration +* Add a custom configuration ```yaml version: '2' @@ -597,13 +596,13 @@ volumes: The Bitnami MariaDB Galera Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs mariadb +docker logs mariadb ``` or using Docker Compose: ```console -$ docker-compose logs mariadb +docker-compose logs mariadb ``` To increase the verbosity on intialization or add extra debug information, you can assign the `BITNAMI_DEBUG` environment variable to `true`. @@ -619,7 +618,7 @@ Bitnami provides up-to-date versions of MariaDB, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/mariadb-galera:latest +docker pull bitnami/mariadb-galera:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -630,19 +629,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop mariadb +docker stop mariadb ``` or using Docker Compose: ```console -$ docker-compose stop mariadb +docker-compose stop mariadb ``` Next, take a snapshot of the persistent volume `/path/to/mariadb-persistence` using: ```console -$ rsync -a /path/to/mariadb-persistence /path/to/mariadb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/mariadb-persistence /path/to/mariadb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -650,13 +649,13 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v mariadb +docker rm -v mariadb ``` or using Docker Compose: ```console -$ docker-compose rm -v mariadb +docker-compose rm -v mariadb ``` #### Step 4: Run the new image @@ -664,42 +663,42 @@ $ docker-compose rm -v mariadb Re-create your container from the new image. ```console -$ docker run --name mariadb bitnami/mariadb-galera:latest +docker run --name mariadb bitnami/mariadb-galera:latest ``` or using Docker Compose: ```console -$ docker-compose up mariadb +docker-compose up mariadb ``` ## Useful Links -- [Create An AMP Development Environment With Bitnami Containers](https://docs.bitnami.com/containers/how-to/create-amp-environment-containers/) -- [Create An EMP Development Environment With Bitnami Containers](https://docs.bitnami.com/containers/how-to/create-emp-environment-containers/) +* [Create An AMP Development Environment With Bitnami Containers](https://docs.bitnami.com/containers/how-to/create-amp-environment-containers/) +* [Create An EMP Development Environment With Bitnami Containers](https://docs.bitnami.com/containers/how-to/create-emp-environment-containers/) ## Notable Changes ### 10.2.41-debian-10-r11, 10.3.32-debian-10-r11, 10.4.22-debian-10-r11, 10.5.13-debian-10-r10 and 10.6.5-debian-10-r10 -- The command `mysql_upgrade` no longer includes the flag `--force`. Nonetheless, it can be enabled by using the [mysql_upgrade] option group in the MariaDB configuration. +* The command `mysql_upgrade` no longer includes the flag `--force`. Nonetheless, it can be enabled by using the [mysql_upgrade] option group in the MariaDB configuration. ### 10.4.13-debian-10-r12, 10.3.23-debian-10-r14, 10.2.32-debian-10-r14 and 10.1.45-debian-10-r15 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. ### 10.4.12-debian-10-r53, 10.3.22-debian-10-r54, 10.2.31-debian-10-r53, and 10.1.44-debian-10-r53 -- The MariaDB Galera container has been migrated to a "non-root" user approach. Previously the container ran as the `root` user, and the MySQL daemon was started as the `mysql` user. From now on, both the container and the MySQL daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. -- Consequences: - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the data site by creating a backup of the databse, and restoring it on a new MariaDB Galera container. In the link below you can find a guide that explain the whole process: - - [Create And Restore MySQL/MariaDB Backups](https://docs.bitnami.com/general/infrastructure/mariadb/administration/backup-restore-mysql-mariadb/) -- Environment variables related to LDAP configuration were renamed removing the `MARIADB_` prefix. For instance, to indicate the LDAP URI to use, you must set `LDAP_URI` instead of `MARIADB_LDAP_URI`. +* The MariaDB Galera container has been migrated to a "non-root" user approach. Previously the container ran as the `root` user, and the MySQL daemon was started as the `mysql` user. From now on, both the container and the MySQL daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* Consequences: + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the data site by creating a backup of the databse, and restoring it on a new MariaDB Galera container. In the link below you can find a guide that explain the whole process: + * [Create And Restore MySQL/MariaDB Backups](https://docs.bitnami.com/general/infrastructure/mariadb/administration/backup-restore-mysql-mariadb/) +* Environment variables related to LDAP configuration were renamed removing the `MARIADB_` prefix. For instance, to indicate the LDAP URI to use, you must set `LDAP_URI` instead of `MARIADB_LDAP_URI`. ### 10.1.43-centos-7-r78, 10.2.30-centos-7-r40, 10.3.21-centos-7-r41, and 10.4.11-centos-7-r32 -- `10.1.43-centos-7-r78`, `10.2.30-centos-7-r40`, `10.3.21-centos-7-r41`, and `10.4.11-centos-7-r32` are considered the latest images based on CentOS. -- Standard supported distros: Debian & OEL. +* `10.1.43-centos-7-r78`, `10.2.30-centos-7-r40`, `10.3.21-centos-7-r41`, and `10.4.11-centos-7-r32` are considered the latest images based on CentOS. +* Standard supported distros: Debian & OEL. ## Contributing @@ -717,7 +716,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mariadb/README.md b/bitnami/mariadb/README.md index 74b6edfe2bba..c52d622dc6c2 100644 --- a/bitnami/mariadb/README.md +++ b/bitnami/mariadb/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name mariadb -e ALLOW_EMPTY_PASSWORD=yes bitnami/mariadb:latest +docker run --name mariadb -e ALLOW_EMPTY_PASSWORD=yes bitnami/mariadb:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mariadb/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mariadb/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -55,7 +55,7 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MariaDB Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mariadb). ```console -$ docker pull bitnami/mariadb:latest +docker pull bitnami/mariadb:latest ``` To use a specific version, you can pull a versioned tag. You can view the @@ -63,15 +63,15 @@ To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry. ```console -$ docker pull bitnami/mariadb:[TAG] +docker pull bitnami/mariadb:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -81,7 +81,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/mariadb` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/mariadb-persistence:/bitnami/mariadb \ bitnami/mariadb:latest @@ -113,7 +113,7 @@ In this example, we will create a MariaDB client instance that will connect to t #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the MariaDB server instance @@ -121,7 +121,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the MariaDB container to the `app-tier` network. ```console -$ docker run -d --name mariadb-server \ +docker run -d --name mariadb-server \ -e ALLOW_EMPTY_PASSWORD=yes \ --network app-tier \ bitnami/mariadb:latest @@ -132,7 +132,7 @@ $ docker run -d --name mariadb-server \ Finally we create a new container instance to launch the MariaDB client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/mariadb:latest mysql -h mariadb-server -u root ``` @@ -169,7 +169,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -188,10 +188,10 @@ Take into account those scripts are treated differently depending on the extensi Passing extra command-line flags to the mysqld service command is possible through the following env var: -- `MARIADB_EXTRA_FLAGS`: Flags to be appended to the startup command. No defaults +* `MARIADB_EXTRA_FLAGS`: Flags to be appended to the startup command. No defaults ```console -$ docker run --name mariadb -e ALLOW_EMPTY_PASSWORD=yes -e MARIADB_EXTRA_FLAGS='--max-connect-errors=1000 --max_connections=155' bitnami/mariadb:latest +docker run --name mariadb -e ALLOW_EMPTY_PASSWORD=yes -e MARIADB_EXTRA_FLAGS='--max-connect-errors=1000 --max_connections=155' bitnami/mariadb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mariadb/docker-compose.yml) file present in this repository: @@ -210,21 +210,21 @@ services: It is possible to configure the character set and collation used by default by the database with the following environment variables: -- `MARIADB_CHARACTER_SET`: The default character set to use. Default: `utf8` -- `MARIADB_COLLATE`: The default collation to use. Default: `utf8_general_ci` +* `MARIADB_CHARACTER_SET`: The default character set to use. Default: `utf8` +* `MARIADB_COLLATE`: The default collation to use. Default: `utf8_general_ci` ### Setting the root password on first run The root user and password can easily be setup with the Bitnami MariaDB Docker image using the following environment variables: - - `MARIADB_ROOT_USER`: The database admin user. Defaults to `root`. - - `MARIADB_ROOT_PASSWORD`: The database admin user password. No defaults. - - `MARIADB_ROOT_PASSWORD_FILE`: Path to a file that contains the admin user password. This will override the value specified in `MARIADB_ROOT_PASSWORD`. No defaults. +* `MARIADB_ROOT_USER`: The database admin user. Defaults to `root`. +* `MARIADB_ROOT_PASSWORD`: The database admin user password. No defaults. +* `MARIADB_ROOT_PASSWORD_FILE`: Path to a file that contains the admin user password. This will override the value specified in `MARIADB_ROOT_PASSWORD`. No defaults. Passing the `MARIADB_ROOT_PASSWORD` environment variable when running the image for the first time will set the password of the `MARIADB_ROOT_USER` user to the value of `MARIADB_ROOT_PASSWORD`. ```console -$ docker run --name mariadb -e MARIADB_ROOT_PASSWORD=password123 bitnami/mariadb:latest +docker run --name mariadb -e MARIADB_ROOT_PASSWORD=password123 bitnami/mariadb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mariadb/docker-compose.yml) file present in this repository: @@ -245,12 +245,11 @@ services: By default the MariaDB image expects all the available passwords to be set. In order to allow empty passwords, it is necessary to set the `ALLOW_EMPTY_PASSWORD=yes` env variable. This env variable is only recommended for testing or development purposes. We strongly recommend specifying the `MARIADB_ROOT_PASSWORD` for any other scenario. ```console -$ docker run --name mariadb -e ALLOW_EMPTY_PASSWORD=yes bitnami/mariadb:latest +docker run --name mariadb -e ALLOW_EMPTY_PASSWORD=yes bitnami/mariadb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mariadb/docker-compose.yml) file present in this repository: - ```yaml services: mariadb: @@ -265,7 +264,7 @@ services: By passing the `MARIADB_DATABASE` environment variable when running the image for the first time, a database will be created. This is useful if your application requires that a database already exists, saving you from having to manually create the database using the MySQL client. ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_DATABASE=my_database \ bitnami/mariadb:latest @@ -288,7 +287,7 @@ services: You can create a restricted database user that only has permissions for the database created with the [`MARIADB_DATABASE`](#creating-a-database-on-first-run) environment variable. To do this, provide the `MARIADB_USER` environment variable and to set a password for the database user provide the `MARIADB_PASSWORD` variable (alternatively, you can set the `MARIADB_PASSWORD_FILE` with the path to a file that contains the user password). MariaDB supports different authentication mechanisms, such as `pam` or `mysql_native_password`. To set it, use the `MARIADB_AUTHENTICATION_PLUGIN` variable. ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_USER=my_user \ -e MARIADB_PASSWORD=my_password \ @@ -319,7 +318,7 @@ By default MariaDB creates a test database. In order to disable the creation of To disable the test database in the Bitnami MariaDB container, set the `MARIADB_SKIP_TEST_DB` environment variable to `yes` during the first boot of the container. ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_SKIP_TEST_DB=yes \ bitnami/mariadb:latest @@ -341,8 +340,8 @@ services: By default MariaDB doesn't enable [slow query log](https://mariadb.com/kb/en/slow-query-log-overview/) to record the SQL queries that take a long time to perform. You can modify these settings using the following environment variables: -- `MARIADB_ENABLE_SLOW_QUERY`: Whether to enable slow query logs. Default: `0` -- `MARIADB_LONG_QUERY_TIME`: How much time, in seconds, defines a slow query. Default: `10.0` +* `MARIADB_ENABLE_SLOW_QUERY`: Whether to enable slow query logs. Default: `0` +* `MARIADB_LONG_QUERY_TIME`: How much time, in seconds, defines a slow query. Default: `10.0` ### Slow filesystems @@ -352,25 +351,26 @@ In some platforms, the filesystem used for persistence could be slow. That could A **zero downtime** MariaDB master-slave [replication](https://dev.mysql.com/doc/refman/5.7/en/server-option-variable-reference.html) cluster can easily be setup with the Bitnami MariaDB Docker image using the following environment variables: - - `MARIADB_REPLICATION_MODE`: The replication mode. Possible values `master`/`slave`. No defaults. - - `MARIADB_REPLICATION_USER`: The replication user created on the master on first run. No defaults. - - `MARIADB_REPLICATION_PASSWORD`: The replication users password. No defaults. - - `MARIADB_REPLICATION_PASSWORD_FILE`: Path to a file that contains the replication user password. This will override the value specified in `MARIADB_REPLICATION_PASSWORD`. No defaults. - - `MARIADB_MASTER_HOST`: Hostname/IP of replication master (slave parameter). No defaults. - - `MARIADB_MASTER_PORT_NUMBER`: Server port of the replication master (slave parameter). Defaults to `3306`. - - `MARIADB_MASTER_ROOT_USER`: User on replication master with access to `MARIADB_DATABASE` (slave parameter). Defaults to `root` - - `MARIADB_MASTER_ROOT_PASSWORD`: Password of user on replication master with access to `MARIADB_DATABASE` (slave parameter). No defaults. - - `MARIADB_MASTER_ROOT_PASSWORD_FILE`: Path to a file that contains the password of user on replication master with access to `MARIADB_DATABASE`. This will override the value specified in `MARIADB_MASTER_ROOT_PASSWORD`. No defaults. +* `MARIADB_REPLICATION_MODE`: The replication mode. Possible values `master`/`slave`. No defaults. +* `MARIADB_REPLICATION_USER`: The replication user created on the master on first run. No defaults. +* `MARIADB_REPLICATION_PASSWORD`: The replication users password. No defaults. +* `MARIADB_REPLICATION_PASSWORD_FILE`: Path to a file that contains the replication user password. This will override the value specified in `MARIADB_REPLICATION_PASSWORD`. No defaults. +* `MARIADB_MASTER_HOST`: Hostname/IP of replication master (slave parameter). No defaults. +* `MARIADB_MASTER_PORT_NUMBER`: Server port of the replication master (slave parameter). Defaults to `3306`. +* `MARIADB_MASTER_ROOT_USER`: User on replication master with access to `MARIADB_DATABASE` (slave parameter). Defaults to `root` +* `MARIADB_MASTER_ROOT_PASSWORD`: Password of user on replication master with access to `MARIADB_DATABASE` (slave parameter). No defaults. +* `MARIADB_MASTER_ROOT_PASSWORD_FILE`: Path to a file that contains the password of user on replication master with access to `MARIADB_DATABASE`. This will override the value specified in `MARIADB_MASTER_ROOT_PASSWORD`. No defaults. In a replication cluster you can have one master and zero or more slaves. When replication is enabled the master node is in read-write mode, while the slaves are in read-only mode. For best performance its advisable to limit the reads to the slaves. > **Note**: you can use the [mariadb-galera image](https://github.com/bitnami/containers/blob/main/bitnami/mariadb-galera) to set up a master-master replication cluster +> #### Step 1: Create the replication master The first step is to start the MariaDB master. ```console -$ docker run --name mariadb-master \ +docker run --name mariadb-master \ -e MARIADB_ROOT_PASSWORD=master_root_password \ -e MARIADB_REPLICATION_MODE=master \ -e MARIADB_REPLICATION_USER=my_repl_user \ @@ -388,7 +388,7 @@ In the above command the container is configured as the `master` using the `MARI Next we start a MariaDB slave container. ```console -$ docker run --name mariadb-slave --link mariadb-master:master \ +docker run --name mariadb-slave --link mariadb-master:master \ -e MARIADB_REPLICATION_MODE=slave \ -e MARIADB_REPLICATION_USER=my_repl_user \ -e MARIADB_REPLICATION_PASSWORD=my_repl_password \ @@ -439,7 +439,7 @@ services: Scale the number of slaves using: ```console -$ docker-compose up --detach --scale mariadb-master=1 --scale mariadb-slave=3 +docker-compose up --detach --scale mariadb-master=1 --scale mariadb-slave=3 ``` The above command scales up the number of slaves to `3`. You can scale down in the same manner. @@ -452,17 +452,17 @@ The image looks for user-defined configurations in `/opt/bitnami/mariadb/conf/my For example, in order to override the `max_allowed_packet` directive: -#### Step 1: Write your `my_custom.cnf` file with the following content. +#### Step 1: Write your `my_custom.cnf` file with the following content ```config [mysqld] max_allowed_packet=32M ``` -#### Step 2: Run the mariaDB image with the designed volume attached. +#### Step 2: Run the mariaDB image with the designed volume attached ```console -$ docker run --name mariadb \ +docker run --name mariadb \ -p 3306:3306 \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/my_custom.cnf:/opt/bitnami/mariadb/conf/my_custom.cnf:ro \ @@ -491,7 +491,7 @@ Refer to the [MariaDB server option and variable reference guide](https://dev.my It is also possible to use your custom `my.cnf` and overwrite the main configuration file. ```console -$ docker run --name mariadb -e ALLOW_EMPTY_PASSWORD=yes -v /path/to/my.cnf:/opt/bitnami/mariadb/conf/my.cnf:ro bitnami/mariadb:latest +docker run --name mariadb -e ALLOW_EMPTY_PASSWORD=yes -v /path/to/my.cnf:/opt/bitnami/mariadb/conf/my.cnf:ro bitnami/mariadb:latest ``` ## Customize this image @@ -502,7 +502,7 @@ The Bitnami MariaDB Docker image is designed to be extended so it can be used as Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by MariaDB, by setting the environment variables `MARIADB_PORT_NUMBER` or the character set using `MARIADB_CHARACTER_SET` respectively. +* Settings that can be adapted using environment variables. For instance, you can change the ports used by MariaDB, by setting the environment variables `MARIADB_PORT_NUMBER` or the character set using `MARIADB_CHARACTER_SET` respectively. If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -514,10 +514,10 @@ FROM bitnami/mariadb Here is an example of extending the image with the following modifications: -- Install the `vim` editor -- Modify the MariaDB configuration file -- Modify the ports used by MariaDB -- Change the user that runs the container +* Install the `vim` editor +* Modify the MariaDB configuration file +* Modify the ports used by MariaDB +* Change the user that runs the container ```Dockerfile FROM bitnami/mariadb @@ -543,7 +543,7 @@ USER 1002 Based on the extended image, you can use a Docker Compose file like the one below to add other features: -- Add a custom configuration +* Add a custom configuration ```yaml version: '2' @@ -566,13 +566,13 @@ volumes: The Bitnami MariaDB Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs mariadb +docker logs mariadb ``` or using Docker Compose: ```console -$ docker-compose logs mariadb +docker-compose logs mariadb ``` To increase the verbosity on intialization or add extra debug information, you can assign the `BITNAMI_DEBUG` environment variable to `true`. @@ -588,7 +588,7 @@ Bitnami provides up-to-date versions of MariaDB, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/mariadb:latest +docker pull bitnami/mariadb:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -599,19 +599,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop mariadb +docker stop mariadb ``` or using Docker Compose: ```console -$ docker-compose stop mariadb +docker-compose stop mariadb ``` Next, take a snapshot of the persistent volume `/path/to/mariadb-persistence` using: ```console -$ rsync -a /path/to/mariadb-persistence /path/to/mariadb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/mariadb-persistence /path/to/mariadb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -619,13 +619,13 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v mariadb +docker rm -v mariadb ``` or using Docker Compose: ```console -$ docker-compose rm -v mariadb +docker-compose rm -v mariadb ``` #### Step 4: Run the new image @@ -633,76 +633,78 @@ $ docker-compose rm -v mariadb Re-create your container from the new image. ```console -$ docker run --name mariadb bitnami/mariadb:latest +docker run --name mariadb bitnami/mariadb:latest ``` or using Docker Compose: ```console -$ docker-compose up mariadb +docker-compose up mariadb ``` ## Useful Links -- [Create An AMP Development Environment With Bitnami Containers +* [Create An AMP Development Environment With Bitnami Containers ](https://docs.bitnami.com/containers/how-to/create-amp-environment-containers/) -- [Create An EMP Development Environment With Bitnami Containers +* [Create An EMP Development Environment With Bitnami Containers ](https://docs.bitnami.com/containers/how-to/create-emp-environment-containers/) ## Notable Changes ### 10.2.41-debian-10-r12, 10.3.32-debian-10-r13, 10.4.22-debian-10-r13, 10.5.13-debian-10-r14 and 10.6.5-debian-10-r13 -- The command `mysql_upgrade` no longer includes the flag `--force`. Nonetheless, it can be enabled by using the [mysql_upgrade] option group in the MariaDB configuration. +* The command `mysql_upgrade` no longer includes the flag `--force`. Nonetheless, it can be enabled by using the [mysql_upgrade] option group in the MariaDB configuration. ### 10.4.13-debian-10-r12, 10.3.23-debian-10-r14, 10.2.32-debian-10-r14 and 10.1.45-debian-10-r15 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. ### 10.1.36-r14 and 10.2.27-r36 -- Decrease the size of the container. It is not necessary Node.js anymore. MariaDB configuration moved to bash scripts in the `rootfs/` folder. -- The recommended mount point to persist data changes to `/bitnami/mariadb`. -- The MariaDB configuration files are not persisted in a volume anymore. Now, they can be found at `/opt/bitnami/mariadb/conf`. -- Backwards compatibility is not guaranteed when data is persisted using docker-compose. You can use the workaround below to overcome it: +* Decrease the size of the container. It is not necessary Node.js anymore. MariaDB configuration moved to bash scripts in the `rootfs/` folder. +* The recommended mount point to persist data changes to `/bitnami/mariadb`. +* The MariaDB configuration files are not persisted in a volume anymore. Now, they can be found at `/opt/bitnami/mariadb/conf`. +* Backwards compatibility is not guaranteed when data is persisted using docker-compose. You can use the workaround below to overcome it: ```console -$ docker-compose down +docker-compose down ## Change the mount point sed -i -e 's#mariadb_data:/bitnami#mariadb_data:/bitnami/mariadb#g' docker-compose.yml ## Pull the latest bitnami/mariadb image -$ docker pull bitnami/mariadb:latest -$ docker-compose up -d +docker pull bitnami/mariadb:latest +docker-compose up -d ``` ### 10.1.28-r2 and 10.2.16-r2 -- The MariaDB container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the MariaDB daemon was started as the `mysql` user. From now on, both the container and the MariaDB daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The MariaDB container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the MariaDB daemon was started as the `mysql` user. From now on, both the container and the MariaDB daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 10.2.14-r2 and 10.1.32-r1 -- The mariadb conf file is not in a persistent volume by default. -- The user is able to specify a custom file in the default location '/opt/bitnami/mariadb/conf/my.cnf'. + +* The mariadb conf file is not in a persistent volume by default. + +* The user is able to specify a custom file in the default location '/opt/bitnami/mariadb/conf/my.cnf'. ### 10.1.28-r2 -- The mariadb container has been migrated to a non-root container approach. Previously the container run as root user and the mariadb daemon was started as mysql user. From now own, both the container and the mariadb daemon run as user 1001. As a consequence, the configuration files are writable by the user running the mariadb process. +* The mariadb container has been migrated to a non-root container approach. Previously the container run as root user and the mariadb daemon was started as mysql user. From now own, both the container and the mariadb daemon run as user 1001. As a consequence, the configuration files are writable by the user running the mariadb process. ### 10.1.24-r2 -- `VOLUME` instruction has been removed from the `Dockerfile`. +* `VOLUME` instruction has been removed from the `Dockerfile`. ### 10.1.21-r2 -- `MARIADB_MASTER_USER` has been renamed to `MARIADB_MASTER_ROOT_USER` -- `MARIADB_MASTER_PASSWORD` has been renamed to `MARIADB_MASTER_ROOT_PASSWORD` -- `MARIADB_ROOT_USER` has been added to the available env variables. It can be used to specify the admin user. -- `ALLOW_EMPTY_PASSWORD` has been added to the available env variables. It can be used to allow blank passwords for MariaDB. -- By default the MariaDB image requires a root password to start. You can specify it using the `MARIADB_ROOT_PASSWORD` env variable or disable this requirement by setting the `ALLOW_EMPTY_PASSWORD` env variable to `yes` (testing or development scenarios). +* `MARIADB_MASTER_USER` has been renamed to `MARIADB_MASTER_ROOT_USER` +* `MARIADB_MASTER_PASSWORD` has been renamed to `MARIADB_MASTER_ROOT_PASSWORD` +* `MARIADB_ROOT_USER` has been added to the available env variables. It can be used to specify the admin user. +* `ALLOW_EMPTY_PASSWORD` has been added to the available env variables. It can be used to allow blank passwords for MariaDB. +* By default the MariaDB image requires a root password to start. You can specify it using the `MARIADB_ROOT_PASSWORD` env variable or disable this requirement by setting the `ALLOW_EMPTY_PASSWORD` env variable to `yes` (testing or development scenarios). ### 10.1.13-r0 -- All volumes have been merged at `/bitnami/mariadb`. Now you only need to mount a single volume at `/bitnami/mariadb` for persistence. -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* All volumes have been merged at `/bitnami/mariadb`. Now you only need to mount a single volume at `/bitnami/mariadb` for persistence. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ## Contributing @@ -720,7 +722,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mastodon/README.md b/bitnami/mastodon/README.md index 01365cbba1d3..eee263645279 100644 --- a/bitnami/mastodon/README.md +++ b/bitnami/mastodon/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name mastodon bitnami/mastodon +docker run -it --name mastodon bitnami/mastodon ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mastodon/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mastodon/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Mastodon Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mastodon). ```console -$ docker pull bitnami/mastodon:latest +docker pull bitnami/mastodon:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/mastodon/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/mastodon:[TAG] +docker pull bitnami/mastodon:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Mastodon, including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/mastodon:latest +docker pull bitnami/mastodon:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/mastodon:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v mastodon +docker rm -v mastodon ``` or using Docker Compose: ```console -$ docker-compose rm -v mastodon +docker-compose rm -v mastodon ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v mastodon Re-create your container from the new image. ```console -$ docker run --name mastodon bitnami/mastodon:latest +docker run --name mastodon bitnami/mastodon:latest ``` or using Docker Compose: ```console -$ docker-compose up mastodon +docker-compose up mastodon ``` ## Configuration @@ -106,7 +106,7 @@ $ docker-compose up mastodon When you start the Mastodon 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. Please note that some variables are only considered when the container is started for the first time. 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/mastodon/docker-compose.yml) file present in this repository: +* 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/mastodon/docker-compose.yml) file present in this repository: ```yaml mastodon-api: @@ -116,10 +116,10 @@ When you start the Mastodon image, you can adjust the configuration of the insta ... ``` -- For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name mastodon-api -p 80:8080 -p 443:8443 \ + docker run -d --name mastodon-api -p 80:8080 -p 443:8443 \ --env MASTODON_ADMIN_PASSWORD=my_password \ --env MASTODON_MODE=backend \ --network mastodon-tier \ @@ -135,35 +135,35 @@ In addition to the official environment variables, the Bitnami Mastodon image ad Mastodon supports three running modes: -- Web: The Mastodon web frontend. It is the essential functional element of Mastodon. -- Streaming: Necessary for performing real-time interactions inside Mastodon. -- Sidekiq: Performs background operations like sending emails. +* Web: The Mastodon web frontend. It is the essential functional element of Mastodon. +* Streaming: Necessary for performing real-time interactions inside Mastodon. +* Sidekiq: Performs background operations like sending emails. The running mode is defined via the `MASTODON_MODE` environment variable. The possible values are `web`, `streaming` and `sidekiq`. ##### User and Site configuration -- `MASTODON_CREATE_ADMIN`: Create admin users if it does not exist. Default: **true** -- `MASTODON_ADMIN_USERNAME`: Mastodon application username. Default: **user** -- `MASTODON_ADMIN_PASSWORD`: Mastodon application password. Default: **bitnami1** -- `MASTODON_ADMIN_EMAIL`: Mastodon application email. Default: **user@bitnami.org** -- `MASTODON_HTTPS_ENABLED`: Set the Mastodon Puma server as HTTPS. Default: **false**. -- `MASTODON_ALLOW_ALL_DOMAINS`: Disable the Mastodon host verification process. Default: **true**. -- `MASTODON_DATA_TO_PERSIST`: Space separated list of files and directories to persist. Use a space to persist no data: `" "`. Default: **public/system, public/assets** +* `MASTODON_CREATE_ADMIN`: Create admin users if it does not exist. Default: **true** +* `MASTODON_ADMIN_USERNAME`: Mastodon application username. Default: **user** +* `MASTODON_ADMIN_PASSWORD`: Mastodon application password. Default: **bitnami1** +* `MASTODON_ADMIN_EMAIL`: Mastodon application email. Default: **user@bitnami.org** +* `MASTODON_HTTPS_ENABLED`: Set the Mastodon Puma server as HTTPS. Default: **false**. +* `MASTODON_ALLOW_ALL_DOMAINS`: Disable the Mastodon host verification process. Default: **true**. +* `MASTODON_DATA_TO_PERSIST`: Space separated list of files and directories to persist. Use a space to persist no data: `" "`. Default: **public/system, public/assets** ##### Startup operations At startup, several operations are necessary. In order to allow multiple replicas of the web server, the container allows enabling certain operations via flags: -- `MASTODON_PRECOMPILE_ASSETS`: Perform `rake assets:precompile` at startup. Default: **true**. -- `MASTODON_MIGRATE_DATABASE`: Perform `rake db:migrate`. Default: **true**. -- `MASTODON_MIGRATE_ELASTICSEARCH`: Perform `rake chewy:upgrade`. Default: **true**. +* `MASTODON_PRECOMPILE_ASSETS`: Perform `rake assets:precompile` at startup. Default: **true**. +* `MASTODON_MIGRATE_DATABASE`: Perform `rake db:migrate`. Default: **true**. +* `MASTODON_MIGRATE_ELASTICSEARCH`: Perform `rake chewy:upgrade`. Default: **true**. ##### Connect Mastodon container to an existing database The Bitnami Mastodon container supports connecting the Mastodon application to an external database. This would be an example of using an external database for Mastodon. -- Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mastodon/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mastodon/docker-compose.yml) file present in this repository: ```diff mastodon: @@ -178,10 +178,10 @@ The Bitnami Mastodon container supports connecting the Mastodon application to a ... ``` -- For manual execution: +* For manual execution: ```console - $ docker run -d --name mastodon\ + docker run -d --name mastodon\ -p 8080:8080 -p 8443:8443 \ --network mastodon-network \ --env DB_HOST=postgresql_host \ @@ -198,13 +198,13 @@ The Bitnami Mastodon container supports connecting the Mastodon application to a The Bitnami Mastodon Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs mastodon +docker logs mastodon ``` Or using Docker Compose: ```console -$ docker-compose logs mastodon +docker-compose logs mastodon ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -225,7 +225,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/matomo/README.md b/bitnami/matomo/README.md index fc612ef6259b..f4e6ba9f1f70 100644 --- a/bitnami/matomo/README.md +++ b/bitnami/matomo/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/matomo/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/matomo/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -47,31 +47,31 @@ To run this application you need [Docker Engine](https://www.docker.com/products ## How to get this image The recommended way to get the Bitnami Matomo Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/matomo/). -To use a specific version, you can pull a versioned tag. Find the [list of available versions] (https://hub.docker.com/r/bitnami/matomo/tags/) in the Docker Hub Registry. +To use a specific version, you can pull a versioned tag. Find the [list of available versions] () in the Docker Hub Registry. ```console -$ docker pull bitnami/matomo:[TAG] +docker pull bitnami/matomo:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image -Matomo requires access to a MySQL database or MariaDB database to store information. It uses our [MariaDB image] (https://github.com/bitnami/containers/blob/main/bitnami/mariadb) for the database requirements. +Matomo requires access to a MySQL database or MariaDB database to store information. It uses our [MariaDB image] () for the database requirements. ### Run the application using Docker Compose The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/matomo/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/matomo/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/matomo/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Run the application using the Docker Command Line @@ -80,37 +80,37 @@ If you want to run the application manually instead of using docker-compose, the 1. Create a new network for the application and the database: - ```console - $ docker network create matomo_network - ``` + ```console + docker network create matomo_network + ``` 2. Create a volume for MariaDB persistence and create a MariaDB container - ```console - $ docker volume create --name mariadb_data - $ docker run -d --name mariadb \ - -e ALLOW_EMPTY_PASSWORD=yes \ - -e MARIADB_USER=bn_matomo \ - -e MARIADB_DATABASE=bitnami_matomo \ - --net matomo_network \ - --volume mariadb_data:/bitnami \ - bitnami/mariadb:latest - ``` + ```console + docker volume create --name mariadb_data + docker run -d --name mariadb \ + -e ALLOW_EMPTY_PASSWORD=yes \ + -e MARIADB_USER=bn_matomo \ + -e MARIADB_DATABASE=bitnami_matomo \ + --net matomo_network \ + --volume mariadb_data:/bitnami \ + bitnami/mariadb:latest + ``` -3. Create volumes for Matomo persistence and launch the container +3. Create volumes for {{ .Name }} persistence and launch the container - ```console - $ docker volume create --name matomo_data - $ docker run -d --name matomo -p 80:8080 -p 443:8443 \ - -e ALLOW_EMPTY_PASSWORD=yes \ - -e MATOMO_DATABASE_USER=bn_matomo \ - -e MATOMO_DATABASE_NAME=bitnami_matomo \ - --net matomo_network \ - --volume matomo_data:/bitnami \ - bitnami/matomo:latest - ``` + ```console + docker volume create --name matomo_data + docker run -d --name matomo -p 80:8080 -p 443:8443 \ + -e ALLOW_EMPTY_PASSWORD=yes \ + -e MATOMO_DATABASE_USER=bn_matomo \ + -e MATOMO_DATABASE_NAME=bitnami_matomo \ + --net matomo_network \ + --volume matomo_data:/bitnami \ + bitnami/matomo:latest + ``` -Then you can access your application at `http://your-ip/` + Then you can access your application at `http://your-ip/` ### Persisting your application @@ -148,34 +148,35 @@ In this case you need to specify the directories to mount on the run command. Th 1. Create a network (if it does not exist): - ```console - $ docker network create matomo_network - ``` + ```console + docker network create matomo_network + ``` 2. Create a MariaDB container with host volume: - ```console - $ docker run -d --name mariadb - -e ALLOW_EMPTY_PASSWORD=yes \ - -e MARIADB_USER=bn_matomo \ - -e MARIADB_DATABASE=bitnami_matomo \ - --net matomo_network \ - --volume /path/to/mariadb-persistence:/bitnami \ - bitnami/mariadb:latest - ``` - *Note:* You need to give the container a name in order to Matomo to resolve the host + ```console + docker run -d --name mariadb + -e ALLOW_EMPTY_PASSWORD=yes \ + -e MARIADB_USER=bn_matomo \ + -e MARIADB_DATABASE=bitnami_matomo \ + --net matomo_network \ + --volume /path/to/mariadb-persistence:/bitnami \ + bitnami/mariadb:latest + ``` -3. Create the Matomo container with host volumes: + *Note:* You need to give the container a name in order to {{ .Name }} to resolve the host - ```console - $ docker run -d --name matomo -p 80:80 -p 443:443 \ - -e ALLOW_EMPTY_PASSWORD=yes \ - -e MATOMO_DATABASE_USER=bn_matomo \ - -e MATOMO_DATABASE_NAME=bitnami_matomo \ - --net matomo_network \ - --volume /path/to/matomo-persistence:/bitnami \ - bitnami/matomo:latest - ``` +3. Create the {{ .Name }} container with host volumes: + + ```console + docker run -d --name matomo -p 80:80 -p 443:443 \ + -e ALLOW_EMPTY_PASSWORD=yes \ + -e MATOMO_DATABASE_USER=bn_matomo \ + -e MATOMO_DATABASE_NAME=bitnami_matomo \ + --net matomo_network \ + --volume /path/to/matomo-persistence:/bitnami \ + bitnami/matomo:latest + ``` ### Backing up your container @@ -184,13 +185,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop matomo +docker stop matomo ``` Or using Docker Compose: ```console -$ docker-compose stop matomo +docker-compose stop matomo ``` #### Step 2: Run the backup command @@ -198,7 +199,7 @@ $ docker-compose stop matomo We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/matomo-backups:/backups --volumes-from matomo busybox \ +docker run --rm -v /path/to/matomo-backups:/backups --volumes-from matomo busybox \ cp -a /bitnami/matomo /backups/latest ``` @@ -209,7 +210,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -219,7 +220,7 @@ For the MariaDB database container: For the Matomo container: ```diff - $ docker run -d --name matomo \ + docker run -d --name matomo \ ... - --volume /path/to/matomo-persistence:/bitnami/matomo \ + --volume /path/to/matomo-backups/latest:/bitnami/matomo \ @@ -228,38 +229,38 @@ For the Matomo container: ## Upgrading Matomo -Bitnami provides up-to-date versions of MariaDB and Matomo, 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 Matomo container. For the MariaDB upgrade you can take a look at https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and Matomo, 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 Matomo container. For the MariaDB upgrade you can take a look at 1. Get the updated images: - ```console - $ docker pull bitnami/matomo:latest - ``` + ```console + docker pull bitnami/matomo:latest + ``` 2. Stop your container - * For docker-compose: `$ docker-compose stop matomo` - * For manual execution: `$ docker stop matomo` + * For docker-compose: `docker-compose stop matomo` + * For manual execution: `docker stop matomo` 3. Take a snapshot of the application state -```console -$ rsync -a /path/to/matomo-persistence /path/to/matomo-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) -``` + ```console + rsync -a /path/to/matomo-persistence /path/to/matomo-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) + ``` -Additionally, [snapshot the MariaDB data](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#step-2-stop-and-backup-the-currently-running-container) + Additionally, [snapshot the MariaDB data](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#step-2-stop-and-backup-the-currently-running-container) -You can use these snapshots to restore the application state should the upgrade fail. + You can use these snapshots to restore the application state should the upgrade fail. 4. Remove the currently running container - * For docker-compose: `$ docker-compose rm -v matomo` - * For manual execution: `$ docker rm -v matomo` + * For docker-compose: `docker-compose rm -v matomo` + * For manual execution: `docker rm -v matomo` 5. Run the new image - * For docker-compose: `$ docker-compose up matomo` - * For manual execution ([mount](#mount-persistent-folders-manually) the directories if needed): `docker run --name matomo bitnami/matomo:latest` + * For docker-compose: `docker-compose up matomo` + * For manual execution mount the directories if needed): `docker run --name matomo bitnami/matomo:latest` ## Configuration @@ -269,38 +270,38 @@ When you start the Matomo image, you can adjust the configuration of the instanc #### User and Site configuration - - `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** - - `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** - - `MATOMO_USERNAME`: Matomo application username. Default: **User** - - `MATOMO_HOST`: Matomo application host. Default: **127.0.0.1** - - `MATOMO_PASSWORD`: Matomo application password. Default: **bitnami** - - `MATOMO_EMAIL`: Matomo application email. Default: **user@example.com** - - `MATOMO_WEBSITE_NAME`: Name of a website to track in Matomo. Default: **example** - - `MATOMO_WEBSITE_HOST`: Website's host or domain to track in Matomo. Default: **https://example.org** - - `MATOMO_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** - - `MATOMO_ENABLE_DATABASE_SSL`: Whether to enable SSL for database connections in the Matomo configuration file. Default: **no** - - `MATOMO_DATABASE_SSL_CA_FILE`: Path to the database server CA bundle file. No defaults. - - `MATOMO_DATABASE_SSL_CERT_FILE`: Path to the database client certificate file. No defaults. - - `MATOMO_DATABASE_SSL_KEY_FILE`: Path to the database client certificate key. No defaults. - - `MATOMO_VERIFY_DATABASE_SSL`: Whether to verify the database SSL certificate when SSL is enabled. Default: **yes** - - `MATOMO_DATABASE_TABLE_PREFIX`: Prefix to use when creating Matomo tables. Default: **matomo_** - - `BITNAMI_DEBUG`: Increase verbosity on initialization logs. Default **false** +* `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** +* `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** +* `MATOMO_USERNAME`: Matomo application username. Default: **User** +* `MATOMO_HOST`: Matomo application host. Default: **127.0.0.1** +* `MATOMO_PASSWORD`: Matomo application password. Default: **bitnami** +* `MATOMO_EMAIL`: Matomo application email. Default: **user@example.com** +* `MATOMO_WEBSITE_NAME`: Name of a website to track in Matomo. Default: **example** +* `MATOMO_WEBSITE_HOST`: Website's host or domain to track in Matomo. Default: **** +* `MATOMO_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** +* `MATOMO_ENABLE_DATABASE_SSL`: Whether to enable SSL for database connections in the Matomo configuration file. Default: **no** +* `MATOMO_DATABASE_SSL_CA_FILE`: Path to the database server CA bundle file. No defaults. +* `MATOMO_DATABASE_SSL_CERT_FILE`: Path to the database client certificate file. No defaults. +* `MATOMO_DATABASE_SSL_KEY_FILE`: Path to the database client certificate key. No defaults. +* `MATOMO_VERIFY_DATABASE_SSL`: Whether to verify the database SSL certificate when SSL is enabled. Default: **yes** +* `MATOMO_DATABASE_TABLE_PREFIX`: Prefix to use when creating Matomo tables. Default: **matomo_** +* `BITNAMI_DEBUG`: Increase verbosity on initialization logs. Default **false** #### Reverse proxy configuration options If you are connecting through a reverse proxy (https-to-http) and Matomo is not automatically detecting it you can add configuration manually: - - `MATOMO_ENABLE_PROXY_URI_HEADER`: Enable 'proxy_uri_header' in Matomo configuration file. Default: **no** - - `MATOMO_ENABLE_ASSUME_SECURE_PROTOCOL`: Enable 'assume_secure_protocol' in Matomo configuration file. Default: **no** - - `MATOMO_ENABLE_FORCE_SSL`: Enable 'force_ssl' in Matomo configuration file. Default: **no** - - `MATOMO_PROXY_CLIENT_HEADER`: Specify the client IP HTTP Header. Usually 'HTTP_X_FORWARDED_FOR'. No defaults. - - `MATOMO_PROXY_HOST_HEADER`: Specify the host IP HTTP Header. Usually 'HTTP_X_FORWARDED_HOST'. No defaults. +* `MATOMO_ENABLE_PROXY_URI_HEADER`: Enable 'proxy_uri_header' in Matomo configuration file. Default: **no** +* `MATOMO_ENABLE_ASSUME_SECURE_PROTOCOL`: Enable 'assume_secure_protocol' in Matomo configuration file. Default: **no** +* `MATOMO_ENABLE_FORCE_SSL`: Enable 'force_ssl' in Matomo configuration file. Default: **no** +* `MATOMO_PROXY_CLIENT_HEADER`: Specify the client IP HTTP Header. Usually 'HTTP_X_FORWARDED_FOR'. No defaults. +* `MATOMO_PROXY_HOST_HEADER`: Specify the host IP HTTP Header. Usually 'HTTP_X_FORWARDED_HOST'. No defaults. ##### Example This would be an example of reverse proxy configuration: - * Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/matomo/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/matomo/docker-compose.yml) file present in this repository: ```yaml application: @@ -312,10 +313,10 @@ This would be an example of reverse proxy configuration: ... ``` - * For manual execution: +* For manual execution: ```console - $ docker run -d --name matomo -p 80:80 -p 443:443 \ + docker run -d --name matomo -p 80:80 -p 443:443 \ --net matomo_network \ -e MARIADB_HOST=mariadb \ -e MARIADB_PORT_NUMBER=3306 \ @@ -330,49 +331,49 @@ This would be an example of reverse proxy configuration: #### Use an existing database -- `MATOMO_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MATOMO_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MATOMO_DATABASE_NAME`: Database name that Matomo will use to connect with the database. Default: **bitnami_matomo** -- `MATOMO_DATABASE_USER`: Database user that Matomo will use to connect with the database. Default: **bn_matomo** -- `MATOMO_DATABASE_PASSWORD`: Database password that Matomo will use to connect with the database. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MATOMO_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MATOMO_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MATOMO_DATABASE_NAME`: Database name that Matomo will use to connect with the database. Default: **bitnami_matomo** +* `MATOMO_DATABASE_USER`: Database user that Matomo will use to connect with the database. Default: **bn_matomo** +* `MATOMO_DATABASE_PASSWORD`: Database password that Matomo will use to connect with the database. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** #### Create a database for Matomo using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** #### SMTP Configuration To configure Matomo to send email using SMTP you can set the following environment variables: -- `MATOMO_SMTP_HOST`: Matomo SMTP host. -- `MATOMO_SMTP_PORT`: Matomo SMTP port. -- `MATOMO_SMTP_USER`: Matomo SMTP account user. -- `MATOMO_SMTP_PASSWORD`: Matomo SMTP account password. -- `MATOMO_SMTP_PROTOCOL`: Matomo SMTP protocol to use. Available protocols are: "ssl", "tls", "none". No default. -- `MATOMO_SMTP_AUTH`: Matomo SMTP authentication mechanism to use. Available mechanisms are: "Plain", "Login", "Crammd5". Default: **Plain**. +* `MATOMO_SMTP_HOST`: Matomo SMTP host. +* `MATOMO_SMTP_PORT`: Matomo SMTP port. +* `MATOMO_SMTP_USER`: Matomo SMTP account user. +* `MATOMO_SMTP_PASSWORD`: Matomo SMTP account password. +* `MATOMO_SMTP_PROTOCOL`: Matomo SMTP protocol to use. Available protocols are: "ssl", "tls", "none". No default. +* `MATOMO_SMTP_AUTH`: Matomo SMTP authentication mechanism to use. Available mechanisms are: "Plain", "Login", "Crammd5". Default: **Plain**. -##### Example +##### SMTP 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/matomo/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/matomo/docker-compose.yml) file present in this repository: ```yaml matomo: @@ -387,10 +388,11 @@ This would be an example of SMTP configuration using a Gmail account: - MATOMO_SMTP_PASSWORD=your_password ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name matomo -p 80:8080 -p 443:8443 \ + docker run -d --name matomo -p 80:8080 -p 443:8443 \ --env MATOMO_DATABASE_USER=bn_matomo \ --env MATOMO_DATABASE_NAME=bitnami_matomo \ --env MATOMO_SMTP_HOST=smtp.gmail.com \ @@ -404,18 +406,18 @@ This would be an example of SMTP configuration using a Gmail account: #### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. 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/matomo/docker-compose.yml) file present in this repository: +* 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/matomo/docker-compose.yml) file present in this repository: ```yaml application: @@ -425,10 +427,10 @@ application: ... ``` - * For manual execution add a `-e` option with each variable and value: +* For manual execution add a `-e` option with each variable and value: ```console - $ docker run -d -e MATOMO_PASSWORD=my_password -p 80:80 --name matomo -v /your/local/path/bitnami/matomo:/bitnami --net=matomo_network bitnami/matomo + docker run -d -e MATOMO_PASSWORD=my_password -p 80:80 --name matomo -v /your/local/path/bitnami/matomo:/bitnami --net=matomo_network bitnami/matomo ``` ## Customize this image @@ -439,10 +441,10 @@ The Bitnami Matomo Docker image is designed to be extended so it can be used as Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -454,9 +456,9 @@ FROM bitnami/matomo 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/matomo @@ -519,11 +521,11 @@ volumes: ### 3.14.1-debian-10-r82 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The Matomo container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Matomo site by exporting its content, and importing it on a new Matomo container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The Matomo container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Matomo site by exporting its content, and importing it on a new Matomo container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. To upgrade a previous Bitnami Matomo container image, which did not support non-root, the easiest way is to start the new image as a root user and updating the port numbers. Modify your docker-compose.yml file as follows: @@ -540,10 +542,10 @@ To upgrade a previous Bitnami Matomo container image, which did not support non- ### 3.9.1-debian-9-r51 and 3.9.1-ol-7-r62 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -569,7 +571,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mediawiki/README.md b/bitnami/mediawiki/README.md index db7959d14ea9..1e082a68b26e 100644 --- a/bitnami/mediawiki/README.md +++ b/bitnami/mediawiki/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mediawiki/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mediawiki/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MediaWiki Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mediawiki). ```console -$ docker pull bitnami/mediawiki:latest +docker pull bitnami/mediawiki:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/mediawiki/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/mediawiki:[TAG] +docker pull bitnami/mediawiki:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +75,8 @@ MediaWiki requires access to a MySQL or MariaDB database to store information. W The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mediawiki/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mediawiki/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mediawiki/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -86,14 +86,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create mediawiki-network +docker network create mediawiki-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_mediawiki \ --env MARIADB_PASSWORD=bitnami \ @@ -106,8 +106,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for MediaWiki persistence and launch the container ```console -$ docker volume create --name mediawiki_data -$ docker run -d --name mediawiki \ +docker volume create --name mediawiki_data +docker run -d --name mediawiki \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MEDIAWIKI_DATABASE_USER=bn_mediawiki \ @@ -161,13 +161,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create mediawiki-network +docker network create mediawiki-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_mediawiki \ --env MARIADB_PASSWORD=bitnami \ @@ -180,7 +180,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the MediaWiki container with host volumes ```console -$ docker run -d --name mediawiki \ +docker run -d --name mediawiki \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MEDIAWIKI_DATABASE_USER=bn_mediawiki \ @@ -197,7 +197,7 @@ $ docker run -d --name mediawiki \ When you start the MediaWiki 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/mediawiki/docker-compose.yml) file present in this repository: +* 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/mediawiki/docker-compose.yml) file present in this repository: ```yaml mediawiki: @@ -207,10 +207,10 @@ mediawiki: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name mediawiki -p 80:8080 -p 443:8443 \ + docker run -d --name mediawiki -p 80:8080 -p 443:8443 \ --env MEDIAWIKI_PASSWORD=my_password \ --network mediawiki-tier \ --volume /path/to/mediawiki-persistence:/bitnami/mediawiki \ @@ -219,73 +219,73 @@ mediawiki: Available variables: -##### User and Site configuration +### User and Site configuration -- `MEDIAWIKI_USERNAME`: MediaWiki application username. Default: **user** -- `MEDIAWIKI_PASSWORD`: MediaWiki application password. Default: **bitnami123** (min 10 characters, alphanumeric, no special characters) -- `MEDIAWIKI_EMAIL`: MediaWiki application email. Default: **user@example.com** -- `MEDIAWIKI_WIKI_NAME`: MediaWiki wiki name. Default: **Bitnami MediaWiki** -- `MEDIAWIKI_HOST`: MediaWiki application host. No defaults. -- `MEDIAWIKI_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by MediaWiki to generate URLs and links when accessing using HTTP. Default **80**. -- `MEDIAWIKI_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by MediaWiki to generate URLs and links when accessing using HTTPS. Default **443**. -- `MEDIAWIKI_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no**. +* `MEDIAWIKI_USERNAME`: MediaWiki application username. Default: **user** +* `MEDIAWIKI_PASSWORD`: MediaWiki application password. Default: **bitnami123** (min 10 characters, alphanumeric, no special characters) +* `MEDIAWIKI_EMAIL`: MediaWiki application email. Default: **user@example.com** +* `MEDIAWIKI_WIKI_NAME`: MediaWiki wiki name. Default: **Bitnami MediaWiki** +* `MEDIAWIKI_HOST`: MediaWiki application host. No defaults. +* `MEDIAWIKI_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by MediaWiki to generate URLs and links when accessing using HTTP. Default **80**. +* `MEDIAWIKI_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by MediaWiki to generate URLs and links when accessing using HTTPS. Default **443**. +* `MEDIAWIKI_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no**. -##### Use an existing database +### Use an existing database -- `MEDIAWIKI_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MEDIAWIKI_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MEDIAWIKI_DATABASE_NAME`: Database name that MediaWiki will use to connect with the database. Default: **bitnami_mediawiki** -- `MEDIAWIKI_DATABASE_USER`: Database user that MediaWiki will use to connect with the database. Default: **bn_mediawiki** -- `MEDIAWIKI_DATABASE_PASSWORD`: Database password that MediaWiki will use to connect with the database. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MEDIAWIKI_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MEDIAWIKI_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MEDIAWIKI_DATABASE_NAME`: Database name that MediaWiki will use to connect with the database. Default: **bitnami_mediawiki** +* `MEDIAWIKI_DATABASE_USER`: Database user that MediaWiki will use to connect with the database. Default: **bn_mediawiki** +* `MEDIAWIKI_DATABASE_PASSWORD`: Database password that MediaWiki will use to connect with the database. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for MediaWiki using mysql-client +### Create a database for MediaWiki using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +### SMTP Configuration To configure MediaWiki to send email using SMTP you can set the following environment variables: -- `MEDIAWIKI_SMTP_HOST`: SMTP host. -- `MEDIAWIKI_SMTP_HOST_ID`: SMTP host ID. It is a MediaWiki-specific setting used to build the Message-ID email header. If not provided, it will default to the value of `MEDIAWIKI_SMTP_HOST`. -- `MEDIAWIKI_SMTP_PORT`: SMTP port. -- `MEDIAWIKI_SMTP_USER`: SMTP account user (if being used). -- `MEDIAWIKI_SMTP_PASSWORD`: SMTP account password (if being used). -- `MEDIAWIKI_ENABLE_SMTP_AUTH`: Whether to use authentication for SMTP server. Valid values: `yes`, `no`. Default: **yes** +* `MEDIAWIKI_SMTP_HOST`: SMTP host. +* `MEDIAWIKI_SMTP_HOST_ID`: SMTP host ID. It is a MediaWiki-specific setting used to build the Message-ID email header. If not provided, it will default to the value of `MEDIAWIKI_SMTP_HOST`. +* `MEDIAWIKI_SMTP_PORT`: SMTP port. +* `MEDIAWIKI_SMTP_USER`: SMTP account user (if being used). +* `MEDIAWIKI_SMTP_PASSWORD`: SMTP account password (if being used). +* `MEDIAWIKI_ENABLE_SMTP_AUTH`: Whether to use authentication for SMTP server. Valid values: `yes`, `no`. Default: **yes** -##### PHP configuration +### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. -##### Example +### 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/mediawiki/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mediawiki/docker-compose.yml) file present in this repository: ```yaml mediawiki: @@ -301,10 +301,11 @@ This would be an example of SMTP configuration using a GMail account: - MEDIAWIKI_SMTP_PASSWORD=your_password ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name mediawiki -p 80:8080 -p 443:8443 \ + docker run -d --name mediawiki -p 80:8080 -p 443:8443 \ --env MEDIAWIKI_DATABASE_USER=bn_mediawiki \ --env MEDIAWIKI_DATABASE_NAME=bitnami_mediawiki \ --env MEDIAWIKI_SMTP_HOST=smtp.gmail.com \ @@ -317,121 +318,121 @@ This would be an example of SMTP configuration using a GMail account: bitnami/mediawiki:latest ``` -# How to install imagemagick in the Bitnami MediaWiki Docker image +## How to install imagemagick in the Bitnami MediaWiki Docker image If you require better quality thumbnails for your uploaded images, you may want to install imagemagick instead of using GD. To do so you can build your own docker image adding the `imagemagick` system package. Since we are using a non-root container, we have to swap the user to root to install imagemagick and it's requirements. 1. Create the following Dockerfile -```Dockerfile -FROM bitnami/mediawiki:latest -USER root -RUN install_packages imagemagick -USER 1001 -``` + ```Dockerfile + FROM bitnami/mediawiki:latest + USER root + RUN install_packages imagemagick + USER 1001 + ``` 2. Build the docker image -```console -$ docker build -t bitnami/mediawiki:imagemagick . -``` + ```console + docker build -t bitnami/mediawiki:imagemagick . + ``` 3. Edit the *docker-compose.yml* to use the docker image built in the previous step. 4. Finally exec into your MediaWiki container and edit the file */opt/bitnami/mediawiki/LocalSettings.php* as described [here](https://www.mediawiki.org/wiki/Manual:Installing_third-party_tools#Image_thumbnailing) in order to start using imagemagick. -# How to migrate from a Bitnami MediaWiki Stack +## How to migrate from a Bitnami MediaWiki Stack You can follow these steps in order to migrate it to this container: 1. Export the data from your SOURCE installation: (assuming an installation in `/opt/bitnami` directory) - ```console - $ mysqldump -u root -p bitnami_mediawiki > ~/backup-mediawiki-database.sql - $ gzip -c ~/backup-mediawiki-database.sql > ~/backup-mediawiki-database.sql.gz - $ cd /opt/bitnami/apps/mediawiki/htdocs/ - $ tar cfz ~/backup-mediawiki-extensions.tar.gz extensions - $ tar cfz ~/backup-mediawiki-images.tar.gz images - $ tar cfz ~/backup-mediawiki-skins.tar.gz skins - ``` + ```console + mysqldump -u root -p bitnami_mediawiki > ~/backup-mediawiki-database.sql + gzip -c ~/backup-mediawiki-database.sql > ~/backup-mediawiki-database.sql.gz + cd /opt/bitnami/apps/mediawiki/htdocs/ + tar cfz ~/backup-mediawiki-extensions.tar.gz extensions + tar cfz ~/backup-mediawiki-images.tar.gz images + tar cfz ~/backup-mediawiki-skins.tar.gz skins + ``` 2. Copy the backup files to your TARGET installation: - ```console - $ scp ~/backup-mediawiki-* YOUR_USERNAME@TARGET_HOST:~ - ``` + ```console + scp ~/backup-mediawiki-* YOUR_USERNAME@TARGET_HOST:~ + ``` 3. Create the MediaWiki Container as described in the section [How to use this Image (Using Docker Compose)](https://github.com/bitnami/containers/blob/main/bitnami/mediawiki#using-docker-compose) 4. Wait for the initial setup to finish. You can follow it with - ```console - $ docker-compose logs -f mediawiki - ``` + ```console + docker-compose logs -f mediawiki + ``` - and press `Ctrl-C` when you see this: + and press `Ctrl-C` when you see this: - ```console - nami INFO mediawiki successfully initialized - Starting mediawiki ... - ``` + ```console + nami INFO mediawiki successfully initialized + Starting mediawiki ... + ``` 5. Stop Apache: - ```console - $ docker-compose exec mediawiki nami stop apache - ``` + ```console + docker-compose exec mediawiki nami stop apache + ``` 6. Obtain the password used by MediaWiki to access the database in order avoid reconfiguring it: - ```console - $ docker-compose exec mediawiki bash -c 'cat /opt/bitnami/mediawiki/LocalSettings.php | grep wgDBpassword' - ``` + ```console + docker-compose exec mediawiki bash -c 'cat /opt/bitnami/mediawiki/LocalSettings.php | grep wgDBpassword' + ``` 7. Restore the database backup: (replace ROOT_PASSWORD below with your MariaDB root password) - ```console - $ cd ~ - $ docker-compose exec mariadb mysql -u root -pROOT_PASSWORD - $ MariaDB [(none)]> drop database bitnami_mediawiki; - $ MariaDB [(none)]> create database bitnami_mediawiki; - $ MariaDB [(none)]> grant all privileges on bitnami_mediawiki.* to 'bn_mediawiki'@'%' identified by 'PASSWORD_OBTAINED_IN_STEP_6'; - $ MariaDB [(none)]> exit - $ gunzip -c ./backup-mediawiki-database.sql.gz | docker exec -i $(docker-compose ps -q mariadb) mysql -u root bitnami_mediawiki -pROOT_PASSWORD - ``` + ```console + cd ~ + docker-compose exec mariadb mysql -u root -pROOT_PASSWORD + MariaDB [(none)]> drop database bitnami_mediawiki; + MariaDB [(none)]> create database bitnami_mediawiki; + MariaDB [(none)]> grant all privileges on bitnami_mediawiki.* to 'bn_mediawiki'@'%' identified by 'PASSWORD_OBTAINED_IN_STEP_6'; + MariaDB [(none)]> exit + gunzip -c ./backup-mediawiki-database.sql.gz | docker exec -i $(docker-compose ps -q mariadb) mysql -u root bitnami_mediawiki -pROOT_PASSWORD + ``` 8. Restore extensions/images/skins directories from backup: - ```console - $ cat ./backup-mediawiki-extensions.tar.gz | docker exec -i $(docker-compose ps -q mediawiki) bash -c 'cd /bitnami/mediawiki/ ; tar -xzvf -' - $ cat ./backup-mediawiki-images.tar.gz | docker exec -i $(docker-compose ps -q mediawiki) bash -c 'cd /bitnami/mediawiki/ ; tar -xzvf -' - $ cat ./backup-mediawiki-skins.tar.gz | docker exec -i $(docker-compose ps -q mediawiki) bash -c 'cd /bitnami/mediawiki/ ; tar -xzvf -' - ``` + ```console + cat ./backup-mediawiki-extensions.tar.gz | docker exec -i $(docker-compose ps -q mediawiki) bash -c 'cd /bitnami/mediawiki/ ; tar -xzvf -' + cat ./backup-mediawiki-images.tar.gz | docker exec -i $(docker-compose ps -q mediawiki) bash -c 'cd /bitnami/mediawiki/ ; tar -xzvf -' + cat ./backup-mediawiki-skins.tar.gz | docker exec -i $(docker-compose ps -q mediawiki) bash -c 'cd /bitnami/mediawiki/ ; tar -xzvf -' + ``` 9. Fix MediaWiki directory permissions: - ```console - $ docker-compose exec mediawiki chown -R daemon:daemon /bitnami/mediawiki - ``` + ```console + docker-compose exec mediawiki chown -R daemon:daemon /bitnami/mediawiki + ``` 10. Restart Apache: - ```console - $ docker-compose exec mediawiki nami start apache - ``` + ```console + docker-compose exec mediawiki nami start apache + ``` ## Logging The Bitnami MediaWiki Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs mediawiki +docker logs mediawiki ``` Or using Docker Compose: ```console -$ docker-compose logs mediawiki +docker-compose logs mediawiki ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -445,13 +446,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop mediawiki +docker stop mediawiki ``` Or using Docker Compose: ```console -$ docker-compose stop mediawiki +docker-compose stop mediawiki ``` #### Step 2: Run the backup command @@ -459,7 +460,7 @@ $ docker-compose stop mediawiki We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/mediawiki-backups:/backups --volumes-from mediawiki busybox \ +docker run --rm -v /path/to/mediawiki-backups:/backups --volumes-from mediawiki busybox \ cp -a /bitnami/mediawiki /backups/latest ``` @@ -470,7 +471,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -480,7 +481,7 @@ For the MariaDB database container: For the MediaWiki container: ```diff - $ docker run -d --name mediawiki \ + docker run -d --name mediawiki \ ... - --volume /path/to/mediawiki-persistence:/bitnami/mediawiki \ + --volume /path/to/mediawiki-backups/latest:/bitnami/mediawiki \ @@ -489,12 +490,12 @@ For the MediaWiki container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and MediaWiki, 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 MediaWiki container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and MediaWiki, 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 MediaWiki container. For the MariaDB upgrade see: #### Step 1: Get the updated image ```console -$ docker pull bitnami/mediawiki:latest +docker pull bitnami/mediawiki:latest ``` #### Step 2: Stop the running container @@ -502,7 +503,7 @@ $ docker pull bitnami/mediawiki:latest Stop the currently running container using the following command: ```console -$ docker-compose stop mediawiki +docker-compose stop mediawiki ``` #### Step 3: Take a snapshot of the application state @@ -522,7 +523,7 @@ docker-compose rm -v mediawiki Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -533,10 +534,10 @@ The Bitnami MediaWiki Docker image is designed to be extended so it can be used Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -548,9 +549,9 @@ FROM bitnami/mediawiki 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/mediawiki @@ -588,22 +589,22 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ... ``` -# Notable Changes +## Notable Changes ## 1.34.2-debian-10-r5 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The MediaWiki container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the MediaWiki site by exporting its content, and importing it on a new MediaWiki container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The MediaWiki container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the MediaWiki site by exporting its content, and importing it on a new MediaWiki container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. ## 1.32.1-debian-9-r20 and 1.32.1-ol-7-r33 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -629,7 +630,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/memcached-exporter/README.md b/bitnami/memcached-exporter/README.md index d4e917ab2bc5..f52560c07097 100644 --- a/bitnami/memcached-exporter/README.md +++ b/bitnami/memcached-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name memcached-exporter bitnami/memcached-exporter:latest +docker run --name memcached-exporter bitnami/memcached-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Memcached Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/memcached-exporter). ```console -$ docker pull bitnami/memcached-exporter:latest +docker pull bitnami/memcached-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/memcached-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/memcached-exporter:[TAG] +docker pull bitnami/memcached-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create memcached-exporter-network --driver bridge +docker network create memcached-exporter-network --driver bridge ``` #### Step 2: Launch the memcached-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create memcached-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `memcached-exporter-network` network. ```console -$ docker run --name memcached-exporter-node1 --network memcached-exporter-network bitnami/memcached-exporter:latest +docker run --name memcached-exporter-node1 --network memcached-exporter-network bitnami/memcached-exporter:latest ``` #### Step 3: Run another containers @@ -88,10 +88,9 @@ We can launch another containers using the same flag (`--network NETWORK`) in th Find all the configuration flags by executing the container with the `--help` flag: ```console -$ docker run --rm bitnami/memcached-exporter --help +docker run --rm bitnami/memcached-exporter --help ``` - You can also find more information in [the Memcached Exporter official documentation](https://github.com/prometheus/memcached_exporter). ## Logging @@ -99,7 +98,7 @@ You can also find more information in [the Memcached Exporter official documenta The Bitnami Memcached Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs memcached-exporter +docker logs memcached-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -113,7 +112,7 @@ Bitnami provides up-to-date versions of Memcached Exporter, including security p #### Step 1: Get the updated image ```console -$ docker pull bitnami/memcached-exporter:latest +docker pull bitnami/memcached-exporter:latest ``` #### Step 2: Stop the running container @@ -121,13 +120,13 @@ $ docker pull bitnami/memcached-exporter:latest Stop the currently running container using the command ```console -$ docker stop memcached-exporter +docker stop memcached-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v memcached-exporter +docker rm -v memcached-exporter ``` #### Step 4: Run the new image @@ -135,7 +134,7 @@ $ docker rm -v memcached-exporter Re-create your container from the new image. ```console -$ docker run --name memcached-exporter bitnami/memcached-exporter:latest +docker run --name memcached-exporter bitnami/memcached-exporter:latest ``` ## Contributing @@ -154,7 +153,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/memcached/README.md b/bitnami/memcached/README.md index d31f4c89368c..5f3727479e5e 100644 --- a/bitnami/memcached/README.md +++ b/bitnami/memcached/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name memcached bitnami/memcached:latest +docker run --name memcached bitnami/memcached:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/memcached/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/memcached/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -53,21 +53,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Memcached Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com). ```console -$ docker pull bitnami/memcached:latest +docker pull bitnami/memcached:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/memcached/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/memcached:[TAG] +docker pull bitnami/memcached:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -81,7 +81,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Memcached server instance @@ -89,7 +89,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Memcached container to the `app-tier` network. ```console -$ docker run -d --name memcached-server \ +docker run -d --name memcached-server \ --network app-tier \ bitnami/memcached:latest ``` @@ -97,7 +97,7 @@ $ docker run -d --name memcached-server \ #### Step 3: Launch your application container ```console -$ docker run -d --name myapp \ +docker run -d --name myapp \ --network app-tier \ YOUR_APPLICATION_IMAGE ``` @@ -137,7 +137,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -147,7 +147,7 @@ $ docker-compose up -d By default, the Bitnami Memcached container will not specify any cache size and will start with Memcached defaults (64MB). You can specify a different value with the `MEMCACHED_CACHE_SIZE` environment variable (in MB). ```console -$ docker run --name memcached -e MEMCACHED_CACHE_SIZE=128 bitnami/memcached:latest +docker run --name memcached -e MEMCACHED_CACHE_SIZE=128 bitnami/memcached:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml) file present in this repository: @@ -166,7 +166,7 @@ services: By default, the Bitnami Memcached container will not specify any maximum number of concurrent connections and will start with Memcached defaults (1024 concurrent connections). You can specify a different value with the `MEMCACHED_MAX_CONNECTIONS` environment variable. ```console -$ docker run --name memcached -e MEMCACHED_MAX_CONNECTIONS=2000 bitnami/memcached:latest +docker run --name memcached -e MEMCACHED_MAX_CONNECTIONS=2000 bitnami/memcached:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml) file present in this repository: @@ -185,7 +185,7 @@ services: By default, the Bitnami Memcached container will not specify the amount of threads for which to process requests for and will start with Memcached defaults (4 threads). You can specify a different value with the `MEMCACHED_THREADS` environment variable. ```console -$ docker run --name memcached -e MEMCACHED_THREADS=4 bitnami/memcached:latest +docker run --name memcached -e MEMCACHED_THREADS=4 bitnami/memcached:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml) file present in this repository: @@ -204,7 +204,7 @@ services: By default, the Memcached container will not specify any max item size and will start with Memcached defaults (1048576 ~ 1 megabyte). You can specify a different value with the `MEMCACHED_MAX_ITEM_SIZE` environment variable. Only numeric values are accepted - use `8388608` instead of `8m` ```console -$ docker run --name memcached -e MEMCACHED_MAX_ITEM_SIZE=8388608 bitnami/memcached:latest +docker run --name memcached -e MEMCACHED_MAX_ITEM_SIZE=8388608 bitnami/memcached:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml) file present in this repository: @@ -225,7 +225,7 @@ Authentication on the Memcached server is disabled by default. To enable authent To customize the username of the Memcached admin user, which defaults to `root`, the `MEMCACHED_USERNAME` variable should be specified. ```console -$ docker run --name memcached \ +docker run --name memcached \ -e MEMCACHED_USERNAME=my_user \ -e MEMCACHED_PASSWORD=my_password \ bitnami/memcached:latest @@ -252,7 +252,7 @@ services: Passing extra command-line flags to the Memcached service command is possible by adding them as arguments to *run.sh* script: ```console -$ docker run --name memcached bitnami/memcached:latest /opt/bitnami/scripts/memcached/run.sh -vvv +docker run --name memcached bitnami/memcached:latest /opt/bitnami/scripts/memcached/run.sh -vvv ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml) file present in this repository: @@ -271,8 +271,8 @@ Refer to the [Memcached man page](https://www.unix.com/man-page/linux/1/memcache In order to load your own SASL configuration file, you will have to make them available to the container. You can do it doing the following: -- Mounting a volume with your custom configuration -- Adding custom configuration via environment variable. +* Mounting a volume with your custom configuration +* Adding custom configuration via environment variable. By default, when authentication is enabled the SASL configuration of Memcached is written to `/opt/bitnami/memcached/sasl2/memcached.conf` file with the following content: @@ -288,13 +288,13 @@ The `/opt/bitnami/memcached/conf/memcachedsasldb` is the path to the sasldb file The Bitnami Memcached Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs memcached +docker logs memcached ``` or using Docker Compose: ```console -$ docker-compose logs memcached +docker-compose logs memcached ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -308,7 +308,7 @@ Bitnami provides up-to-date versions of Memcached, including security patches, s #### Step 1: Get the updated image ```console -$ docker pull bitnami/memcached:latest +docker pull bitnami/memcached:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -317,13 +317,13 @@ or if you're using Docker Compose, update the value of the image property to #### Step 2: Remove the currently running container ```console -$ docker rm -v memcached +docker rm -v memcached ``` or using Docker Compose: ```console -$ docker-compose rm -v memcached +docker-compose rm -v memcached ``` #### Step 3: Run the new image @@ -331,39 +331,39 @@ $ docker-compose rm -v memcached Re-create your container from the new image. ```console -$ docker run --name memcached bitnami/memcached:latest +docker run --name memcached bitnami/memcached:latest ``` or using Docker Compose: ```console -$ docker-compose up memcached +docker-compose up memcached ``` ## Notable Changes ### 1.5.18-debian-9-r13 and 1.5.19-ol-7-r1 -- Fixes regression in Memcached Authentication introduced in release `1.5.18-debian-9-r6` and `1.5.18-ol-7-r7` (#62). +* Fixes regression in Memcached Authentication introduced in release `1.5.18-debian-9-r6` and `1.5.18-ol-7-r7` (#62). ### 1.5.18-debian-9-r6 and 1.5.18-ol-7-r7 -- Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/ folder. -- Custom SASL configuration should be mounted at `/opt/bitnami/memcached/conf/sasl2/` instead of `/bitnami/memcached/conf/`. -- Password for Memcached admin user can be specified in the content of the file specified in `MEMCACHED_PASSWORD_FILE`. +* Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/ folder. +* Custom SASL configuration should be mounted at `/opt/bitnami/memcached/conf/sasl2/` instead of `/bitnami/memcached/conf/`. +* Password for Memcached admin user can be specified in the content of the file specified in `MEMCACHED_PASSWORD_FILE`. ### 1.5.0-r1 -- The memcached container has been migrated to a non-root container approach. Previously the container run as `root` user and the memcached daemon was started as `memcached` user. From now own, both the container and the memcached daemon run as user `1001`. +* The memcached container has been migrated to a non-root container approach. Previously the container run as `root` user and the memcached daemon was started as `memcached` user. From now own, both the container and the memcached daemon run as user `1001`. As a consequence, the configuration files are writable by the user running the memcached process. ### 1.4.25-r4 -- `MEMCACHED_USER` parameter has been renamed to `MEMCACHED_USERNAME`. +* `MEMCACHED_USER` parameter has been renamed to `MEMCACHED_USERNAME`. ### 1.4.25-r0 -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ## Contributing @@ -381,7 +381,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/metallb-controller/README.md b/bitnami/metallb-controller/README.md index 9745307367ff..0ff3515ed454 100644 --- a/bitnami/metallb-controller/README.md +++ b/bitnami/metallb-controller/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name metallb-controller bitnami/metallb-controller:latest +docker run --name metallb-controller bitnami/metallb-controller:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami metallb-controller Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/metallb-controller). ```console -$ docker pull bitnami/metallb-controller:latest +docker pull bitnami/metallb-controller:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/metallb-controller/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/metallb-controller:[TAG] +docker pull bitnami/metallb-controller:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `metallb-controller --version` you can follow the example below: ```console -$ docker run --rm --name metallb-controller bitnami/metallb-controller:latest -- --version +docker run --rm --name metallb-controller bitnami/metallb-controller:latest -- --version ``` Consult the [metallb Reference Documentation](https://metallb.universe.tf/configuration/) to find the available configuration parameters. Note that this container is expected to be used in a Kubernetes cluster. @@ -89,7 +89,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/metallb-speaker/README.md b/bitnami/metallb-speaker/README.md index ccbe4b938ca8..65f169096821 100644 --- a/bitnami/metallb-speaker/README.md +++ b/bitnami/metallb-speaker/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name metallb-speaker bitnami/metallb-speaker:latest +docker run --name metallb-speaker bitnami/metallb-speaker:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami metallb-speaker Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/metallb-speaker). ```console -$ docker pull bitnami/metallb-speaker:latest +docker pull bitnami/metallb-speaker:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/metallb-speaker/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/metallb-speaker:[TAG] +docker pull bitnami/metallb-speaker:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `metallb-speaker --version` you can follow the example below: ```console -$ docker run --rm --name metallb-speaker bitnami/metallb-speaker:latest -- --version +docker run --rm --name metallb-speaker bitnami/metallb-speaker:latest -- --version ``` Consult the [metallb Reference Documentation](https://metallb.universe.tf/configuration/) to find the available configuration parameters. Note that this container is expected to be used in a Kubernetes cluster. @@ -89,7 +89,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/metrics-server/README.md b/bitnami/metrics-server/README.md index a6aa584e84f6..3a86ae950a41 100644 --- a/bitnami/metrics-server/README.md +++ b/bitnami/metrics-server/README.md @@ -13,7 +13,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema Deploy Metrics Server on your [Kubernetes cluster](https://github.com/kubernetes/heapster/tree/master/docs). ```console -$ docker run --name metrics-server bitnami/metrics-server:latest +docker run --name metrics-server bitnami/metrics-server:latest ``` ## Why use Bitnami Images? @@ -58,20 +58,21 @@ request](https://github.com/bitnami/containers/blob/main/bitnami/metrics-server/ -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/minio-client/README.md b/bitnami/minio-client/README.md index 97dd93ce7d89..0c182d211a5a 100644 --- a/bitnami/minio-client/README.md +++ b/bitnami/minio-client/README.md @@ -11,14 +11,14 @@ Disclaimer: All software products, projects and company names are trademark(TM) ## TL;DR ```console -$ docker run --name minio-client bitnami/minio-client:latest +docker run --name minio-client bitnami/minio-client:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/minio-client/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/minio-client/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MinIO(R) Client Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/minio-client). ```console -$ docker pull bitnami/minio-client:latest +docker pull bitnami/minio-client:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/minio-client/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/minio-client:[TAG] +docker pull bitnami/minio-client:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -77,7 +77,7 @@ In this example, we will create a MinIO(R) Client container that will connect to #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the MinIO(R) server container @@ -85,7 +85,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the MinIO(R) container to the `app-tier` network. ```console -$ docker run -d --name minio-server \ +docker run -d --name minio-server \ --env MINIO_ROOT_USER="minio-root-user" \ --env MINIO_ROOT_PASSWORD="minio-root-password" \ --network app-tier \ @@ -97,7 +97,7 @@ $ docker run -d --name minio-server \ Finally we create a new container instance to launch the MinIO(R) client and connect to the server created in the previous step. In this example, we create a new bucket in the MinIO(R) storage server: ```console -$ docker run --rm --name minio-client \ +docker run --rm --name minio-client \ --env MINIO_SERVER_HOST="minio-server" \ --env MINIO_SERVER_ACCESS_KEY="minio-root-user" \ --env MINIO_SERVER_SECRET_KEY="minio-root-password" \ @@ -110,16 +110,16 @@ $ docker run --rm --name minio-client \ MinIO(R) Client (`mc`) can be setup so it is already configured to point to a specific MinIO(R) server by providing the environment variables below: -- `MINIO_SERVER_HOST`: MinIO(R) server host. -- `MINIO_SERVER_PORT_NUMBER`: MinIO(R) server port. Default: `9000`. -- `MINIO_SERVER_SCHEME`: MinIO(R) server scheme. Default: `http`. -- `MINIO_SERVER_ACCESS_KEY`: MinIO(R) server Access Key. Must be common on every node. -- `MINIO_SERVER_SECRET_KEY`: MinIO(R) server Secret Key. Must be common on every node. +* `MINIO_SERVER_HOST`: MinIO(R) server host. +* `MINIO_SERVER_PORT_NUMBER`: MinIO(R) server port. Default: `9000`. +* `MINIO_SERVER_SCHEME`: MinIO(R) server scheme. Default: `http`. +* `MINIO_SERVER_ACCESS_KEY`: MinIO(R) server Access Key. Must be common on every node. +* `MINIO_SERVER_SECRET_KEY`: MinIO(R) server Secret Key. Must be common on every node. For instance, use the command below to create a new bucket in the MinIO(R) Server `my.minio.domain`: ```console -$ docker run --rm --name minio-client \ +docker run --rm --name minio-client \ --env MINIO_SERVER_HOST="my.minio.domain" \ --env MINIO_SERVER_ACCESS_KEY="minio-access-key" \ --env MINIO_SERVER_SECRET_KEY="minio-secret-key" \ @@ -145,7 +145,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/minio/README.md b/bitnami/minio/README.md index 3d10eaa489e6..6180e284611e 100644 --- a/bitnami/minio/README.md +++ b/bitnami/minio/README.md @@ -11,14 +11,14 @@ Disclaimer: All software products, projects and company names are trademark(TM) ## TL;DR ```console -$ docker run --name minio bitnami/minio:latest +docker run --name minio bitnami/minio:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/minio/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/minio/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -53,21 +53,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MinIO(R) Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/minio). ```console -$ docker pull bitnami/minio:latest +docker pull bitnami/minio:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/minio/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/minio:[TAG] +docker pull bitnami/minio:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -77,7 +77,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/data` path. ```console -$ docker run --name minio \ +docker run --name minio \ --publish 9000:9000 \ --publish 9001:9001 \ --volume /path/to/minio-persistence:/data \ @@ -110,7 +110,7 @@ In this example, we will create a [MinIO(R) client](https://github.com/bitnami/c #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the MinIO(R) server container @@ -118,7 +118,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the MinIO(R) container to the `app-tier` network. ```console -$ docker run -d --name minio-server \ +docker run -d --name minio-server \ --env MINIO_ROOT_USER="minio-root-user" \ --env MINIO_ROOT_PASSWORD="minio-root-password" \ --network app-tier \ @@ -130,7 +130,7 @@ $ docker run -d --name minio-server \ Finally we create a new container instance to launch the MinIO(R) client and connect to the server created in the previous step. In this example, we create a new bucket in the MinIO(R) storage server: ```console -$ docker run -it --rm --name minio-client \ +docker run -it --rm --name minio-client \ --env MINIO_SERVER_HOST="minio-server" \ --env MINIO_SERVER_ACCESS_KEY="minio-access-key" \ --env MINIO_SERVER_SECRET_KEY="minio-secret-key" \ @@ -179,7 +179,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -189,16 +189,16 @@ MiNIO can be configured via environment variables as detailed at [MinIO(R) docum A MinIO(R) Client (`mc`) is also shipped on this image that can be used to perform administrative tasks as described at the [MinIO(R) Client documentation](https://docs.min.io/docs/minio-admin-complete-guide.html). In the example below, the client is used to obtain the server info: ```console -$ docker run --name minio -d bitnami/minio:latest -$ docker exec minio mc admin info local +docker run --name minio -d bitnami/minio:latest +docker exec minio mc admin info local ``` or using Docker Compose: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/minio/docker-compose.yml > docker-compose.yml -$ docker-compose up -d -$ docker-compose exec minio mc admin info local +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/minio/docker-compose.yml > docker-compose.yml +docker-compose up -d +docker-compose exec minio mc admin info local ``` ### Creating default buckets @@ -206,7 +206,7 @@ $ docker-compose exec minio mc admin info local You can create a series of buckets in the MinIO(R) server during the initialization of the container by setting the environment variable `MINIO_DEFAULT_BUCKETS` as shown below (policy is optional): ```console -$ docker run --name minio \ +docker run --name minio \ --publish 9000:9000 \ --publish 9001:9001 \ --env MINIO_DEFAULT_BUCKETS='my-first-bucket:policy,my-second-bucket' \ @@ -231,7 +231,7 @@ You can secure the access to MinIO(R) server with TLS as detailed at [MinIO(R) d This image expects the variable `MINIO_SCHEME` set to `https` and certificates to be mounted at the `/certs` directory. You can put your key and certificate files on a local directory and mount it in the container as shown below: ```console -$ docker run --name minio \ +docker run --name minio \ --publish 9000:9000 \ --publish 9001:9001 \ --volume /path/to/certs:/certs \ @@ -348,7 +348,7 @@ MinIO(R) configures the access & secret key during the 1st initialization based When using persistence, MinIO(R) will reuse the data configured during the 1st initialization by default, ignoring whatever values are set on these environment variables. You can force MinIO(R) to reconfigure the keys based on the environment variables by setting the `MINIO_FORCE_NEW_KEYS` environment variable to `yes`: ```console -$ docker run --name minio \ +docker run --name minio \ --publish 9000:9000 \ --publish 9001:9001 \ --env MINIO_FORCE_NEW_KEYS="yes" \ @@ -363,13 +363,13 @@ $ docker run --name minio \ The Bitnami MinIO(R) Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs minio +docker logs minio ``` or using Docker Compose: ```console -$ docker-compose logs minio +docker-compose logs minio ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -381,7 +381,7 @@ To enable HTTP log trace, you can set the environment variable `MINIO_HTTP_TRACE When setting this environment variable to `/opt/bitnami/minio/log/minio.log`, the logs will be sent to the `stdout`. ```console -$ docker run --name minio \ +docker run --name minio \ --publish 9000:9000 \ --publish 9001:9001 \ --env MINIO_HTTP_TRACE=/opt/bitnami/minio/log/minio.log \ @@ -408,7 +408,7 @@ Bitnami provides up-to-date versions of MinIO(R), including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/minio:latest +docker pull bitnami/minio:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -419,31 +419,31 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop minio +docker stop minio ``` or using Docker Compose: ```console -$ docker-compose stop minio +docker-compose stop minio ``` Next, take a snapshot of the persistent volume `/path/to/minio-persistence` using: ```console -$ rsync -a /path/to/minio-persistence /path/to/minio-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/minio-persistence /path/to/minio-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v minio +docker rm -v minio ``` or using Docker Compose: ```console -$ docker-compose rm -v minio +docker-compose rm -v minio ``` #### Step 4: Run the new image @@ -451,13 +451,13 @@ $ docker-compose rm -v minio Re-create your container from the new image. ```console -$ docker run --name minio bitnami/minio:latest +docker run --name minio bitnami/minio:latest ``` or using Docker Compose: ```console -$ docker-compose up minio +docker-compose up minio ``` ## Contributing @@ -482,7 +482,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mongodb-exporter/README.md b/bitnami/mongodb-exporter/README.md index d46ed40cc858..1fd94d3a8fe2 100644 --- a/bitnami/mongodb-exporter/README.md +++ b/bitnami/mongodb-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name mongodb-exporter bitnami/mongodb-exporter:latest +docker run --name mongodb-exporter bitnami/mongodb-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MongoDB Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mongodb-exporter). ```console -$ docker pull bitnami/mongodb-exporter:latest +docker pull bitnami/mongodb-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/mongodb-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/mongodb-exporter:[TAG] +docker pull bitnami/mongodb-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create mongodb-exporter-network --driver bridge +docker network create mongodb-exporter-network --driver bridge ``` #### Step 2: Launch the mongodb-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create mongodb-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `mongodb-exporter-network` network. ```console -$ docker run --name mongodb-exporter-node1 --network mongodb-exporter-network bitnami/mongodb-exporter:latest +docker run --name mongodb-exporter-node1 --network mongodb-exporter-network bitnami/mongodb-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration options in the [MongoDB Prometheus Exporter documenta The Bitnami MongoDB Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs mongodb-exporter +docker logs mongodb-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of MongoDB Exporter, including security pat #### Step 1: Get the updated image ```console -$ docker pull bitnami/mongodb-exporter:latest +docker pull bitnami/mongodb-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/mongodb-exporter:latest Stop the currently running container using the command ```console -$ docker stop mongodb-exporter +docker stop mongodb-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v mongodb-exporter +docker rm -v mongodb-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v mongodb-exporter Re-create your container from the new image. ```console -$ docker run --name mongodb-exporter bitnami/mongodb-exporter:latest +docker run --name mongodb-exporter bitnami/mongodb-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mongodb-sharded/README.md b/bitnami/mongodb-sharded/README.md index 014ac522e133..a33c2e8f23e3 100644 --- a/bitnami/mongodb-sharded/README.md +++ b/bitnami/mongodb-sharded/README.md @@ -11,14 +11,14 @@ Disclaimer: The respective trademarks mentioned in the offering are owned by the ## TL;DR ```console -$ docker run --name mongodb bitnami/mongodb-sharded:latest +docker run --name mongodb bitnami/mongodb-sharded:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mongodb-sharded/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mongodb-sharded/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -53,21 +53,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MongoDB® Sharded Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mongodb-sharded). ```console -$ docker pull bitnami/mongodb-sharded:latest +docker pull bitnami/mongodb-sharded:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/mongodb-sharded/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/mongodb-sharded:[TAG] +docker pull bitnami/mongodb-sharded:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -77,14 +77,14 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should create a directory and mount it at the `/bitnami/mongodb` path. If the mounted directory is empty, it will be initialized on the first run. As this is a non-root container, directory must have read/write permissions for the UID 1001. ```console -$ docker run \ +docker run \ -v /path/to/mongodb-persistence:/bitnami/mongodb \ bitnami/mongodb-sharded:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mongodb-sharded/docker-compose.yml) file present in this repository: -- Create directories to hold the persistence data. At minimum you will need one directory for each mongo instance running in the sharded cluster. For example, that means one directory for mongos, mongocfg and mongoshard. You need to assign read write permission to UID 1001 (ie. mkdir [directory] && chown 1001:1001 [directory] && chmod 777 [directory]) to all directories. +* Create directories to hold the persistence data. At minimum you will need one directory for each mongo instance running in the sharded cluster. For example, that means one directory for mongos, mongocfg and mongoshard. You need to assign read write permission to UID 1001 (ie. mkdir [directory] && chown 1001:1001 [directory] && chmod 777 [directory]) to all directories. ```yaml services: @@ -111,28 +111,28 @@ services: In a sharded cluster, there are [three components](https://docs.mongodb.com/manual/sharding/#sharded-cluster): -- Mongos: Interface between the applications and the sharded database. -- Config Servers: Stores metadata and configuration settings for the sharded database. -- Shards: Contains a subset of the data. +* Mongos: Interface between the applications and the sharded database. +* Config Servers: Stores metadata and configuration settings for the sharded database. +* Shards: Contains a subset of the data. A [sharded cluster](https://docs.mongodb.com/manual/sharding/#sharded-cluster) can easily be setup with the Bitnami MongoDB® Sharded Docker Image using the following environment variables: - - `MONGODB_SHARDING_MODE`: The sharding mode. Possible values: `mongos`/`configsvr`/`shardsvr`. No defaults. - - `MONGODB_REPLICA_SET_NAME`: MongoDB® replica set name. In a sharded cluster we will have multiple replica sets. Default: **replicaset** - - `MONGODB_MONGOS_HOST`: MongoDB® mongos instance host. No defaults. - - `MONGODB_CFG_REPLICA_SET_NAME`: MongoDB® config server replica set name. In a sharded cluster we will have multiple replica sets. Default: **replicaset** - - `MONGODB_CFG_PRIMARY_HOST`: MongoDB® config server primary host. No defaults. - - `MONGODB_ADVERTISED_HOSTNAME`: MongoDB® advertised hostname. No defaults. It is recommended to pass this environment variable if you experience issues with ephemeral IPs. Setting this env var makes the nodes of the replica set to be configured with a hostname instead of the machine IP. - - `MONGODB_REPLICA_SET_KEY`: MongoDB® replica set key. Length should be greater than 5 characters and should not contain any special characters. Required for all nodes in the sharded cluster. No default. - - `MONGODB_ROOT_PASSWORD`: MongoDB® root password. No defaults. - - `MONGODB_REPLICA_SET_MODE`: The replication mode. Possible values `primary`/`secondary`/`arbiter`. No defaults. +* `MONGODB_SHARDING_MODE`: The sharding mode. Possible values: `mongos`/`configsvr`/`shardsvr`. No defaults. +* `MONGODB_REPLICA_SET_NAME`: MongoDB® replica set name. In a sharded cluster we will have multiple replica sets. Default: **replicaset** +* `MONGODB_MONGOS_HOST`: MongoDB® mongos instance host. No defaults. +* `MONGODB_CFG_REPLICA_SET_NAME`: MongoDB® config server replica set name. In a sharded cluster we will have multiple replica sets. Default: **replicaset** +* `MONGODB_CFG_PRIMARY_HOST`: MongoDB® config server primary host. No defaults. +* `MONGODB_ADVERTISED_HOSTNAME`: MongoDB® advertised hostname. No defaults. It is recommended to pass this environment variable if you experience issues with ephemeral IPs. Setting this env var makes the nodes of the replica set to be configured with a hostname instead of the machine IP. +* `MONGODB_REPLICA_SET_KEY`: MongoDB® replica set key. Length should be greater than 5 characters and should not contain any special characters. Required for all nodes in the sharded cluster. No default. +* `MONGODB_ROOT_PASSWORD`: MongoDB® root password. No defaults. +* `MONGODB_REPLICA_SET_MODE`: The replication mode. Possible values `primary`/`secondary`/`arbiter`. No defaults. #### Step 1: Create the config server replica set The first step is to start the MongoDB® primary config server. ```console -$ docker run --name mongodb-configsvr-primary \ +docker run --name mongodb-configsvr-primary \ -e MONGODB_SHARDING_MODE=configsvr \ -e MONGODB_REPLICA_SET_MODE=primary \ -e MONGODB_ROOT_PASSWORD=password123 \ @@ -148,7 +148,7 @@ In the above command the container is configured as Config server using the `MON Next we start a MongoDB® mongos server and connect it to the config server replica set. ```console -$ docker run --name mongos \ +docker run --name mongos \ --link mongodb-configsvr-primary:cfg-primary \ -e MONGODB_SHARDING_MODE=mongos \ -e MONGODB_CFG_PRIMARY_HOST=cfg-primary \ @@ -165,7 +165,7 @@ In the above command the container is configured as a `mongos` using the `MONGOD Finally we start a MongoDB® data shard container. ```console -$ docker run --name mongodb-shard0-primary \ +docker run --name mongodb-shard0-primary \ --link mongodb-configsvr-primary:cfg-primary \ --link mongos:mongos \ -e MONGODB_SHARDING_MODE=shardsvr \ @@ -229,6 +229,7 @@ volumes: ``` ### More MongoDB® configuration settings + The Bitnami MongoDB® Sharded image contains the [same configuration features than the Bitnami MongoDB® image](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#configuration). ## Logging @@ -236,13 +237,13 @@ The Bitnami MongoDB® Sharded image contains the [same configuration features The Bitnami MongoDB® Sharded Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs mongodb-sharded +docker logs mongodb-sharded ``` or using Docker Compose: ```console -$ docker-compose logs mongodb-sharded +docker-compose logs mongodb-sharded ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -256,7 +257,7 @@ Bitnami provides up-to-date versions of MongoDB®, including security patches #### Step 1: Get the updated image ```console -$ docker pull bitnami/mongodb-sharded:latest +docker pull bitnami/mongodb-sharded:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/mongodb-sharded:latest`. @@ -266,19 +267,19 @@ or if you're using Docker Compose, update the value of the image property to `bi Stop the currently running container using the command ```console -$ docker stop mongodb-sharded +docker stop mongodb-sharded ``` or using Docker Compose: ```console -$ docker-compose stop mongodb-sharded +docker-compose stop mongodb-sharded ``` Next, take a snapshot of the persistent volume `/path/to/mongodb-persistence` using: ```console -$ rsync -a /path/to/mongodb-persistence /path/to/mongodb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/mongodb-persistence /path/to/mongodb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -286,13 +287,13 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v mongodb-sharded +docker rm -v mongodb-sharded ``` or using Docker Compose: ```console -$ docker-compose rm -v mongodb-sharded +docker-compose rm -v mongodb-sharded ``` #### Step 4: Run the new image @@ -300,25 +301,25 @@ $ docker-compose rm -v mongodb-sharded Re-create your container from the new image. ```console -$ docker run --name mongodb bitnami/mongodb-sharded:latest +docker run --name mongodb bitnami/mongodb-sharded:latest ``` or using Docker Compose: ```console -$ docker-compose up mongodb-sharded +docker-compose up mongodb-sharded ``` ## Notable Changes ### 4.4.8-debian-10-r32, and 5.0.2-debian-10-r0 -- From now on, "Default Write Concern" need to be set before adding new members (secondary, arbiter or hidden) to the cluster. In order to maintain the safest default configuration, `{"setDefaultRWConcern" : 1, "defaultWriteConcern" : {"w" : "majority"}}` is configured before adding new members. See https://docs.mongodb.com/manual/reference/command/setDefaultRWConcern/ and https://docs.mongodb.com/v5.0/reference/mongodb-defaults/#default-write-concern +* From now on, "Default Write Concern" need to be set before adding new members (secondary, arbiter or hidden) to the cluster. In order to maintain the safest default configuration, `{"setDefaultRWConcern" : 1, "defaultWriteConcern" : {"w" : "majority"}}` is configured before adding new members. See and ### 3.6.16-centos-7-r49, 4.0.14-centos-7-r29, and 4.2.2-centos-7-r41 -- `3.6.16-centos-7-r49`, `4.0.14-centos-7-r29`, and `4.2.2-centos-7-r41` are considered the latest images based on CentOS. -- Standard supported distros: Debian & OEL. +* `3.6.16-centos-7-r49`, `4.0.14-centos-7-r29`, and `4.2.2-centos-7-r41` are considered the latest images based on CentOS. +* Standard supported distros: Debian & OEL. ## Contributing @@ -336,7 +337,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mongodb/README.md b/bitnami/mongodb/README.md index 2debfd0c2c97..e722faa4be6a 100644 --- a/bitnami/mongodb/README.md +++ b/bitnami/mongodb/README.md @@ -11,14 +11,14 @@ Disclaimer: The respective trademarks mentioned in the offering are owned by the ## TL;DR ```console -$ docker run --name mongodb bitnami/mongodb:latest +docker run --name mongodb bitnami/mongodb:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mongodb/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mongodb/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -53,21 +53,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MongoDB® Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mongodb). ```console -$ docker pull bitnami/mongodb:latest +docker pull bitnami/mongodb:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/mongodb/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/mongodb:[TAG] +docker pull bitnami/mongodb:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -77,7 +77,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/mongodb` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/mongodb-persistence:/bitnami/mongodb \ bitnami/mongodb:latest ``` @@ -110,7 +110,7 @@ In this example, we will create a MongoDB® client instance that will connect #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the MongoDB® server instance @@ -118,7 +118,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the MongoDB® container to the `app-tier` network. ```console -$ docker run -d --name mongodb-server \ +docker run -d --name mongodb-server \ --network app-tier \ bitnami/mongodb:latest ``` @@ -128,7 +128,7 @@ $ docker run -d --name mongodb-server \ Finally we create a new container instance to launch the MongoDB® client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/mongodb:latest mongo --host mongodb-server ``` @@ -163,7 +163,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -178,11 +178,11 @@ In order to have your custom files inside the docker image you can mount them as Passing extra command-line flags to the mongod service command is possible through the following env var: -- `MONGODB_EXTRA_FLAGS`: Flags to be appended to the `mongod` startup command. No defaults -- `MONGODB_CLIENT_EXTRA_FLAGS`: Flags to be appended to the `mongo` command which is used to connect to the (local or remote) `mongod` daemon. No defaults +* `MONGODB_EXTRA_FLAGS`: Flags to be appended to the `mongod` startup command. No defaults +* `MONGODB_CLIENT_EXTRA_FLAGS`: Flags to be appended to the `mongo` command which is used to connect to the (local or remote) `mongod` daemon. No defaults ```console -$ docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_EXTRA_FLAGS='--wiredTigerCacheSizeGB=2' bitnami/mongodb:latest +docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_EXTRA_FLAGS='--wiredTigerCacheSizeGB=2' bitnami/mongodb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mongodb/docker-compose.yml) file present in this repository: @@ -201,11 +201,11 @@ services: Configuring the system log verbosity level is possible through the following env vars: -- `MONGODB_DISABLE_SYSTEM_LOG`: Whether to enable/disable system log on MongoDB®. Default: `false`. Possible values: `[true, false]`. -- `MONGODB_SYSTEM_LOG_VERBOSITY`: MongoDB® system log verbosity level. Default: `0`. Possible values: `[0, 1, 2, 3, 4, 5]`. For more information about the verbosity levels please refer to the [MongoDB® documentation](https://docs.mongodb.com/manual/reference/configuration-options/#systemLog.verbosity) +* `MONGODB_DISABLE_SYSTEM_LOG`: Whether to enable/disable system log on MongoDB®. Default: `false`. Possible values: `[true, false]`. +* `MONGODB_SYSTEM_LOG_VERBOSITY`: MongoDB® system log verbosity level. Default: `0`. Possible values: `[0, 1, 2, 3, 4, 5]`. For more information about the verbosity levels please refer to the [MongoDB® documentation](https://docs.mongodb.com/manual/reference/configuration-options/#systemLog.verbosity) ```console -$ docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_SYSTEM_LOG_VERBOSITY='3' bitnami/mongodb:latest +docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_SYSTEM_LOG_VERBOSITY='3' bitnami/mongodb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mongodb/docker-compose.yml) file present in this repository: @@ -222,18 +222,18 @@ services: ### Using numactl - In order to enable launching commands using numactl, set the `MONGODB_ENABLE_NUMACTL` variable to true. For more information on this, check the official [MongoDB documentation][(https://docs.mongodb.com/manual/administration/production-notes/#configuring-numa-on-linux) + In order to enable launching commands using numactl, set the `MONGODB_ENABLE_NUMACTL` variable to true. For more information on this, check the official [MongoDB documentation][() ### Enabling/disabling IPv6 Enabling/disabling IPv6 is possible through the following env var: -- `MONGODB_ENABLE_IPV6`: Whether to enable/disable IPv6 on MongoDB®. Default: `false`. Possible values: `[true, false]` +* `MONGODB_ENABLE_IPV6`: Whether to enable/disable IPv6 on MongoDB®. Default: `false`. Possible values: `[true, false]` To enable IPv6 support, you can execute: ```console -$ docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_IPV6=yes bitnami/mongodb:latest +docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_IPV6=yes bitnami/mongodb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mongodb/docker-compose.yml) file present in this repository: @@ -252,10 +252,10 @@ services: Enabling/disabling [directoryPerDB](https://docs.mongodb.com/manual/reference/configuration-options/#storage.directoryPerDB) is possible through the following env var: -- `MONGODB_ENABLE_DIRECTORY_PER_DB`: Whether to enable/disable directoryPerDB on MongoDB®. Default: `true`. Possible values: `[true, false]` +* `MONGODB_ENABLE_DIRECTORY_PER_DB`: Whether to enable/disable directoryPerDB on MongoDB®. Default: `true`. Possible values: `[true, false]` ```console -$ docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_DIRECTORY_PER_DB=yes bitnami/mongodb:latest +docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_DIRECTORY_PER_DB=yes bitnami/mongodb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mongodb/docker-compose.yml) file present in this repository: @@ -274,10 +274,10 @@ services: Enabling/disabling [journal](https://docs.mongodb.com/manual/reference/configuration-options/#mongodb-setting-storage.journal.enabled) is possible through the following env var: -- `MONGODB_ENABLE_JOURNAL`: Whether to enable/disable journaling on MongoDB®. Default: `true`. Possible values: `[true, false]` +* `MONGODB_ENABLE_JOURNAL`: Whether to enable/disable journaling on MongoDB®. Default: `true`. Possible values: `[true, false]` ```console -$ docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_JOURNAL=true bitnami/mongodb:latest +docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_JOURNAL=true bitnami/mongodb:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mongodb/docker-compose.yml) file present in this repository: @@ -297,7 +297,7 @@ services: Passing the `MONGODB_ROOT_PASSWORD` environment variable when running the image for the first time will set the password of `MONGODB_ROOT_USER` to the value of `MONGODB_ROOT_PASSWORD` and enable authentication on the MongoDB® server. If unset, `MONGODB_ROOT_USER` defaults to `root`. ```console -$ docker run --name mongodb \ +docker run --name mongodb \ -e MONGODB_ROOT_PASSWORD=password123 bitnami/mongodb:latest ``` @@ -319,7 +319,7 @@ The `MONGODB_ROOT_USER` user is configured to have full administrative access to You can create a user with restricted access to a database while starting the container for the first time. To do this, provide the `MONGODB_USERNAME`, `MONGODB_PASSWORD` and `MONGODB_DATABASE` environment variables. ```console -$ docker run --name mongodb \ +docker run --name mongodb \ -e MONGODB_USERNAME=my_user -e MONGODB_PASSWORD=password123 \ -e MONGODB_DATABASE=my_database bitnami/mongodb:latest ``` @@ -344,18 +344,18 @@ Creation of a user enables authentication on the MongoDB® server and as a re A [replication](https://docs.mongodb.com/manual/replication/) cluster can easily be setup with the Bitnami MongoDB® Docker Image using the following environment variables: - - `MONGODB_REPLICA_SET_MODE`: The replication mode. Possible values `primary`/`secondary`/`arbiter`. No defaults. - - `MONGODB_REPLICA_SET_NAME`: MongoDB® replica set name. Default: **replicaset** - - `MONGODB_PORT_NUMBER`: The port each MongoDB® will use. Default: **27017** - - `MONGODB_INITIAL_PRIMARY_HOST`: MongoDB® initial primary host, once the replicaset is created any node can be eventually promoted to be the primary. No defaults. - - `MONGODB_INITIAL_PRIMARY_PORT_NUMBER`: MongoDB® initial primary node port, as seen by other nodes. Default: **27017** - - `MONGODB_ADVERTISED_HOSTNAME`: MongoDB® advertised hostname. No defaults. It is recommended to pass this environment variable if you experience issues with ephemeral IPs. Setting this env var makes the nodes of the replica set to be configured with a hostname instead of the machine IP. - - `MONGODB_ADVERTISE_IP`: MongoDB® advertised hostname is set to container ip. Default: **false**. Overrides `MONGODB_ADVERTISED_HOSTNAME` - - `MONGODB_ADVERTISED_PORT_NUMBER`: MongoDB® advertised port number. No defaults. It is recommended to pass this environment variable if you have a proxy port forwarding requests to container. - - `MONGODB_REPLICA_SET_KEY`: MongoDB® replica set key. Length should be greater than 5 characters and should not contain any special characters. Required for all nodes. No default. - - `MONGODB_ROOT_USER`: MongoDB® root user name. Default: **root**. - - `MONGODB_ROOT_PASSWORD`: MongoDB® root password. No defaults. Only for primary node. - - `MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD`: MongoDB® initial primary root password. No defaults. Only for secondaries and arbiter nodes. +* `MONGODB_REPLICA_SET_MODE`: The replication mode. Possible values `primary`/`secondary`/`arbiter`. No defaults. +* `MONGODB_REPLICA_SET_NAME`: MongoDB® replica set name. Default: **replicaset** +* `MONGODB_PORT_NUMBER`: The port each MongoDB® will use. Default: **27017** +* `MONGODB_INITIAL_PRIMARY_HOST`: MongoDB® initial primary host, once the replicaset is created any node can be eventually promoted to be the primary. No defaults. +* `MONGODB_INITIAL_PRIMARY_PORT_NUMBER`: MongoDB® initial primary node port, as seen by other nodes. Default: **27017** +* `MONGODB_ADVERTISED_HOSTNAME`: MongoDB® advertised hostname. No defaults. It is recommended to pass this environment variable if you experience issues with ephemeral IPs. Setting this env var makes the nodes of the replica set to be configured with a hostname instead of the machine IP. +* `MONGODB_ADVERTISE_IP`: MongoDB® advertised hostname is set to container ip. Default: **false**. Overrides `MONGODB_ADVERTISED_HOSTNAME` +* `MONGODB_ADVERTISED_PORT_NUMBER`: MongoDB® advertised port number. No defaults. It is recommended to pass this environment variable if you have a proxy port forwarding requests to container. +* `MONGODB_REPLICA_SET_KEY`: MongoDB® replica set key. Length should be greater than 5 characters and should not contain any special characters. Required for all nodes. No default. +* `MONGODB_ROOT_USER`: MongoDB® root user name. Default: **root**. +* `MONGODB_ROOT_PASSWORD`: MongoDB® root password. No defaults. Only for primary node. +* `MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD`: MongoDB® initial primary root password. No defaults. Only for secondaries and arbiter nodes. In a replication cluster you can have one primary node, zero or more secondary nodes and zero or one arbiter node. @@ -366,7 +366,7 @@ In a replication cluster you can have one primary node, zero or more secondary n The first step is to start the MongoDB® primary. ```console -$ docker run --name mongodb-primary \ +docker run --name mongodb-primary \ -e MONGODB_REPLICA_SET_MODE=primary \ -e MONGODB_ADVERTISED_HOSTNAME=mongodb-primary \ -e MONGODB_ROOT_PASSWORD=password123 \ @@ -381,7 +381,7 @@ In the above command the container is configured as the `primary` using the `MON Next we start a MongoDB® secondary container. ```console -$ docker run --name mongodb-secondary \ +docker run --name mongodb-secondary \ --link mongodb-primary:primary \ -e MONGODB_REPLICA_SET_MODE=secondary \ -e MONGODB_ADVERTISED_HOSTNAME=mongodb-secondary \ @@ -399,7 +399,7 @@ In the above command the container is configured as a `secondary` using the `MON Finally we start a MongoDB® arbiter container. ```console -$ docker run --name mongodb-arbiter \ +docker run --name mongodb-arbiter \ --link mongodb-primary:primary \ -e MONGODB_REPLICA_SET_MODE=arbiter \ -e MONGODB_ADVERTISED_HOSTNAME=mongodb-arbiter \ @@ -419,7 +419,7 @@ You now have a three node MongoDB® replication cluster up and running which If we want a replication hidden node, we start a MongoDB® hidden container. ```console -$ docker run --name mongodb-hidden \ +docker run --name mongodb-hidden \ --link mongodb-primary:primary \ -e MONGODB_REPLICA_SET_MODE=hidden \ -e MONGODB_ADVERTISED_HOSTNAME=mongodb-hidden \ @@ -481,7 +481,7 @@ volumes: and run docker-compose using: ```console -$ docker-compose up --detach +docker-compose up --detach ``` In the case you want to scale the number of secondary nodes using the docker-compose parameter `--scale`, the MONGODB_ADVERTISED_HOSTNAME must not be set in mongodb-secondary and mongodb-arbiter defintions. @@ -531,7 +531,7 @@ volumes: And then run docker-compose using: ```console -$ docker-compose up --detach --scale mongodb-primary=1 --scale mongodb-secondary=3 --scale mongodb-arbiter=1 +docker-compose up --detach --scale mongodb-primary=1 --scale mongodb-secondary=3 --scale mongodb-arbiter=1 ``` The above command scales up the number of secondary nodes to `3`. You can scale down in the same way. @@ -572,28 +572,31 @@ Finally, the hidden node follows the same procedure than secondary nodes with th This container supports enabling SSL/TLS between nodes in the cluster, as well as between mongo clients and nodes, by setting the `MONGODB_EXTRA_FLAGS` and `MONGODB_CLIENT_EXTRA_FLAGS` environment variables, together with the correct `MONGODB_ADVERTISED_HOSTNAME`. -Before starting the cluster you need to generate PEM certificates as required by Mongo - one way is to create self-signed certificates using `openssl` (see http://www.openssl.org). +Before starting the cluster you need to generate PEM certificates as required by Mongo - one way is to create self-signed certificates using `openssl` (see ). -**The certificates generated as described are not for production use** +> **The certificates generated as described are not for production use** Another option would be to use letsencrypt certificates; the required configuration steps for that scenario are left as an exercise for the user and are beyond the scope of this README. #### Generating self-signed certificates -- Generate a new private key which will be used to create your own Certificate Authority (CA): +* Generate a new private key which will be used to create your own Certificate Authority (CA): + ```console openssl genrsa -out mongoCA.key 2048 ``` -- Create the public certificate for your own CA: +* Create the public certificate for your own CA: + ```console openssl req -x509 -new \ -subj "/C=US/ST=NY/L=New York/O=Example Corp/OU=IT Department/CN=mongoCA" \ -key mongoCA.key -out mongoCA.crt ``` -- Create a Certificate Signing Request for a node `${NODE_NAME}`, the essential part here is that the `Common Name` corresponds to the hostname by which the nodes will be addressed. +* Create a Certificate Signing Request for a node `${NODE_NAME}`, the essential part here is that the `Common Name` corresponds to the hostname by which the nodes will be addressed. Example for `mongodb-primary`: + ```console export NODE_NAME=mongodb-primary openssl req -new -nodes \ @@ -601,19 +604,22 @@ openssl req -new -nodes \ -keyout ${NODE_NAME}.key -out ${NODE_NAME}.csr ``` -- Create a certificate from the Certificate Signing Request and sign it using the private key of your previously created Certificate Authority: +* Create a certificate from the Certificate Signing Request and sign it using the private key of your previously created Certificate Authority: + ```console openssl x509 \ -req -days 365 -in ${NODE_NAME}.csr -out ${NODE_NAME}.crt \ -CA mongoCA.crt -CAkey mongoCA.key -CAcreateserial -extensions req ``` -- Create a PEM bundle using the private key and the public certificate: +* Create a PEM bundle using the private key and the public certificate: + ```console cat ${NODE_NAME}.key ${NODE_NAME}.crt > ${NODE_NAME}.pem ``` NB: Afterwards you do not need the Certificate Signing Request. + ```console rm ${NODE_NAME}.csr ``` @@ -621,20 +627,25 @@ rm ${NODE_NAME}.csr Repeat the process to generate PEM bundles for all the nodes in your cluster. #### Starting the cluster + After having generated the certificates and making them available to the containers at the correct mount points (i.e. `/certificates/`), the environment variables could be setup as in the following examples. Example settings for the primary node `mongodb-primary`: -- `MONGODB_ADVERTISED_HOSTNAME=mongodb-primary` -- `MONGODB_EXTRA_FLAGS=--tlsMode=requireTLS --tlsCertificateKeyFile=/certificates/mongodb-primary.pem --tlsClusterFile=/certificates/mongodb-primary.pem --tlsCAFile=/certificates/mongoCA.crt` -- `MONGODB_CLIENT_EXTRA_FLAGS=--tls --tlsCertificateKeyFile=/certificates/mongodb-primary.pem --tlsCAFile=/certificates/mongoCA.crt` + +* `MONGODB_ADVERTISED_HOSTNAME=mongodb-primary` +* `MONGODB_EXTRA_FLAGS=--tlsMode=requireTLS --tlsCertificateKeyFile=/certificates/mongodb-primary.pem --tlsClusterFile=/certificates/mongodb-primary.pem --tlsCAFile=/certificates/mongoCA.crt` +* `MONGODB_CLIENT_EXTRA_FLAGS=--tls --tlsCertificateKeyFile=/certificates/mongodb-primary.pem --tlsCAFile=/certificates/mongoCA.crt` Example corresponding settings for a secondary node `mongodb-secondary`: -- `MONGODB_ADVERTISED_HOSTNAME=mongodb-secondary` -- `MONGODB_EXTRA_FLAGS=--tlsMode=requireTLS --tlsCertificateKeyFile=/certificates/mongodb-secondary.pem --tlsClusterFile=/certificates/mongodb-secondary.pem --tlsCAFile=/certificates/mongoCA.crt` -- `MONGODB_CLIENT_EXTRA_FLAGS=--tls --tlsCertificateKeyFile=/certificates/mongodb-secondary.pem --tlsCAFile=/certificates/mongoCA.crt` + +* `MONGODB_ADVERTISED_HOSTNAME=mongodb-secondary` +* `MONGODB_EXTRA_FLAGS=--tlsMode=requireTLS --tlsCertificateKeyFile=/certificates/mongodb-secondary.pem --tlsClusterFile=/certificates/mongodb-secondary.pem --tlsCAFile=/certificates/mongoCA.crt` +* `MONGODB_CLIENT_EXTRA_FLAGS=--tls --tlsCertificateKeyFile=/certificates/mongodb-secondary.pem --tlsCAFile=/certificates/mongoCA.crt` #### Connecting to the mongo daemon via SSL + After successfully starting a cluster as specified, within the container it should be possible to connect to the mongo daemon on the primary node using: + ```console /opt/bitnami/mongodb/bin/mongo -u ${MONGODB_ROOT_USER} -p ${MONGODB_ROOT_PASSWORD} --host mongodb-primary --tls --tlsCertificateKeyFile=/certificates/mongodb-primary.pem --tlsCAFile=/certificates/mongoCA.crt ``` @@ -642,8 +653,10 @@ After successfully starting a cluster as specified, within the container it shou **NB**: We only support `--clusterAuthMode=keyFile` in this configuration. #### References -- To also allow clients to connect using username and password (without X509 certificates): https://docs.mongodb.com/manual/reference/configuration-options/#net.ssl.allowConnectionsWithoutCertificates -- For more extensive information regarding related configuration options: https://docs.mongodb.com/manual/reference/program/mongod/#tls-ssl-options, + +* To also allow clients to connect using username and password (without X509 certificates): + +* For more extensive information regarding related configuration options: , Especially client authentication and requirements for common name and OU/DN/etc. fields in the certificates are important for creating a secure setup. ### Configuration file @@ -655,7 +668,7 @@ The image looks for mounted configurations files in `/bitnami/mongodb/conf/`. Yo Run the MongoDB® image, mounting a directory from your host. ```console -$ docker run --name mongodb -v /path/to/mongodb-configuration-persistence:/bitnami/mongodb/conf bitnami/mongodb:latest +docker run --name mongodb -v /path/to/mongodb-configuration-persistence:/bitnami/mongodb/conf bitnami/mongodb:latest ``` or using Docker Compose: @@ -676,7 +689,7 @@ or using Docker Compose: Edit the configuration on your host using your favorite editor. ```console -$ vi /path/to/mongodb-configuration-persistence/mongodb.conf +vi /path/to/mongodb-configuration-persistence/mongodb.conf ``` #### Step 3: Restart MongoDB® @@ -684,13 +697,13 @@ $ vi /path/to/mongodb-configuration-persistence/mongodb.conf After changing the configuration, restart your MongoDB® container for changes to take effect. ```console -$ docker restart mongodb +docker restart mongodb ``` or using Docker Compose: ```console -$ docker-compose restart mongodb +docker-compose restart mongodb ``` Refer to the [configuration file options](http://docs.mongodb.org/v2.4/reference/configuration-options/) manual for the complete list of MongoDB® configuration options. @@ -700,13 +713,13 @@ Refer to the [configuration file options](http://docs.mongodb.org/v2.4/reference The Bitnami MongoDB® Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs mongodb +docker logs mongodb ``` or using Docker Compose: ```console -$ docker-compose logs mongodb +docker-compose logs mongodb ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -720,7 +733,7 @@ Bitnami provides up-to-date versions of MongoDB®, including security patches #### Step 1: Get the updated image ```console -$ docker pull bitnami/mongodb:latest +docker pull bitnami/mongodb:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/mongodb:latest`. @@ -730,19 +743,19 @@ or if you're using Docker Compose, update the value of the image property to `bi Stop the currently running container using the command ```console -$ docker stop mongodb +docker stop mongodb ``` or using Docker Compose: ```console -$ docker-compose stop mongodb +docker-compose stop mongodb ``` Next, take a snapshot of the persistent volume `/path/to/mongodb-persistence` using: ```console -$ rsync -a /path/to/mongodb-persistence /path/to/mongodb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/mongodb-persistence /path/to/mongodb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -750,13 +763,13 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v mongodb +docker rm -v mongodb ``` or using Docker Compose: ```console -$ docker-compose rm -v mongodb +docker-compose rm -v mongodb ``` #### Step 4: Run the new image @@ -764,49 +777,49 @@ $ docker-compose rm -v mongodb Re-create your container from the new image. ```console -$ docker run --name mongodb bitnami/mongodb:latest +docker run --name mongodb bitnami/mongodb:latest ``` or using Docker Compose: ```console -$ docker-compose up mongodb +docker-compose up mongodb ``` ## Notable Changes ### 4.4.8-debian-10-r31, and 5.0.2-debian-10-r0 -- From now on, "Default Write Concern" need to be set before adding new members (secondary, arbiter or hidden) to the cluster. In order to maintain the safest default configuration, `{"setDefaultRWConcern" : 1, "defaultWriteConcern" : {"w" : "majority"}}` is configured before adding new members. See https://docs.mongodb.com/manual/reference/command/setDefaultRWConcern/ and https://docs.mongodb.com/v5.0/reference/mongodb-defaults/#default-write-concern +* From now on, "Default Write Concern" need to be set before adding new members (secondary, arbiter or hidden) to the cluster. In order to maintain the safest default configuration, `{"setDefaultRWConcern" : 1, "defaultWriteConcern" : {"w" : "majority"}}` is configured before adding new members. See and ### 3.6.14-r69, 4.0.13-r11, and 4.2.1-r12 -- The configuration files mount point changed from `/opt/bitnami/mongodb/conf` to `/bitnami/mongodb/conf`. +* The configuration files mount point changed from `/opt/bitnami/mongodb/conf` to `/bitnami/mongodb/conf`. ### 3.6.13-r33, 4.0.10-r42, 4.1.13-r40 and 4.1.13-r41 -- `MONGODB_ENABLE_IPV6` set to `false` by default, if you want to enable IPv6, you need to set this environment variable to `true`. You can find more info at the above ["Enabling/disabling IPv6"](#enablingdisabling-ipv6) section. +* `MONGODB_ENABLE_IPV6` set to `false` by default, if you want to enable IPv6, you need to set this environment variable to `true`. You can find more info at the above ["Enabling/disabling IPv6"](#enablingdisabling-ipv6) section. ### 3.6.13-debian-9-r15, 3.6.13-ol-7-r15, 4.0.10-debian-9-r23, 4.0.10-ol-7-r24, 4.1.13-debian-9-r22, 4.1.13-ol-7-r23 or later -- Decrease the size of the container. Node.js is not needed anymore. MongoDB® configuration logic has been moved to bash scripts in the rootfs folder. +* Decrease the size of the container. Node.js is not needed anymore. MongoDB® configuration logic has been moved to bash scripts in the rootfs folder. ### 3.6.9, 4.0.4 and 4.1.5 or later -- All MongoDB® versions released after October 16, 2018 (3.6.9 or later, 4.0.4 or later or 4.1.5 or later) are licensed under the [Server Side Public License](https://www.mongodb.com/licensing/server-side-public-license) that is not currently accepted as a Open Source license by the Open Source Iniciative (OSI). +* All MongoDB® versions released after October 16, 2018 (3.6.9 or later, 4.0.4 or later or 4.1.5 or later) are licensed under the [Server Side Public License](https://www.mongodb.com/licensing/server-side-public-license) that is not currently accepted as a Open Source license by the Open Source Iniciative (OSI). ### 3.6.6-r16 and 4.1.1-r9 -- The MongoDB® container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the MongoDB® daemon was started as the `mongo` user. From now on, both the container and the MongoDB® daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The MongoDB® container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the MongoDB® daemon was started as the `mongo` user. From now on, both the container and the MongoDB® daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 3.2.7-r5 -- `MONGODB_USER` parameter has been renamed to `MONGODB_USERNAME`. +* `MONGODB_USER` parameter has been renamed to `MONGODB_USERNAME`. ### 3.2.6-r0 -- All volumes have been merged at `/bitnami/mongodb`. Now you only need to mount a single volume at `/bitnami/mongodb` for persistence. -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* All volumes have been merged at `/bitnami/mongodb`. Now you only need to mount a single volume at `/bitnami/mongodb` for persistence. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ## Contributing @@ -824,7 +837,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/moodle/README.md b/bitnami/moodle/README.md index fa51c2a014b7..17f99b669151 100644 --- a/bitnami/moodle/README.md +++ b/bitnami/moodle/README.md @@ -11,8 +11,8 @@ Disclaimer: The respective trademarks mentioned in the offering are owned by the ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/moodle/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/moodle/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -26,7 +26,7 @@ $ docker-compose up -d * All Bitnami images available in Docker Hub are signed with [Docker Content Trust (DCT)](https://docs.docker.com/engine/security/trust/content_trust/). You can use `DOCKER_CONTENT_TRUST=1` to verify the integrity of the images. * Bitnami container images are released on a regular basis with the latest distribution packages available. -# How to deploy Moodle™ in Kubernetes? +## How to deploy Moodle™ in Kubernetes? Deploying Bitnami applications as Helm Charts is the easiest way to get started with our applications on Kubernetes. Read more about the installation in the [Bitnami Chart for Moodle™ GitHub repository](https://github.com/bitnami/charts/tree/master/bitnami/moodle). @@ -45,21 +45,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Docker Image for Moodle™ is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/moodle). ```console -$ docker pull bitnami/moodle:latest +docker pull bitnami/moodle:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/moodle/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/moodle:[TAG] +docker pull bitnami/moodle:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -71,8 +71,8 @@ Moodle™ requires access to a MySQL or MariaDB database to store informatio The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/moodle/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/moodle/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/moodle/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -82,14 +82,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create moodle-network +docker network create moodle-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_moodle \ --env MARIADB_PASSWORD=bitnami \ @@ -102,8 +102,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for Moodle™ persistence and launch the container ```console -$ docker volume create --name moodle_data -$ docker run -d --name moodle \ +docker volume create --name moodle_data +docker run -d --name moodle \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MOODLE_DATABASE_USER=bn_moodle \ @@ -155,13 +155,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create moodle-network +docker network create moodle-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_moodle \ --env MARIADB_PASSWORD=bitnami \ @@ -174,7 +174,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the Moodle™ container with host volumes ```console -$ docker run -d --name moodle \ +docker run -d --name moodle \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MOODLE_DATABASE_USER=bn_moodle \ @@ -191,7 +191,7 @@ $ docker run -d --name moodle \ When you start the Moodle™ 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/moodle/docker-compose.yml) file present in this repository: +* 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/moodle/docker-compose.yml) file present in this repository: ```yaml moodle: @@ -201,10 +201,10 @@ moodle: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name moodle -p 80:8080 -p 443:8443 \ + docker run -d --name moodle -p 80:8080 -p 443:8443 \ --env MOODLE_PASSWORD=my_password \ --network moodle-tier \ --volume /path/to/moodle-persistence:/bitnami \ @@ -213,83 +213,83 @@ moodle: Available environment variables: -##### User and Site configuration +### User and Site configuration -- `MOODLE_USERNAME`: Moodle application username. Default: **user** -- `MOODLE_PASSWORD`: Moodle application password. Default: **bitnami** -- `MOODLE_EMAIL`: Moodle application email. Default: **user@example.com** -- `MOODLE_SITE_NAME`: Moodle site name. Default: **New Site** -- `MOODLE_SKIP_BOOTSTRAP`: Do not initialize the Moodle database for a new deployment. This is necessary in case you use a database that already has Moodle data. Default: **no** -- `MOODLE_HOST`: Allows you to configure Moodle's wwwroot feature. Ex: example.com. By default it is a PHP superglobal variable. Default: **$_SERVER['HTTP_HOST']** -- `MOODLE_REVERSEPROXY`: Allows you to activate the reverseproxy feature of Moodle. Default: **no** -- `MOODLE_SSLPROXY`: Allows you to activate the sslproxy feature of Moodle. Default: **no** -- `MOODLE_LANG`: Allows you to set the default site language. Default: **en** +* `MOODLE_USERNAME`: Moodle application username. Default: **user** +* `MOODLE_PASSWORD`: Moodle application password. Default: **bitnami** +* `MOODLE_EMAIL`: Moodle application email. Default: **user@example.com** +* `MOODLE_SITE_NAME`: Moodle site name. Default: **New Site** +* `MOODLE_SKIP_BOOTSTRAP`: Do not initialize the Moodle database for a new deployment. This is necessary in case you use a database that already has Moodle data. Default: **no** +* `MOODLE_HOST`: Allows you to configure Moodle's wwwroot feature. Ex: example.com. By default it is a PHP superglobal variable. Default: **$_SERVER['HTTP_HOST']** +* `MOODLE_REVERSEPROXY`: Allows you to activate the reverseproxy feature of Moodle. Default: **no** +* `MOODLE_SSLPROXY`: Allows you to activate the sslproxy feature of Moodle. Default: **no** +* `MOODLE_LANG`: Allows you to set the default site language. Default: **en** -##### Use an existing database +### Use an existing database -- `MOODLE_DATABASE_TYPE`: Database type. Valid values: *mariadb*, *mysqli*, *pgsql*, *auroramysql*. Default: **mariadb** -- `MOODLE_DATABASE_HOST`: Hostname for database server. Default: **mariadb** -- `MOODLE_DATABASE_PORT_NUMBER`: Port used by database server. Default: **3306** -- `MOODLE_DATABASE_NAME`: Database name that Moodle will use to connect with the database. Default: **bitnami_moodle** -- `MOODLE_DATABASE_USER`: Database user that Moodle will use to connect with the database. Default: **bn_moodle** -- `MOODLE_DATABASE_PASSWORD`: Database password that Moodle will use to connect with the database. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MOODLE_DATABASE_TYPE`: Database type. Valid values: *mariadb*, *mysqli*, *pgsql*, *auroramysql*. Default: **mariadb** +* `MOODLE_DATABASE_HOST`: Hostname for database server. Default: **mariadb** +* `MOODLE_DATABASE_PORT_NUMBER`: Port used by database server. Default: **3306** +* `MOODLE_DATABASE_NAME`: Database name that Moodle will use to connect with the database. Default: **bitnami_moodle** +* `MOODLE_DATABASE_USER`: Database user that Moodle will use to connect with the database. Default: **bn_moodle** +* `MOODLE_DATABASE_PASSWORD`: Database password that Moodle will use to connect with the database. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for Moodle using mysql-client +### Create a database for Moodle using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for Moodle using postgresql-client +### Create a database for Moodle using postgresql-client -- `POSTGRESQL_CLIENT_DATABASE_HOST`: Hostname for the PostgreSQL server. Default: **postgresql** -- `POSTGRESQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** -- `POSTGRESQL_CLIENT_POSTGRES_USER`: Database admin user. Default: **root** -- `POSTGRESQL_CLIENT_POSTGRES_PASSWORD`: Database password for the database admin user. No defaults. -- `POSTGRESQL_CLIENT_CREATE_DATABASE_NAMES`: List of new databases to be created by the postgresql-client module. No defaults. -- `POSTGRESQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the postgresql-client module. No defaults. -- `POSTGRESQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `POSTGRESQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `POSTGRESQL_CLIENT_CREATE_DATABASE_EXTENSIONS`: PostgreSQL extensions to enable in the specified database during the first initialization. No defaults. -- `POSTGRESQL_CLIENT_EXECUTE_SQL`: SQL code to execute in the PostgreSQL server. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `POSTGRESQL_CLIENT_DATABASE_HOST`: Hostname for the PostgreSQL server. Default: **postgresql** +* `POSTGRESQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** +* `POSTGRESQL_CLIENT_POSTGRES_USER`: Database admin user. Default: **root** +* `POSTGRESQL_CLIENT_POSTGRES_PASSWORD`: Database password for the database admin user. No defaults. +* `POSTGRESQL_CLIENT_CREATE_DATABASE_NAMES`: List of new databases to be created by the postgresql-client module. No defaults. +* `POSTGRESQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the postgresql-client module. No defaults. +* `POSTGRESQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `POSTGRESQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `POSTGRESQL_CLIENT_CREATE_DATABASE_EXTENSIONS`: PostgreSQL extensions to enable in the specified database during the first initialization. No defaults. +* `POSTGRESQL_CLIENT_EXECUTE_SQL`: SQL code to execute in the PostgreSQL server. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +### SMTP Configuration To configure Moodle™ to send email using SMTP you can set the following environment variables: -- `MOODLE_SMTP_HOST`: SMTP host. -- `MOODLE_SMTP_PORT`: SMTP port. -- `MOODLE_SMTP_USER`: SMTP account user. -- `MOODLE_SMTP_PASSWORD`: SMTP account password. -- `MOODLE_SMTP_PROTOCOL`: SMTP protocol. +* `MOODLE_SMTP_HOST`: SMTP host. +* `MOODLE_SMTP_PORT`: SMTP port. +* `MOODLE_SMTP_USER`: SMTP account user. +* `MOODLE_SMTP_PASSWORD`: SMTP account password. +* `MOODLE_SMTP_PROTOCOL`: SMTP protocol. -##### PHP configuration +### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. -##### Examples +### Examples This would be an example of SMTP configuration using a Gmail account: @@ -313,7 +313,7 @@ This would be an example of SMTP configuration using a Gmail account: * For manual execution: ```console - $ docker run -d --name moodle -p 80:8080 -p 443:8443 \ + docker run -d --name moodle -p 80:8080 -p 443:8443 \ --env MOODLE_DATABASE_USER=bn_moodle \ --env MOODLE_DATABASE_NAME=bitnami_moodle \ --env MOODLE_SMTP_HOST=smtp.gmail.com \ @@ -343,7 +343,7 @@ This would be an instance ready to be put behind the NGINX load balancer. * For manual execution: ```console - $ docker run -d --name moodle -p 80:8080 -p 443:8443 \ + docker run -d --name moodle -p 80:8080 -p 443:8443 \ --env MOODLE_HOST=example.com \ --env MOODLE_REVERSEPROXY=true \ --env MOODLE_SSLPROXY=true \ @@ -362,7 +362,9 @@ You can add extra locales using the `EXTRA_LOCALES` build-time variable when bui For example, the following value would add French, German, Italian and Spanish, you would specify the following value in `EXTRA_LOCALES`: - fr_FR.UTF-8 UTF-8, de_DE.UTF-8 UTF-8, it_IT.UTF-8 UTF-8, es_ES.UTF-8 UTF-8 +```text +fr_FR.UTF-8 UTF-8, de_DE.UTF-8 UTF-8, it_IT.UTF-8 UTF-8, es_ES.UTF-8 UTF-8 +``` > NOTE: The locales `en_AU.UTF-8 UTF-8` and `en_US.UTF-8 UTF-8` will always be packaged, defaulting to `en_US.UTF-8 UTF-8`. @@ -385,7 +387,7 @@ To use `EXTRA_LOCALES`, you have two options: * For manual execution, clone the repository and run the following command inside the `4/debian-11` directory: ```console - $ docker build -t bitnami/moodle:latest --build-arg EXTRA_LOCALES="fr_FR.UTF-8 UTF-8, de_DE.UTF-8 UTF-8, it_IT.UTF-8 UTF-8, es_ES.UTF-8 UTF-8" . + docker build -t bitnami/moodle:latest --build-arg EXTRA_LOCALES="fr_FR.UTF-8 UTF-8, de_DE.UTF-8 UTF-8, it_IT.UTF-8 UTF-8, es_ES.UTF-8 UTF-8" . ``` #### Enable all supported locales using the `WITH_ALL_LOCALES` build-time variable @@ -411,7 +413,7 @@ To use `WITH_ALL_LOCALES`, you have two options: * For manual execution, clone the repository and run the following command inside the `4/debian-11` directory: ```console - $ docker build -t bitnami/moodle:latest --build-arg WITH_ALL_LOCALES=yes . + docker build -t bitnami/moodle:latest --build-arg WITH_ALL_LOCALES=yes . ``` #### Extending the default image @@ -430,13 +432,13 @@ Bear in mind that in the example above `es_ES.UTF-8 UTF-8` is the locale needed The Bitnami Docker image for Moodle™ sends the container logs to `stdout`. To view the logs: ```console -$ docker logs moodle +docker logs moodle ``` Or using Docker Compose: ```console -$ docker-compose logs moodle +docker-compose logs moodle ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -450,13 +452,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop moodle +docker stop moodle ``` Or using Docker Compose: ```console -$ docker-compose stop moodle +docker-compose stop moodle ``` #### Step 2: Run the backup command @@ -464,7 +466,7 @@ $ docker-compose stop moodle We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/moodle-backups:/backups --volumes-from moodle busybox \ +docker run --rm -v /path/to/moodle-backups:/backups --volumes-from moodle busybox \ cp -a /bitnami/moodle /backups/latest ``` @@ -475,7 +477,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -485,7 +487,7 @@ For the MariaDB database container: For the Moodle™ container: ```diff - $ docker run -d --name moodle \ + docker run -d --name moodle \ ... - --volume /path/to/moodle-persistence:/bitnami/moodle \ + --volume /path/to/moodle-backups/latest:/bitnami/moodle \ @@ -497,12 +499,12 @@ For the Moodle™ container: > **NOTE:** Since Moodle(TM) 3.4.0-r1, the application upgrades should be done manually inside the docker container following the [official documentation](https://docs.moodle.org/37/en/Upgrading). > As an alternative, you can try upgrading using an updated Docker image. However, any data from the Moodle(TM) container will be lost and you will have to reinstall all the plugins and themes you manually added. -Bitnami provides up-to-date versions of MariaDB and Moodle™, 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 Moodle™ container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and Moodle™, 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 Moodle™ container. For the MariaDB upgrade see: #### Step 1: Get the updated image ```console -$ docker pull bitnami/moodle:latest +docker pull bitnami/moodle:latest ``` #### Step 2: Stop the running container @@ -510,7 +512,7 @@ $ docker pull bitnami/moodle:latest Stop the currently running container using the command ```console -$ docker-compose stop moodle +docker-compose stop moodle ``` #### Step 3: Take a snapshot of the application state @@ -530,7 +532,7 @@ docker-compose rm -v moodle Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -541,10 +543,10 @@ The Bitnami Docker image for Moodle™ is designed to be extended so it can Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -556,9 +558,9 @@ FROM bitnami/moodle 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/moodle @@ -593,26 +595,26 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ... ``` -# Notable Changes +## Notable Changes ## 3.9.0-debian-10-r17 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The Moodle™ container now supports the "non-root" user approach, but it still runs as the `root` user by default. When running as a non-root user, all services will be run under the same user and Cron jobs will be disabled as crond requires to be run as a superuser. To run as a non-root user, change `USER root` to `USER 1001` in the Dockerfile, or specify `user: 1001` in `docker-compose.yml`. Related changes: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Moodle™ site by exporting its content, and importing it on a new Moodle™ container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The Moodle™ container now supports the "non-root" user approach, but it still runs as the `root` user by default. When running as a non-root user, all services will be run under the same user and Cron jobs will be disabled as crond requires to be run as a superuser. To run as a non-root user, change `USER root` to `USER 1001` in the Dockerfile, or specify `user: 1001` in `docker-compose.yml`. Related changes: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the Moodle™ site by exporting its content, and importing it on a new Moodle™ container. ## 3.7.1-debian-9-r38 and 3.7.1-ol-7-r40 -- It is now possible to use existing Moodle™ databases from other installations, as requested in [#95](https://github.com/bitnami/bitnami-docker-moodle/issues/95). In order to do this, use the environment variable `MOODLE_SKIP_INSTALL`, which forces the container not to run the initial Moodle™ setup wizard. +* It is now possible to use existing Moodle™ databases from other installations, as requested in [#95](https://github.com/bitnami/bitnami-docker-moodle/issues/95). In order to do this, use the environment variable `MOODLE_SKIP_INSTALL`, which forces the container not to run the initial Moodle™ setup wizard. ## 3.7.0-debian-9-r12 and 3.7.0-ol-7-r13 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -638,7 +640,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mxnet/README.md b/bitnami/mxnet/README.md index 2e76f4753936..ec849c4fcd59 100644 --- a/bitnami/mxnet/README.md +++ b/bitnami/mxnet/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name mxnet bitnami/mxnet +docker run -it --name mxnet bitnami/mxnet ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mxnet/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mxnet/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Apache MXNet (Incubating) Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mxnet). ```console -$ docker pull bitnami/mxnet:latest +docker pull bitnami/mxnet:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/mxnet/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/mxnet:[TAG] +docker pull bitnami/mxnet:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Entering the REPL @@ -69,7 +69,7 @@ $ docker build -t bitnami/APP:latest . By default, running this image will drop you into the Python REPL, where you can interactively test and try things out with mxnet in Python. ```console -$ docker run -it --name mxnet bitnami/mxnet +docker run -it --name mxnet bitnami/mxnet ``` ## Configuration @@ -79,7 +79,7 @@ $ docker run -it --name mxnet bitnami/mxnet The default work directory for the mxnet image is `/app`. You can mount a folder from your host here that includes your mxnet script, and run it normally using the `python` command. ```console -$ docker run -it --name mxnet -v /path/to/app:/app bitnami/mxnet \ +docker run -it --name mxnet -v /path/to/app:/app bitnami/mxnet \ python script.py ``` @@ -88,7 +88,7 @@ $ docker run -it --name mxnet -v /path/to/app:/app bitnami/mxnet \ If your mxnet app has a `requirements.txt` defining your app's dependencies, you can install the dependencies before running your app. ```console -$ docker run -it --name mxnet -v /path/to/app:/app bitnami/mxnet \ +docker run -it --name mxnet -v /path/to/app:/app bitnami/mxnet \ sh -c "pip install -y --file requirements.txt && python script.py" ``` @@ -101,7 +101,7 @@ Bitnami provides up-to-date versions of Apache MXNet (Incubating), including sec #### Step 1: Get the updated image ```console -$ docker pull bitnami/mxnet:latest +docker pull bitnami/mxnet:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/mxnet:latest`. @@ -109,13 +109,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v mxnet +docker rm -v mxnet ``` or using Docker Compose: ```console -$ docker-compose rm -v mxnet +docker-compose rm -v mxnet ``` #### Step 3: Run the new image @@ -123,13 +123,13 @@ $ docker-compose rm -v mxnet Re-create your container from the new image. ```console -$ docker run --name mxnet bitnami/mxnet:latest +docker run --name mxnet bitnami/mxnet:latest ``` or using Docker Compose: ```console -$ docker-compose up mxnet +docker-compose up mxnet ``` ## Contributing diff --git a/bitnami/mysql/README.md b/bitnami/mysql/README.md index 11289110a567..594456240845 100644 --- a/bitnami/mysql/README.md +++ b/bitnami/mysql/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name mysql -e ALLOW_EMPTY_PASSWORD=yes bitnami/mysql:latest +docker run --name mysql -e ALLOW_EMPTY_PASSWORD=yes bitnami/mysql:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mysql/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/mysql/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -55,7 +55,7 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MySQL Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mysql). ```console -$ docker pull bitnami/mysql:latest +docker pull bitnami/mysql:latest ``` To use a specific version, you can pull a versioned tag. You can view the @@ -63,15 +63,15 @@ To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry. ```console -$ docker pull bitnami/mysql:[TAG] +docker pull bitnami/mysql:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -81,7 +81,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/mysql/data` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/mysql-persistence:/bitnami/mysql/data \ bitnami/mysql:latest @@ -113,7 +113,7 @@ In this example, we will create a MySQL client instance that will connect to the #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the MySQL server instance @@ -121,7 +121,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the MySQL container to the `app-tier` network. ```console -$ docker run -d --name mysql-server \ +docker run -d --name mysql-server \ -e ALLOW_EMPTY_PASSWORD=yes \ --network app-tier \ bitnami/mysql:latest @@ -132,7 +132,7 @@ $ docker run -d --name mysql-server \ Finally we create a new container instance to launch the MySQL client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/mysql:latest mysql -h mysql-server -u root ``` @@ -169,7 +169,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -178,8 +178,8 @@ $ docker-compose up -d The container can execute custom files on the first start and on every start. Files with extensions `.sh`, `.sql` and `.sql.gz` are supported. -- Files in `/docker-entrypoint-initdb.d` will only execute on the first container start. -- Files in `/docker-entrypoint-startdb.d` will execute on every container start. +* Files in `/docker-entrypoint-initdb.d` will only execute on the first container start. +* Files in `/docker-entrypoint-startdb.d` will execute on every container start. In order to have your custom files inside the docker image you can mount them as a volume. @@ -191,13 +191,13 @@ Take into account those scripts are treated differently depending on the extensi The root user and password can easily be setup with the Bitnami MySQL Docker image using the following environment variables: - - `MYSQL_ROOT_USER`: The database admin user. Defaults to `root`. - - `MYSQL_ROOT_PASSWORD`: The database admin user password. No defaults. +* `MYSQL_ROOT_USER`: The database admin user. Defaults to `root`. +* `MYSQL_ROOT_PASSWORD`: The database admin user password. No defaults. Passing the `MYSQL_ROOT_PASSWORD` environment variable when running the image for the first time will set the password of the `MYSQL_ROOT_USER` user to the value of `MYSQL_ROOT_PASSWORD`. ```console -$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=password123 bitnami/mysql:latest +docker run --name mysql -e MYSQL_ROOT_PASSWORD=password123 bitnami/mysql:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mysql/docker-compose.yml) file present in this repository: @@ -218,7 +218,7 @@ services: By default the MySQL image expects all the available passwords to be set. In order to allow empty passwords, it is necessary to set the `ALLOW_EMPTY_PASSWORD=yes` env variable. This env variable is only recommended for testing or development purposes. We strongly recommend specifying the `MYSQL_ROOT_PASSWORD` for any other scenario. ```console -$ docker run --name mysql -e ALLOW_EMPTY_PASSWORD=yes bitnami/mysql:latest +docker run --name mysql -e ALLOW_EMPTY_PASSWORD=yes bitnami/mysql:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mysql/docker-compose.yml) file present in this repository: @@ -236,15 +236,15 @@ services: It is possible to configure the character set and collation used by default by the database with the following environment variables: -- `MYSQL_CHARACTER_SET`: The default character set to use. Default: `utf8` -- `MYSQL_COLLATE`: The default collation to use. Default: `utf8_general_ci` +* `MYSQL_CHARACTER_SET`: The default character set to use. Default: `utf8` +* `MYSQL_COLLATE`: The default collation to use. Default: `utf8_general_ci` ### Creating a database on first run By passing the `MYSQL_DATABASE` environment variable when running the image for the first time, a database will be created. This is useful if your application requires that a database already exists, saving you from having to manually create the database using the MySQL client. ```console -$ docker run --name mysql \ +docker run --name mysql \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MYSQL_DATABASE=my_database \ bitnami/mysql:latest @@ -267,7 +267,7 @@ services: You can create a restricted database user that only has permissions for the database created with the [`MYSQL_DATABASE`](#creating-a-database-on-first-run) environment variable. To do this, provide the `MYSQL_USER` environment variable and to set a password for the database user provide the `MYSQL_PASSWORD` variable. MySQL supports different authentication mechanisms, such as `caching_sha2_password` or `mysql_native_password`. To set it, use the `MYSQL_AUTHENTICATION_PLUGIN` variable. ```console -$ docker run --name mysql \ +docker run --name mysql \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MYSQL_USER=my_user \ -e MYSQL_PASSWORD=my_password \ @@ -296,13 +296,13 @@ services: A **zero downtime** MySQL master-slave [replication](https://dev.mysql.com/doc/refman/8.0/en/server-options.html) cluster can easily be setup with the Bitnami MySQL Docker image using the following environment variables: - - `MYSQL_REPLICATION_MODE`: The replication mode. Possible values `master`/`slave`. No defaults. - - `MYSQL_REPLICATION_USER`: The replication user created on the master on first run. No defaults. - - `MYSQL_REPLICATION_PASSWORD`: The replication users password. No defaults. - - `MYSQL_MASTER_HOST`: Hostname/IP of replication master (slave parameter). No defaults. - - `MYSQL_MASTER_PORT_NUMBER`: Server port of the replication master (slave parameter). Defaults to `3306`. - - `MYSQL_MASTER_ROOT_USER`: User on replication master with access to `MYSQL_DATABASE` (slave parameter). Defaults to `root` - - `MYSQL_MASTER_ROOT_PASSWORD`: Password of user on replication master with access to `MYSQL_DATABASE` (slave parameter). No defaults. +* `MYSQL_REPLICATION_MODE`: The replication mode. Possible values `master`/`slave`. No defaults. +* `MYSQL_REPLICATION_USER`: The replication user created on the master on first run. No defaults. +* `MYSQL_REPLICATION_PASSWORD`: The replication users password. No defaults. +* `MYSQL_MASTER_HOST`: Hostname/IP of replication master (slave parameter). No defaults. +* `MYSQL_MASTER_PORT_NUMBER`: Server port of the replication master (slave parameter). Defaults to `3306`. +* `MYSQL_MASTER_ROOT_USER`: User on replication master with access to `MYSQL_DATABASE` (slave parameter). Defaults to `root` +* `MYSQL_MASTER_ROOT_PASSWORD`: Password of user on replication master with access to `MYSQL_DATABASE` (slave parameter). No defaults. In a replication cluster you can have one master and zero or more slaves. When replication is enabled the master node is in read-write mode, while the slaves are in read-only mode. For best performance its advisable to limit the reads to the slaves. @@ -311,7 +311,7 @@ In a replication cluster you can have one master and zero or more slaves. When r The first step is to start the MySQL master. ```console -$ docker run --name mysql-master \ +docker run --name mysql-master \ -e MYSQL_ROOT_PASSWORD=master_root_password \ -e MYSQL_REPLICATION_MODE=master \ -e MYSQL_REPLICATION_USER=my_repl_user \ @@ -329,7 +329,7 @@ In the above command the container is configured as the `master` using the `MYSQ Next we start a MySQL slave container. ```console -$ docker run --name mysql-slave --link mysql-master:master \ +docker run --name mysql-slave --link mysql-master:master \ -e MYSQL_REPLICATION_MODE=slave \ -e MYSQL_REPLICATION_USER=my_repl_user \ -e MYSQL_REPLICATION_PASSWORD=my_repl_password \ @@ -380,7 +380,7 @@ services: Scale the number of slaves using: ```console -$ docker-compose up --detach --scale mysql-master=1 --scale mysql-slave=3 +docker-compose up --detach --scale mysql-master=1 --scale mysql-slave=3 ``` The above command scales up the number of slaves to `3`. You can scale down in the same manner. @@ -393,17 +393,17 @@ The image looks for user-defined configurations in `/opt/bitnami/mysql/conf/my_c For example, in order to override the `max_allowed_packet` directive: -#### Step 1: Write your `my_custom.cnf` file with the following content. +#### Step 1: Write your `my_custom.cnf` file with the following content ```config [mysqld] max_allowed_packet=32M ``` -#### Step 2: Run the MySQL image with the designed volume attached. +#### Step 2: Run the MySQL image with the designed volume attached ```console -$ docker run --name mysql \ +docker run --name mysql \ -p 3306:3306 \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/my_custom.cnf:/opt/bitnami/mysql/conf/my_custom.cnf:ro \ @@ -432,7 +432,7 @@ Refer to the [MySQL server option and variable reference guide](https://dev.mysq It is also possible to use your custom `my.cnf` and overwrite the main configuration file. ```console -$ docker run --name mysql -v /path/to/my.cnf:/opt/bitnami/mysql/conf/my.cnf:ro bitnami/mysql:latest +docker run --name mysql -v /path/to/my.cnf:/opt/bitnami/mysql/conf/my.cnf:ro bitnami/mysql:latest ``` ## Customize this image @@ -443,7 +443,7 @@ The Bitnami MySQL Docker image is designed to be extended so it can be used as t Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by MySQL, by setting the environment variables `MYSQL_PORT_NUMBER` or the character set using `MYSQL_CHARACTER_SET` respectively. +* Settings that can be adapted using environment variables. For instance, you can change the ports used by MySQL, by setting the environment variables `MYSQL_PORT_NUMBER` or the character set using `MYSQL_CHARACTER_SET` respectively. If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -455,10 +455,10 @@ FROM bitnami/mysql Here is an example of extending the image with the following modifications: -- Install the `vim` editor -- Modify the MySQL configuration file -- Modify the ports used by MySQL -- Change the user that runs the container +* Install the `vim` editor +* Modify the MySQL configuration file +* Modify the ports used by MySQL +* Change the user that runs the container ```Dockerfile FROM bitnami/mysql @@ -484,7 +484,7 @@ USER 1002 Based on the extended image, you can use a Docker Compose file like the one below to add other features: -- Add a custom configuration +* Add a custom configuration ```yaml version: '2' @@ -507,13 +507,13 @@ volumes: The Bitnami MySQL Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs mysql +docker logs mysql ``` or using Docker Compose: ```console -$ docker-compose logs mysql +docker-compose logs mysql ``` To increase the verbosity on intialization or add extra debug information, you can assign the `BITNAMI_DEBUG` environment variable to `true`. @@ -524,8 +524,8 @@ You can configure the containers [logging driver](https://docs.docker.com/engine By default MySQL doesn't enable [slow query log](https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html) to record the SQL queries that take a long time to perform. You can modify these settings using the following environment variables: -- `MYSQL_ENABLE_SLOW_QUERY`: Whether to enable slow query logs. Default: `0` -- `MYSQL_LONG_QUERY_TIME`: How much time, in seconds, defines a slow query. Default: `10.0` +* `MYSQL_ENABLE_SLOW_QUERY`: Whether to enable slow query logs. Default: `0` +* `MYSQL_LONG_QUERY_TIME`: How much time, in seconds, defines a slow query. Default: `10.0` ### Slow filesystems @@ -540,7 +540,7 @@ Bitnami provides up-to-date versions of MySQL, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/mysql:latest +docker pull bitnami/mysql:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -551,31 +551,31 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop mysql +docker stop mysql ``` or using Docker Compose: ```console -$ docker-compose stop mysql +docker-compose stop mysql ``` Next, take a snapshot of the persistent volume `/path/to/mysql-persistence` using: ```console -$ rsync -a /path/to/mysql-persistence /path/to/mysql-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/mysql-persistence /path/to/mysql-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v mysql +docker rm -v mysql ``` or using Docker Compose: ```console -$ docker-compose rm -v mysql +docker-compose rm -v mysql ``` #### Step 4: Run the new image @@ -583,56 +583,58 @@ $ docker-compose rm -v mysql Re-create your container from the new image. ```console -$ docker run --name mysql bitnami/mysql:latest +docker run --name mysql bitnami/mysql:latest ``` or using Docker Compose: ```console -$ docker-compose up mysql +docker-compose up mysql ``` ## Notable Changes ### 5.7.36-debian-10-r36 and 8.0.27-debian-10-r35 -- The command `mysql_upgrade` no longer includes the flag `--force`. Nonetheless, it can be enabled by using the [mysql_upgrade] option group in the MariaDB configuration. +* The command `mysql_upgrade` no longer includes the flag `--force`. Nonetheless, it can be enabled by using the [mysql_upgrade] option group in the MariaDB configuration. ### 5.7.30-debian-10-r32 and 8.0.20-debian-10-r29 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. ### 5.7.23-r52 and 8.0.12-r34 -- Decrease the size of the container. It is not necessary Node.js anymore. MySQL configuration moved to bash scripts in the `rootfs/` folder. -- The recommended mount point to persist data changes to `/bitnami/mysql/data`. -- The MySQL configuration files are not persisted in a volume anymore. Now, they can be found at `/opt/bitnami/mysql/conf`. -- Backwards compatibility is not guaranteed when data is persisted using docker-compose. You can use the workaround below to overcome it: +* Decrease the size of the container. It is not necessary Node.js anymore. MySQL configuration moved to bash scripts in the `rootfs/` folder. +* The recommended mount point to persist data changes to `/bitnami/mysql/data`. +* The MySQL configuration files are not persisted in a volume anymore. Now, they can be found at `/opt/bitnami/mysql/conf`. +* Backwards compatibility is not guaranteed when data is persisted using docker-compose. You can use the workaround below to overcome it: ```console -$ docker-compose down +docker-compose down ## Change the mount point sed -i -e 's#mysql_data:/bitnami#mysql_data:/bitnami/mysql/data#g' docker-compose.yml ## Pull the latest bitnami/mysql image -$ docker pull bitnami/mysql:latest -$ docker-compose up -d +docker pull bitnami/mysql:latest +docker-compose up -d ``` ### 5.7.22-r18 and 8.0.11-r16 -- The MySQL container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the MySQL daemon was started as the `mysql` user. From now on, both the container and the MySQL daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The MySQL container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the MySQL daemon was started as the `mysql` user. From now on, both the container and the MySQL daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 5.7.21-r6 -- The MySQL conf file is not in a persistent volume by default. -- The user is able to specify a custom file in the default location '/opt/bitnami/mysql/conf/my.cnf'. + +* The MySQL conf file is not in a persistent volume by default. + +* The user is able to specify a custom file in the default location '/opt/bitnami/mysql/conf/my.cnf'. ### 5.7.17-r4 -- `MYSQL_MASTER_USER` has been renamed to `MYSQL_MASTER_ROOT_USER` -- `MYSQL_MASTER_PASSWORD` has been renamed to `MYSQL_MASTER_ROOT_PASSWORD` -- `MYSQL_ROOT_USER` has been added to the available env variables. It can be used to specify the admin user. -- `ALLOW_EMPTY_PASSWORD` has been added to the available env variables. It can be used to allow blank passwords for MySQL. -- By default the MySQL image requires a root password to start. You can specify it using the `MYSQL_ROOT_PASSWORD` env variable or disable this requirement by setting the `ALLOW_EMPTY_PASSWORD` env variable to `yes` (testing or development scenarios). +* `MYSQL_MASTER_USER` has been renamed to `MYSQL_MASTER_ROOT_USER` +* `MYSQL_MASTER_PASSWORD` has been renamed to `MYSQL_MASTER_ROOT_PASSWORD` +* `MYSQL_ROOT_USER` has been added to the available env variables. It can be used to specify the admin user. +* `ALLOW_EMPTY_PASSWORD` has been added to the available env variables. It can be used to allow blank passwords for MySQL. +* By default the MySQL image requires a root password to start. You can specify it using the `MYSQL_ROOT_PASSWORD` env variable or disable this requirement by setting the `ALLOW_EMPTY_PASSWORD` env variable to `yes` (testing or development scenarios). ## Contributing @@ -650,7 +652,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/mysqld-exporter/README.md b/bitnami/mysqld-exporter/README.md index 8d393b8f2ba8..abbc9b38ad80 100644 --- a/bitnami/mysqld-exporter/README.md +++ b/bitnami/mysqld-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name mysqld-exporter bitnami/mysqld-exporter:latest +docker run --name mysqld-exporter bitnami/mysqld-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami MySQL Server Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/mysqld-exporter). ```console -$ docker pull bitnami/mysqld-exporter:latest +docker pull bitnami/mysqld-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/mysqld-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/mysqld-exporter:[TAG] +docker pull bitnami/mysqld-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create mysqld-exporter-network --driver bridge +docker network create mysqld-exporter-network --driver bridge ``` #### Step 2: Launch the mysqld-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create mysqld-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `mysqld-exporter-network` network. ```console -$ docker run --name mysqld-exporter-node1 --network mysqld-exporter-network bitnami/mysqld-exporter:latest +docker run --name mysqld-exporter-node1 --network mysqld-exporter-network bitnami/mysqld-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration flags in [the MySQL Server Exporter official document The Bitnami MySQL Server Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs mysqld-exporter +docker logs mysqld-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of MySQL Server Exporter, including securit #### Step 1: Get the updated image ```console -$ docker pull bitnami/mysqld-exporter:latest +docker pull bitnami/mysqld-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/mysqld-exporter:latest Stop the currently running container using the command ```console -$ docker stop mysqld-exporter +docker stop mysqld-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v mysqld-exporter +docker rm -v mysqld-exporter ``` #### Step 4: Run the new image @@ -128,15 +128,15 @@ $ docker rm -v mysqld-exporter Re-create your container from the new image. ```console -$ docker run --name mysqld-exporter bitnami/mysqld-exporter:latest +docker run --name mysqld-exporter bitnami/mysqld-exporter:latest ``` ## Notable Changes ### 0.12.1-centos-7-r175 -- `0.12.1-centos-7-r175` is considered the latest image based on CentOS. -- Standard supported distros: Debian & OEL. +* `0.12.1-centos-7-r175` is considered the latest image based on CentOS. +* Standard supported distros: Debian & OEL. ## Contributing @@ -154,7 +154,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/nats-exporter/README.md b/bitnami/nats-exporter/README.md index a0b012f1c7f3..235cfde878eb 100644 --- a/bitnami/nats-exporter/README.md +++ b/bitnami/nats-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name nats-exporter bitnami/nats-exporter:latest +docker run --name nats-exporter bitnami/nats-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami NATS Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/nats-exporter). ```console -$ docker pull bitnami/nats-exporter:latest +docker pull bitnami/nats-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/nats-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/nats-exporter:[TAG] +docker pull bitnami/nats-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create nats-exporter-network --driver bridge +docker network create nats-exporter-network --driver bridge ``` #### Step 2: Launch the nats-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create nats-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `nats-exporter-network` network. ```console -$ docker run --name nats-exporter-node1 --network nats-exporter-network bitnami/nats-exporter:latest +docker run --name nats-exporter-node1 --network nats-exporter-network bitnami/nats-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration options in the [NATS Prometheus Exporter documentatio The Bitnami NATS Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs nats-exporter +docker logs nats-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of NATS Exporter, including security patche #### Step 1: Get the updated image ```console -$ docker pull bitnami/nats-exporter:latest +docker pull bitnami/nats-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/nats-exporter:latest Stop the currently running container using the command ```console -$ docker stop nats-exporter +docker stop nats-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v nats-exporter +docker rm -v nats-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v nats-exporter Re-create your container from the new image. ```console -$ docker run --name nats-exporter bitnami/nats-exporter:latest +docker run --name nats-exporter bitnami/nats-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/nats/README.md b/bitnami/nats/README.md index 90a66acd7f13..d4cc58cb63fe 100644 --- a/bitnami/nats/README.md +++ b/bitnami/nats/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name nats bitnami/nats +docker run -it --name nats bitnami/nats ``` ### Docker Compose ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/nats/docker-compose.yml -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/nats/docker-compose.yml +docker-compose up ``` ## Why use Bitnami Images? @@ -57,7 +57,7 @@ To run this application you need [Docker Engine](https://www.docker.com/products The recommended way to get the Bitnami NATS Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/nats). ```console -$ docker pull bitnami/nats:latest +docker pull bitnami/nats:latest ``` To use a specific version, you can pull a versioned tag. You can view the @@ -65,15 +65,15 @@ To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry. ```console -$ docker pull bitnami/nats:[TAG] +docker pull bitnami/nats:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -89,7 +89,7 @@ In this example, we will create a NATS client instance that will connect to the #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the NATS server instance @@ -97,7 +97,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the NATS container to the `app-tier` network. ```console -$ docker run -d --name nats-server \ +docker run -d --name nats-server \ --network app-tier \ --publish 4222:4222 \ --publish 6222:6222 \ @@ -122,7 +122,7 @@ go build /go/src/github.com/nats-io/go-nats/examples/nats-pub.go Then, you can use the script to create a client instance as shown below: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ --volume /path/to/your/workspace:/go golang ./nats-pub.sh foo bar @@ -162,7 +162,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -185,7 +185,7 @@ nats: * For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name nats -p 4222:4222 -p 6222:6222 -p 8222:8222 \ + docker run -d --name nats -p 4222:4222 -p 6222:6222 -p 8222:8222 \ --env NATS_ENABLE_AUTH=yes \ --env NATS_PASSWORD=my_password \ bitnami/nats:latest @@ -228,12 +228,12 @@ The image looks for custom configuration files in the `/bitnami/nats/conf/` dire #### Using the Docker Command Line ```console -$ docker run -d --name nats -p 4222:4222 -p 6222:6222 -p 8222:8222 \ +docker run -d --name nats -p 4222:4222 -p 6222:6222 -p 8222:8222 \ --volume /path/to/nats-server.conf:/bitnami/nats/conf/nats-server.conf:ro \ bitnami/nats:latest ``` -#### Using Docker Compose +#### Using Docker Compose deployment Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/nats/docker-compose.yml) file present in this repository as follows: @@ -252,11 +252,11 @@ After that, your custom configuration will be taken into account to start the NA For further documentation, please check [NATS documentation](https://docs.nats.io/) -# Notable Changes +## Notable Changes ### 2.6.4-debian-10-r14 -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. ## Contributing @@ -274,7 +274,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/neo4j/README.md b/bitnami/neo4j/README.md index 3302c9f47e93..f52e46d2bad1 100644 --- a/bitnami/neo4j/README.md +++ b/bitnami/neo4j/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name neo4j bitnami/neo4j:latest +docker run --name neo4j bitnami/neo4j:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/neo4j/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/neo4j/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -45,21 +45,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Neo4j Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/neo4j). ```console -$ docker pull bitnami/neo4j:latest +docker pull bitnami/neo4j:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/neo4j/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/neo4j:[TAG] +docker pull bitnami/neo4j:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -71,7 +71,7 @@ For persistence you should mount a volume at the `/bitnami` path. The above exam To avoid inadvertent removal of this volume you can [mount host directories as data volumes](https://docs.docker.com/engine/tutorials/dockervolumes/). Alternatively you can make use of volume plugins to host the volume data. ```console -$ docker run -v /path/to/neo4j-persistence:/bitnami bitnami/neo4j:latest +docker run -v /path/to/neo4j-persistence:/bitnami bitnami/neo4j:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/neo4j/docker-compose.yml) file present in this repository: @@ -97,7 +97,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create neo4j-network --driver bridge +docker network create neo4j-network --driver bridge ``` #### Step 2: Launch the Neo4j container within your network @@ -105,7 +105,7 @@ $ docker network create neo4j-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `neo4j-network` network. ```console -$ docker run --name neo4j-node1 --network neo4j-network bitnami/neo4j:latest +docker run --name neo4j-node1 --network neo4j-network bitnami/neo4j:latest ``` #### Step 3: Run another containers @@ -137,7 +137,7 @@ services: Then, launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -146,15 +146,15 @@ $ docker-compose up -d When you start the neo4j 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. The following environment values are provided to custom Neo4j: -- `NEO4J_PASSWORD`: Password used by Neo4j server. Default: **bitnami1** -- `NEO4J_HOST`: Hostname used to configure Neo4j advertised address. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP. Default: **empty** -- `NEO4J_BOLT_PORT_NUMBER`: Port used by Neo4j https. Default: **7687** -- `NEO4J_HTTP_PORT_NUMBER`: Port used by Neo4j http. Default: **7474** -- `NEO4J_HTTPS_PORT_NUMBER`: Port used by Neo4j https. Default: **7473** -- `NEO4J_BIND_ADDRESS`: Bind address. Default: **0.0.0.0** -- `NEO4J_ALLOW_UPGRADE`: Allow automatic schema upgrades. Default: **true** -- `NEO4J_APOC_IMPORT_FILE_ENABLED`: Allow importing files using the apoc library. Default: **true** -- `NEO4J_APOC_IMPORT_FILE_USE_NEO4J_CONFIG`: Port used by Neo4j https. Default: **false** +* `NEO4J_PASSWORD`: Password used by Neo4j server. Default: **bitnami1** +* `NEO4J_HOST`: Hostname used to configure Neo4j advertised address. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP. Default: **empty** +* `NEO4J_BOLT_PORT_NUMBER`: Port used by Neo4j https. Default: **7687** +* `NEO4J_HTTP_PORT_NUMBER`: Port used by Neo4j http. Default: **7474** +* `NEO4J_HTTPS_PORT_NUMBER`: Port used by Neo4j https. Default: **7473** +* `NEO4J_BIND_ADDRESS`: Bind address. Default: **0.0.0.0** +* `NEO4J_ALLOW_UPGRADE`: Allow automatic schema upgrades. Default: **true** +* `NEO4J_APOC_IMPORT_FILE_ENABLED`: Allow importing files using the apoc library. Default: **true** +* `NEO4J_APOC_IMPORT_FILE_USE_NEO4J_CONFIG`: Port used by Neo4j https. Default: **false** #### Specifying Environment Variables using Docker Compose @@ -171,14 +171,14 @@ neo4j: #### Specifying Environment Variables on the Docker command line ```console -$ docker run -d -e NEO4J_BOLT_PORT_NUMBER=7777 --name neo4j bitnami/neo4j:latest +docker run -d -e NEO4J_BOLT_PORT_NUMBER=7777 --name neo4j bitnami/neo4j:latest ``` ### Using your Neo4j configuration files In order to load your own configuration files, you will have to make them available to the container. You can do it mounting a [volume](https://docs.docker.com/engine/tutorials/dockervolumes/) in `/bitnami/neo4j/conf`. -#### Using Docker Compose +#### Using Docker Compose to add a custom config file Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/neo4j/docker-compose.yml) file present in this repository: @@ -194,7 +194,7 @@ neo4j: In order to add extra plugins, you will have to make them available to the container. You can do it mounting a [volume](https://docs.docker.com/engine/tutorials/dockervolumes/) in `/bitnami/neo4j/plugins`. -#### Using Docker Compose +#### Using Docker Compose to add plugins Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/neo4j/docker-compose.yml) file present in this repository: @@ -211,13 +211,13 @@ neo4j: The Bitnami neo4j Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs neo4j +docker logs neo4j ``` or using Docker Compose: ```console -$ docker-compose logs neo4j +docker-compose logs neo4j ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -231,7 +231,7 @@ Bitnami provides up-to-date versions of neo4j, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/neo4j:latest +docker pull bitnami/neo4j:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -242,19 +242,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop neo4j +docker stop neo4j ``` or using Docker Compose: ```console -$ docker-compose stop neo4j +docker-compose stop neo4j ``` Next, take a snapshot of the persistent volume `/path/to/neo4j-persistence` using: ```console -$ rsync -a /path/to/neo4j-persistence /path/to/neo4j-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/neo4j-persistence /path/to/neo4j-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -262,40 +262,40 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v neo4j +docker rm -v neo4j ``` or using Docker Compose: ```console -$ docker-compose rm -v neo4j +docker-compose rm -v neo4j ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name neo4j bitnami/neo4j:latest +docker run --name neo4j bitnami/neo4j:latest ``` or using Docker Compose: ```console -$ docker-compose up neo4j +docker-compose up neo4j ``` ## Notable Changes ### 4.3.0-debian-10-r17 - - Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. In addition to this, the container now has the latest stable version of the [apoc library](https://github.com/neo4j-contrib/neo4j-apoc-procedures) enabled by default. +* Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. In addition to this, the container now has the latest stable version of the [apoc library](https://github.com/neo4j-contrib/neo4j-apoc-procedures) enabled by default. - - Now the configuration file is not persisted, so it is recommended to remove the persisted file in `/bitnami/neo4j/conf/` to avoid potential upgrade issues. +* Now the configuration file is not persisted, so it is recommended to remove the persisted file in `/bitnami/neo4j/conf/` to avoid potential upgrade issues. ### 3.4.3-r13 -- The Neo4j container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Neo4j daemon was started as the `neo4j` user. From now on, both the container and the Neo4j daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Neo4j container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Neo4j daemon was started as the `neo4j` user. From now on, both the container and the Neo4j daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ## Contributing @@ -306,13 +306,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/nginx-exporter/README.md b/bitnami/nginx-exporter/README.md index 1fc11fb0114a..ebc0ccf98d65 100644 --- a/bitnami/nginx-exporter/README.md +++ b/bitnami/nginx-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name nginx-exporter bitnami/nginx-exporter:latest +docker run --name nginx-exporter bitnami/nginx-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami NGINX Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/nginx-exporter). ```console -$ docker pull bitnami/nginx-exporter:latest +docker pull bitnami/nginx-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/nginx-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/nginx-exporter:[TAG] +docker pull bitnami/nginx-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create nginx-exporter-network --driver bridge +docker network create nginx-exporter-network --driver bridge ``` #### Step 2: Launch the nginx-exporter container within your network @@ -76,7 +76,7 @@ $ docker network create nginx-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `nginx-exporter-network` network. ```console -$ docker run --name nginx-exporter-node1 --network nginx-exporter-network bitnami/nginx-exporter:latest +docker run --name nginx-exporter-node1 --network nginx-exporter-network bitnami/nginx-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration flags in [the NGINX Prometheus Exporter official docu The Bitnami NGINX Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs nginx-exporter +docker logs nginx-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of NGINX Exporter, including security patch #### Step 1: Get the updated image ```console -$ docker pull bitnami/nginx-exporter:latest +docker pull bitnami/nginx-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/nginx-exporter:latest Stop the currently running container using the command ```console -$ docker stop nginx-exporter +docker stop nginx-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v nginx-exporter +docker rm -v nginx-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v nginx-exporter Re-create your container from the new image. ```console -$ docker run --name nginx-exporter bitnami/nginx-exporter:latest +docker run --name nginx-exporter bitnami/nginx-exporter:latest ``` ## Contributing @@ -147,7 +147,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/nginx-ingress-controller/README.md b/bitnami/nginx-ingress-controller/README.md index ff441eec2315..2f2793b4f9d5 100644 --- a/bitnami/nginx-ingress-controller/README.md +++ b/bitnami/nginx-ingress-controller/README.md @@ -13,7 +13,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema Deploy NGINX Ingress Controller for Kubernetes on your [Kubernetes cluster](https://kubernetes.io/docs/concepts/services-networking/ingress/). ```console -$ docker run --name nginx-ingress-controller bitnami/nginx-ingress-controller:latest +docker run --name nginx-ingress-controller bitnami/nginx-ingress-controller:latest ``` ## Why use Bitnami Images? @@ -52,20 +52,21 @@ request](https://github.com/bitnami/containers/blob/main/bitnami/nginx-ingress-c If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to include the following information in your issue: -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/nginx/README.md b/bitnami/nginx/README.md index 58ebb82f25f8..0de813ebde88 100644 --- a/bitnami/nginx/README.md +++ b/bitnami/nginx/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name nginx bitnami/nginx:latest +docker run --name nginx bitnami/nginx:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/nginx/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/nginx/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -53,7 +53,7 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami NGINX Open Source Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/nginx). ```console -$ docker pull bitnami/nginx:latest +docker pull bitnami/nginx:latest ``` To use a specific version, you can pull a versioned tag. You can view the @@ -61,15 +61,15 @@ To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry. ```console -$ docker pull bitnami/nginx:[TAG] +docker pull bitnami/nginx:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Hosting a static website @@ -77,12 +77,11 @@ $ docker build -t bitnami/APP:latest . This NGINX Open Source image exposes a volume at `/app`. Content mounted here is served by the default catch-all server block. ```console -$ docker run -v /path/to/app:/app bitnami/nginx:latest +docker run -v /path/to/app:/app bitnami/nginx:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/nginx/docker-compose.yml) file present in this repository: - ```yaml services: nginx: @@ -97,20 +96,20 @@ services: To access your web server from your host machine you can ask Docker to map a random port on your host to ports `8080` and `8443` exposed in the container. ```console -$ docker run --name nginx -P bitnami/nginx:latest +docker run --name nginx -P bitnami/nginx:latest ``` Run `docker port` to determine the random ports Docker assigned. ```console -$ docker port nginx +docker port nginx 8080/tcp -> 0.0.0.0:32769 ``` You can also manually specify the ports you want forwarded from your host to the container. ```console -$ docker run -p 9000:8080 bitnami/nginx:latest +docker run -p 9000:8080 bitnami/nginx:latest ``` Access your web server in the browser by navigating to `http://localhost:9000`. @@ -123,7 +122,7 @@ The default `nginx.conf` includes server blocks placed in `/opt/bitnami/nginx/co For example, in order add a server block for `www.example.com`: -## Step 1: Write your `my_server_block.conf` file with the following content. +## Step 1: Write your `my_server_block.conf` file with the following content ```nginx server { @@ -134,10 +133,10 @@ server { } ``` -## Step 2: Mount the configuration as a volume. +## Step 2: Mount the configuration as a volume ```console -$ docker run --name nginx \ +docker run --name nginx \ -v /path/to/my_server_block.conf:/opt/bitnami/nginx/conf/server_blocks/my_server_block.conf:ro \ bitnami/nginx:latest ``` @@ -162,9 +161,9 @@ services: In your local computer, create a folder called `certs` and put your certificates files. Make sure you rename both files to `server.crt` and `server.key` respectively: ```console -$ mkdir -p /path/to/nginx-persistence/certs -$ cp /path/to/certfile.crt /path/to/nginx-persistence/certs/server.crt -$ cp /path/to/keyfile.key /path/to/nginx-persistence/certs/server.key +mkdir -p /path/to/nginx-persistence/certs +cp /path/to/certfile.crt /path/to/nginx-persistence/certs/server.crt +cp /path/to/keyfile.key /path/to/nginx-persistence/certs/server.key ``` #### Step 2: Provide a custom Server Block for SSL connections @@ -196,7 +195,7 @@ Write your `my_server_block.conf` file with the SSL configuration and the relati Run the NGINX Open Source image, mounting the certificates directory from your host. ```console -$ docker run --name nginx \ +docker run --name nginx \ -v /path/to/my_server_block.conf:/opt/bitnami/nginx/conf/server_blocks/my_server_block.conf:ro \ -v /path/to/nginx-persistence/certs:/certs \ bitnami/nginx:latest @@ -235,7 +234,7 @@ server { #### Default configuration ```console -$ docker run --name nginx --rm -p 9000:8080 \ +docker run --name nginx --rm -p 9000:8080 \ -v /path/to/my_redirect_server_block.conf:/opt/bitnami/nginx/conf/server_blocks/my_redirect.conf:ro \ bitnami/nginx:latest ``` @@ -251,12 +250,13 @@ Location: /index.html $ curl -w %{redirect_url}\\n -o /dev/null http://localhost:9000/test/ http://localhost:9000/index.html ``` + Please keep in mind that some old clients could be not compatible with relative redirections. #### Absolute redirect enabled ```console -$ docker run --name nginx --rm -p 9000:8080 \ +docker run --name nginx --rm -p 9000:8080 \ -v /path/to/my_redirect_server_block.conf:/opt/bitnami/nginx/conf/server_blocks/my_redirect.conf:ro \ -e NGINX_ENABLE_ABSOLUTE_REDIRECT=yes \ bitnami/nginx:latest @@ -275,7 +275,7 @@ Location: http://localhost/index.html #### Port in redirect enabled ```console -$ docker run --name nginx --rm -p 9000:8080 \ +docker run --name nginx --rm -p 9000:8080 \ -v /path/to/my_redirect_server_block.conf:/opt/bitnami/nginx/conf/server_blocks/my_redirect.conf:ro \ -e NGINX_ENABLE_ABSOLUTE_REDIRECT=yes \ -e NGINX_ENABLE_PORT_IN_REDIRECT=yes \ @@ -295,7 +295,7 @@ Location: http://localhost:8080/index.html To amend this situation and build reachable URLs, you have to run the container listening in the same port that you are exposing ```console -$ docker run --name nginx --rm -p 9000:9000 \ +docker run --name nginx --rm -p 9000:9000 \ -v /path/to/my_redirect_server_block.conf:/opt/bitnami/nginx/conf/server_blocks/my_redirect.conf:ro \ -e NGINX_ENABLE_ABSOLUTE_REDIRECT=yes \ -e NGINX_ENABLE_PORT_IN_REDIRECT=yes \ @@ -307,9 +307,8 @@ $ docker run --name nginx --rm -p 9000:9000 \ The image looks for configurations in `/opt/bitnami/nginx/conf/nginx.conf`. You can overwrite the `nginx.conf` file using your own custom configuration file. - ```console -$ docker run --name nginx \ +docker run --name nginx \ -v /path/to/your_nginx.conf:/opt/bitnami/nginx/conf/nginx.conf:ro \ bitnami/nginx:latest ``` @@ -349,20 +348,20 @@ server { **Further Reading:** - - [NGINX reverse proxy](http://nginx.com/resources/admin-guide/reverse-proxy/) +* [NGINX reverse proxy](http://nginx.com/resources/admin-guide/reverse-proxy/) ## Logging The Bitnami NGINX Open Source Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs nginx +docker logs nginx ``` or using Docker Compose: ```console -$ docker-compose logs nginx +docker-compose logs nginx ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -375,11 +374,11 @@ The Bitnami NGINX Open Source Docker image is designed to be extended so it can Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the port used by NGINX for HTTP setting the environment variable `NGINX_HTTP_PORT_NUMBER`. -- [Adding custom server blocks](#adding-custom-server-blocks). -- [Replacing the 'nginx.conf' file](#full-configuration). -- [Using custom SSL certificates](#using-custom-ssl-certificates). -- [Solving redirection issues](#solving-redirection-issues). +* Settings that can be adapted using environment variables. For instance, you can change the port used by NGINX for HTTP setting the environment variable `NGINX_HTTP_PORT_NUMBER`. +* [Adding custom server blocks](#adding-custom-server-blocks). +* [Replacing the 'nginx.conf' file](#full-configuration). +* [Using custom SSL certificates](#using-custom-ssl-certificates). +* [Solving redirection issues](#solving-redirection-issues). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -391,10 +390,10 @@ FROM bitnami/nginx Here is an example of extending the image with the following modifications: -- Install the `vim` editor -- Modify the NGINX configuration file -- Modify the ports used by NGINX -- Change the user that runs the container +* Install the `vim` editor +* Modify the NGINX configuration file +* Modify the ports used by NGINX +* Change the user that runs the container ```Dockerfile FROM bitnami/nginx @@ -419,9 +418,9 @@ USER 1002 Based on the extended image, you can use a Docker Compose file like the one below to add other features: -- Add a custom server block -- Add custom certificates -- Clone your web application and serve it through NGINX +* Add a custom server block +* Add custom certificates +* Clone your web application and serve it through NGINX ```yaml version: '2' @@ -508,7 +507,7 @@ Bitnami provides up-to-date versions of NGINX Open Source, including security pa #### Step 1: Get the updated image ```console -$ docker pull bitnami/nginx:latest +docker pull bitnami/nginx:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -519,25 +518,25 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop nginx +docker stop nginx ``` or using Docker Compose: ```console -$ docker-compose stop nginx +docker-compose stop nginx ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v nginx +docker rm -v nginx ``` or using Docker Compose: ```console -$ docker-compose rm -v nginx +docker-compose rm -v nginx ``` #### Step 4: Run the new image @@ -545,34 +544,34 @@ $ docker-compose rm -v nginx Re-create your container from the new image. ```console -$ docker run --name nginx bitnami/nginx:latest +docker run --name nginx bitnami/nginx:latest ``` or using Docker Compose: ```console -$ docker-compose up nginx +docker-compose up nginx ``` ## Useful Links -- [Create An EMP Development Environment With Bitnami Containers](https://docs.bitnami.com/containers/how-to/create-emp-environment-containers/) +* [Create An EMP Development Environment With Bitnami Containers](https://docs.bitnami.com/containers/how-to/create-emp-environment-containers/) ## Notable Changes ### 1.18.0-debian-10-r210 and 1.19.6-debian-10-r1 -- Added support for enabling dynamic modules. +* Added support for enabling dynamic modules. ### 1.16.1-centos-7-r173 -- `1.16.1-centos-7-r173` is considered the latest image based on CentOS. -- Standard supported distros: Debian & OEL. +* `1.16.1-centos-7-r173` is considered the latest image based on CentOS. +* Standard supported distros: Debian & OEL. ### 1.16.0-r3 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The recommended mount point for adding custom server blocks changes from `/opt/bitnami/nginx/conf/vhosts` to `/opt/bitnami/nginx/conf/server_blocks`. Remember to update your Docker Compose files to user the new mount point. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The recommended mount point for adding custom server blocks changes from `/opt/bitnami/nginx/conf/vhosts` to `/opt/bitnami/nginx/conf/server_blocks`. Remember to update your Docker Compose files to user the new mount point. ## Contributing @@ -590,7 +589,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/node-exporter/README.md b/bitnami/node-exporter/README.md index edb76ab266c1..b55eebf5358b 100644 --- a/bitnami/node-exporter/README.md +++ b/bitnami/node-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name node-exporter bitnami/node-exporter:latest +docker run --name node-exporter bitnami/node-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Node Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/node-exporter). ```console -$ docker pull bitnami/node-exporter:latest +docker pull bitnami/node-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/node-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/node-exporter:[TAG] +docker pull bitnami/node-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create node-exporter-network --driver bridge +docker network create node-exporter-network --driver bridge ``` #### Step 2: Launch the Node Exporter container within your network @@ -76,7 +76,7 @@ $ docker network create node-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `node-exporter-network` network. ```console -$ docker run --name node-exporter-node1 --network node-exporter-network bitnami/node-exporter:latest +docker run --name node-exporter-node1 --network node-exporter-network bitnami/node-exporter:latest ``` #### Step 3: Run another container @@ -95,7 +95,7 @@ Collectors are enabled by providing a `--collector.` flag. Collectors that The Bitnami Node Exporter Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs node-exporter +docker logs node-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -109,7 +109,7 @@ Bitnami provides up-to-date versions of node-exporter, including security patche #### Step 1: Get the updated image ```console -$ docker pull bitnami/node-exporter:latest +docker pull bitnami/node-exporter:latest ``` #### Step 2: Stop and backup the currently running container @@ -117,13 +117,13 @@ $ docker pull bitnami/node-exporter:latest Stop the currently running container using the command ```console -$ docker stop node-exporter +docker stop node-exporter ``` Next, take a snapshot of the persistent volume `/path/to/node-exporter-persistence` using: ```console -$ rsync -a /path/to/node-exporter-persistence /path/to/node-exporter-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/node-exporter-persistence /path/to/node-exporter-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -131,15 +131,15 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v node-exporter +docker rm -v node-exporter ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name node-exporter bitnami/node-exporter:latest +docker run --name node-exporter bitnami/node-exporter:latest ``` ## Contributing @@ -151,13 +151,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/node/README.md b/bitnami/node/README.md index da0ef9747313..d01442cc2fcb 100644 --- a/bitnami/node/README.md +++ b/bitnami/node/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name node bitnami/node +docker run -it --name node bitnami/node ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/node/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/node/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Node.js Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/node). ```console -$ docker pull bitnami/node:latest +docker pull bitnami/node:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/node/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/node:[TAG] +docker pull bitnami/node:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Entering the REPL @@ -65,12 +65,12 @@ $ docker build -t bitnami/APP:latest . By default, running this image will drop you into the Node.js REPL, where you can interactively test and try things out in Node.js. ```console -$ docker run -it --name node bitnami/node +docker run -it --name node bitnami/node ``` **Further Reading:** - - [nodejs.org/api/repl.html](https://nodejs.org/api/repl.html) +* [nodejs.org/api/repl.html](https://nodejs.org/api/repl.html) ## Configuration @@ -79,7 +79,7 @@ $ docker run -it --name node bitnami/node The default work directory for the Node.js image is `/app`. You can mount a folder from your host here that includes your Node.js script, and run it normally using the `node` command. ```console -$ docker run -it --name node -v /path/to/app:/app bitnami/node \ +docker run -it --name node -v /path/to/app:/app bitnami/node \ node script.js ``` @@ -88,13 +88,12 @@ $ docker run -it --name node -v /path/to/app:/app bitnami/node \ If your Node.js app has a `package.json` defining your app's dependencies and start script, you can install the dependencies before running your app. ```console -$ docker run --rm -v /path/to/app:/app bitnami/node npm install -$ docker run -it --name node -v /path/to/app:/app bitnami/node npm start +docker run --rm -v /path/to/app:/app bitnami/node npm install +docker run -it --name node -v /path/to/app:/app bitnami/node npm start ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/node/docker-compose.yml) file present in this repository: - ```yaml node: ... @@ -106,8 +105,8 @@ node: **Further Reading:** -- [package.json documentation](https://docs.npmjs.com/files/package.json) -- [npm start script](https://docs.npmjs.com/misc/scripts#default-values) +* [package.json documentation](https://docs.npmjs.com/files/package.json) +* [npm start script](https://docs.npmjs.com/misc/scripts#default-values) ## Working with private npm modules @@ -142,16 +141,16 @@ CMD node app.js * Now you can build the image using the above Dockerfile and the token. Run the `docker build` command as follows: ```console -$ docker build --build-arg NPM_TOKEN=${NPM_TOKEN} . +docker build --build-arg NPM_TOKEN=${NPM_TOKEN} . ``` | NOTE: The "." at the end gives `docker build` the current directory as an argument. Congratulations! You are now logged into the npm repo. -**Further reading** +### Further reading -- [npm official documentation](https://docs.npmjs.com/private-modules/docker-and-private-modules). +* [npm official documentation](https://docs.npmjs.com/private-modules/docker-and-private-modules). ## Accessing a Node.js app running a web server @@ -179,20 +178,20 @@ var server = app.listen(3000, '0.0.0.0', function () { To access your web server from your host machine you can ask Docker to map a random port on your host to port `3000` inside the container. ```console -$ docker run -it --name node -v /path/to/app:/app -P bitnami/node node index.js +docker run -it --name node -v /path/to/app:/app -P bitnami/node node index.js ``` Run `docker port` to determine the random port Docker assigned. ```console -$ docker port node +docker port node 3000/tcp -> 0.0.0.0:32769 ``` You can also specify the port you want forwarded from your host to the container. ```console -$ docker run -it --name node -p 8080:3000 -v /path/to/app:/app bitnami/node node index.js +docker run -it --name node -p 8080:3000 -v /path/to/app:/app bitnami/node node index.js ``` Access your web server in the browser by navigating to `http://localhost:8080`. @@ -208,7 +207,7 @@ We may want to make our Node.js web server only accessible via an nginx web serv #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` or using Docker Compose: @@ -249,7 +248,7 @@ Copy the virtual host above, saving the file somewhere on your host. We will mou #### Step 3: Run the Node.js image with a specific name ```console -$ docker run -it --name myapp --network app-tier \ +docker run -it --name myapp --network app-tier \ -v /path/to/app:/app \ bitnami/node node index.js ``` @@ -270,7 +269,7 @@ myapp: #### Step 4: Run the nginx image ```console -$ docker run -it \ +docker run -it \ -v /path/to/vhost.conf:/bitnami/nginx/conf/vhosts/yourapp.conf:ro \ --network app-tier \ bitnami/nginx @@ -297,7 +296,7 @@ Bitnami provides up-to-date versions of Node.js, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/node:latest +docker pull bitnami/node:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/node:latest`. @@ -305,13 +304,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v node +docker rm -v node ``` or using Docker Compose: ```console -$ docker-compose rm -v node +docker-compose rm -v node ``` #### Step 3: Run the new image @@ -319,28 +318,28 @@ $ docker-compose rm -v node Re-create your container from the new image. ```console -$ docker run --name node bitnami/node:latest +docker run --name node bitnami/node:latest ``` or using Docker Compose: ```console -$ docker-compose up node +docker-compose up node ``` ## Notable Changes ### 6.2.0-r0 (2016-05-11) -- Commands are now executed as the `root` user. Use the `--user` argument to switch to another user or change to the required user using `sudo` to launch applications. Alternatively, as of Docker 1.10 User Namespaces are supported by the docker daemon. Refer to the [daemon user namespace options](https://docs.docker.com/engine/security/userns-remap/) for more details. +* Commands are now executed as the `root` user. Use the `--user` argument to switch to another user or change to the required user using `sudo` to launch applications. Alternatively, as of Docker 1.10 User Namespaces are supported by the docker daemon. Refer to the [daemon user namespace options](https://docs.docker.com/engine/security/userns-remap/) for more details. ### 4.1.2-0 (2015-10-12) -- Permissions fixed so `bitnami` user can install global npm modules without needing `sudo`. +* Permissions fixed so `bitnami` user can install global npm modules without needing `sudo`. ### 4.1.1-0-r01 (2015-10-07) -- `/app` directory is no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume are not persisted between Dockerfile `RUN` instructions. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option. +* `/app` directory is no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume are not persisted between Dockerfile `RUN` instructions. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option. ## Contributing @@ -358,7 +357,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/oauth2-proxy/README.md b/bitnami/oauth2-proxy/README.md index 785757b1c79b..578944120cfd 100644 --- a/bitnami/oauth2-proxy/README.md +++ b/bitnami/oauth2-proxy/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name oauth2-proxy bitnami/oauth2-proxy:latest +docker run --name oauth2-proxy bitnami/oauth2-proxy:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami oauth2-proxy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/oauth2-proxy). ```console -$ docker pull bitnami/oauth2-proxy:latest +docker pull bitnami/oauth2-proxy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/oauth2-proxy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/oauth2-proxy:[TAG] +docker pull bitnami/oauth2-proxy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create oauth2-proxy-network --driver bridge +docker network create oauth2-proxy-network --driver bridge ``` #### Step 2: Launch the Oauth2-proxy container within your network @@ -76,7 +76,7 @@ $ docker network create oauth2-proxy-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `oauth2-proxy-network` network. ```console -$ docker run --name oauth2-proxy-node1 --network oauth2-proxy-network bitnami/oauth2-proxy:latest +docker run --name oauth2-proxy-node1 --network oauth2-proxy-network bitnami/oauth2-proxy:latest ``` #### Step 3: Run another containers @@ -93,7 +93,7 @@ Oauth2-proxy can be configured via config file, command line options or environm The Bitnami oauth2-proxy Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs oauth2-proxy +docker logs oauth2-proxy ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -107,7 +107,7 @@ Bitnami provides up-to-date versions of oauth2-proxy, including security patches #### Step 1: Get the updated image ```console -$ docker pull bitnami/oauth2-proxy:latest +docker pull bitnami/oauth2-proxy:latest ``` #### Step 2: Stop and backup the currently running container @@ -115,13 +115,13 @@ $ docker pull bitnami/oauth2-proxy:latest Stop the currently running container using the command ```console -$ docker stop oauth2-proxy +docker stop oauth2-proxy ``` Next, take a snapshot of the persistent volume `/path/to/oauth2-proxy-persistence` using: ```console -$ rsync -a /path/to/oauth2-proxy-persistence /path/to/oauth2-proxy-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/oauth2-proxy-persistence /path/to/oauth2-proxy-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -129,15 +129,15 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v oauth2-proxy +docker rm -v oauth2-proxy ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name oauth2-proxy bitnami/oauth2-proxy:latest +docker run --name oauth2-proxy bitnami/oauth2-proxy:latest ``` ## Contributing @@ -149,20 +149,21 @@ request](https://github.com/bitnami/containers/blob/main/bitnami/oauth2-proxy/pu -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/odoo/README.md b/bitnami/odoo/README.md index 248852336b86..c892f7e9b248 100644 --- a/bitnami/odoo/README.md +++ b/bitnami/odoo/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/odoo/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/odoo/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -46,21 +46,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Odoo Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/odoo). ```console -$ docker pull bitnami/odoo:latest +docker pull bitnami/odoo:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/odoo/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/odoo:[TAG] +docker pull bitnami/odoo:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -72,8 +72,8 @@ Odoo requires access to a PostgreSQL database to store information. We'll use th The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/odoo/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/odoo/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/odoo/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -83,14 +83,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create odoo-network +docker network create odoo-network ``` #### Step 2: Create a volume for PostgreSQL persistence and create a PostgreSQL container ```console -$ docker volume create --name postgresql_data -$ docker run -d --name postgresql \ +docker volume create --name postgresql_data +docker run -d --name postgresql \ --env ALLOW_EMPTY_PASSWORD=yes \ --env POSTGRESQL_PASSWORD=bitnami \ --network odoo-network \ @@ -101,8 +101,8 @@ $ docker run -d --name postgresql \ #### Step 3: Create volumes for Odoo persistence and launch the container ```console -$ docker volume create --name odoo_data -$ docker run -d --name odoo \ +docker volume create --name odoo_data +docker run -d --name odoo \ -p 80:8069 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env ODOO_DATABASE_ADMIN_PASSWORD=bitnami \ @@ -154,13 +154,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create odoo-network +docker network create odoo-network ``` #### Step 2. Create a PostgreSQL container with host volume ```console -$ docker run -d --name postgresql \ +docker run -d --name postgresql \ --env ALLOW_EMPTY_PASSWORD=yes \ --env POSTGRESQL_PASSWORD=bitnami \ --network odoo-network \ @@ -171,7 +171,7 @@ $ docker run -d --name postgresql \ #### Step 3. Create the Odoo container with host volumes ```console -$ docker run -d --name odoo \ +docker run -d --name odoo \ -p 80:8069 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env ODOO_DATABASE_ADMIN_PASSWORD=bitnami \ @@ -199,7 +199,7 @@ When you start the Odoo image, you can adjust the configuration of the instance - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name odoo -p 80:8069 \ + docker run -d --name odoo -p 80:8069 \ --env ODOO_PASSWORD=my_password \ --network odoo-tier \ --volume /path/to/odoo-persistence:/bitnami \ @@ -208,7 +208,7 @@ When you start the Odoo image, you can adjust the configuration of the instance Available environment variables: -##### User and Site configuration +#### User and Site configuration - `ODOO_EMAIL`: Odoo application email. Default: **user@example.com** - `ODOO_PASSWORD`: Odoo application password. Default: **bitnami** @@ -216,7 +216,7 @@ Available environment variables: - `ODOO_SKIP_MODULES_UPDATE`: Whether to perform initial update of the plugins installed. Default: **no** - `ODOO_LOAD_DEMO_DATA`: Whether to load demo data. Default: **no** -##### Database connection configuration +#### Database connection configuration - `ODOO_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** - `ODOO_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** @@ -224,7 +224,7 @@ Available environment variables: - `ODOO_DATABASE_ADMIN_PASSWORD`: Database admin password that Odoo will use to connect with the database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for Odoo using postgresql-client +#### Create a database for Odoo using postgresql-client - `POSTGRESQL_CLIENT_DATABASE_HOST`: Hostname for the PostgreSQL server. Default: **postgresql** - `POSTGRESQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** @@ -237,7 +237,7 @@ Available environment variables: - `POSTGRESQL_CLIENT_EXECUTE_SQL`: SQL code to execute in the PostgreSQL server. No defaults. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure Odoo to send email using SMTP you can set the following environment variables: @@ -270,7 +270,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name odoo -p 80:8069 \ + docker run -d --name odoo -p 80:8069 \ --env ODOO_SMTP_HOST=smtp.gmail.com \ --env ODOO_SMTP_PORT_NUMBER=587 \ --env ODOO_SMTP_USER=your_email@gmail.com \ @@ -301,7 +301,7 @@ The Bitnami Odoo container supports connecting the Odoo application to an extern - For manual execution: ```console - $ docker run -d --name odoo\ + docker run -d --name odoo\ -p 80:8069 \ --network odoo-network \ --env ODOO_DATABASE_HOST=mariadb_host \ @@ -318,13 +318,13 @@ In case the database already contains data from a previous Odoo installation, yo The Bitnami Odoo Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs odoo +docker logs odoo ``` Or using Docker Compose: ```console -$ docker-compose logs odoo +docker-compose logs odoo ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -338,13 +338,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop odoo +docker stop odoo ``` Or using Docker Compose: ```console -$ docker-compose stop odoo +docker-compose stop odoo ``` #### Step 2: Run the backup command @@ -352,7 +352,7 @@ $ docker-compose stop odoo We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/odoo-backups:/backups --volumes-from odoo busybox \ +docker run --rm -v /path/to/odoo-backups:/backups --volumes-from odoo busybox \ cp -a /bitnami/odoo /backups/latest ``` @@ -363,7 +363,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the PostgreSQL database container: ```diff - $ docker run -d --name postgresql \ + docker run -d --name postgresql \ ... - --volume /path/to/postgresql-persistence:/bitnami/postgresql \ + --volume /path/to/postgresql-backups/latest:/bitnami/postgresql \ @@ -373,7 +373,7 @@ For the PostgreSQL database container: For the Odoo container: ```diff - $ docker run -d --name odoo \ + docker run -d --name odoo \ ... - --volume /path/to/odoo-persistence:/bitnami/odoo \ + --volume /path/to/odoo-backups/latest:/bitnami/odoo \ @@ -382,14 +382,14 @@ For the Odoo container: ### Upgrade this image -Bitnami provides up-to-date versions of PostgreSQL and Odoo, 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 Odoo container. For the PostgreSQL upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/postgresql/blob/master/README.md#upgrade-this-image +Bitnami provides up-to-date versions of PostgreSQL and Odoo, 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 Odoo container. For the PostgreSQL upgrade see: The `bitnami/odoo:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/odoo:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/odoo/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/odoo:latest +docker pull bitnami/odoo:latest ``` #### Step 2: Stop the running container @@ -397,7 +397,7 @@ $ docker pull bitnami/odoo:latest Stop the currently running container using the command ```console -$ docker-compose stop odoo +docker-compose stop odoo ``` #### Step 3: Take a snapshot of the application state @@ -417,10 +417,10 @@ docker-compose rm -v odoo Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` -# Notable Changes +## Notable Changes ### 12.0.20210615-debian-10-r20, 13.0.20210610-debian-10-r24 and 14.0.20210610-debian-10-r22 @@ -455,7 +455,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/opencart/README.md b/bitnami/opencart/README.md index 4b87c6db1d44..fbffa0dd92d7 100644 --- a/bitnami/opencart/README.md +++ b/bitnami/opencart/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/opencart/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/opencart/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami OpenCart Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/opencart). ```console -$ docker pull bitnami/opencart:latest +docker pull bitnami/opencart:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/opencart/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/opencart:[TAG] +docker pull bitnami/opencart:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +75,8 @@ OpenCart requires access to a MySQL or MariaDB database to store information. We The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/opencart/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/opencart/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/opencart/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -86,14 +86,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create opencart-network +docker network create opencart-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_opencart \ --env MARIADB_PASSWORD=bitnami \ @@ -106,8 +106,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for OpenCart persistence and launch the container ```console -$ docker volume create --name opencart_data -$ docker run -d --name opencart \ +docker volume create --name opencart_data +docker run -d --name opencart \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env OPENCART_DATABASE_USER=bn_opencart \ @@ -163,13 +163,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create opencart-network +docker network create opencart-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_opencart \ --env MARIADB_PASSWORD=bitnami \ @@ -182,7 +182,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the OpenCart container with host volumes ```console -$ docker run -d --name opencart \ +docker run -d --name opencart \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env OPENCART_DATABASE_USER=bn_opencart \ @@ -199,7 +199,7 @@ $ docker run -d --name opencart \ When you start the OpenCart 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/opencart/docker-compose.yml) file present in this repository: +* 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/opencart/docker-compose.yml) file present in this repository: ```yaml opencart: @@ -209,10 +209,10 @@ opencart: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name opencart -p 80:8080 -p 443:8443 \ + docker run -d --name opencart -p 80:8080 -p 443:8443 \ --env OPENCART_PASSWORD=my_password \ --network opencart-tier \ --volume /path/to/opencart-persistence:/bitnami \ @@ -221,73 +221,73 @@ opencart: Available environment variables: -##### User and Site configuration +### User and Site configuration -- `APACHE_HTTP_PORT_NUMBER`: Port to bind by Apache for HTTP. Default: **8080** -- `APACHE_HTTPS_PORT_NUMBER`: Port to bind by Apache for HTTPS. Default: **8443** -- `OPENCART_USERNAME`: OpenCart application username. Default: **user** -- `OPENCART_PASSWORD`: OpenCart application password. Default: **bitnami** -- `OPENCART_EMAIL`: OpenCart application email. Default: **user@example.com** -- `OPENCART_HOST`: OpenCart server hostname/address. -- `OPENCART_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no**. -- `OPENCART_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by OpenCart to generate URLs and links when accessing using HTTP. Default **80**. -- `OPENCART_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by OpenCart to generate URLs and links when accessing using HTTPS. Default **443**. -- `OPENCART_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** +* `APACHE_HTTP_PORT_NUMBER`: Port to bind by Apache for HTTP. Default: **8080** +* `APACHE_HTTPS_PORT_NUMBER`: Port to bind by Apache for HTTPS. Default: **8443** +* `OPENCART_USERNAME`: OpenCart application username. Default: **user** +* `OPENCART_PASSWORD`: OpenCart application password. Default: **bitnami** +* `OPENCART_EMAIL`: OpenCart application email. Default: **user@example.com** +* `OPENCART_HOST`: OpenCart server hostname/address. +* `OPENCART_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no**. +* `OPENCART_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by OpenCart to generate URLs and links when accessing using HTTP. Default **80**. +* `OPENCART_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by OpenCart to generate URLs and links when accessing using HTTPS. Default **443**. +* `OPENCART_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** -##### Use an existing database +### Use an existing database -- `OPENCART_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `OPENCART_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `OPENCART_DATABASE_NAME`: Database name that OpenCart will use to connect with the database. Default: **bitnami_opencart** -- `OPENCART_DATABASE_USER`: Database user that OpenCart will use to connect with the database. Default: **bn_opencart** -- `OPENCART_DATABASE_PASSWORD`: Database password that OpenCart will use to connect with the database. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `OPENCART_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `OPENCART_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `OPENCART_DATABASE_NAME`: Database name that OpenCart will use to connect with the database. Default: **bitnami_opencart** +* `OPENCART_DATABASE_USER`: Database user that OpenCart will use to connect with the database. Default: **bn_opencart** +* `OPENCART_DATABASE_PASSWORD`: Database password that OpenCart will use to connect with the database. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for OpenCart using mysql-client +### Create a database for OpenCart using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +### SMTP Configuration To configure OpenCart to send email using SMTP you can set the following environment variables: -- `OPENCART_SMTP_HOST`: SMTP host. -- `OPENCART_SMTP_PORT`: SMTP port. -- `OPENCART_SMTP_USER`: SMTP account user. -- `OPENCART_SMTP_PASSWORD`: SMTP account password. +* `OPENCART_SMTP_HOST`: SMTP host. +* `OPENCART_SMTP_PORT`: SMTP port. +* `OPENCART_SMTP_USER`: SMTP account user. +* `OPENCART_SMTP_PASSWORD`: SMTP account password. -##### PHP configuration +### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. -##### Example +### 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/opencart/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/opencart/docker-compose.yml) file present in this repository: ```yaml opencart: @@ -302,10 +302,11 @@ This would be an example of SMTP configuration using a Gmail account: - OPENCART_SMTP_PASSWORD=your_password ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name opencart -p 80:8080 -p 443:8443 \ + docker run -d --name opencart -p 80:8080 -p 443:8443 \ --env OPENCART_DATABASE_USER=bn_opencart \ --env OPENCART_DATABASE_NAME=bitnami_opencart \ --env OPENCART_SMTP_HOST=smtp.gmail.com \ @@ -322,13 +323,13 @@ This would be an example of SMTP configuration using a Gmail account: The Bitnami OpenCart Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs opencart +docker logs opencart ``` Or using Docker Compose: ```console -$ docker-compose logs opencart +docker-compose logs opencart ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -342,13 +343,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop opencart +docker stop opencart ``` Or using Docker Compose: ```console -$ docker-compose stop opencart +docker-compose stop opencart ``` #### Step 2: Run the backup command @@ -356,7 +357,7 @@ $ docker-compose stop opencart We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/opencart-backups:/backups --volumes-from opencart busybox \ +docker run --rm -v /path/to/opencart-backups:/backups --volumes-from opencart busybox \ cp -a /bitnami/opencart /backups/latest ``` @@ -367,7 +368,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -377,7 +378,7 @@ For the MariaDB database container: For the OpenCart container: ```diff - $ docker run -d --name opencart \ + docker run -d --name opencart \ ... - --volume /path/to/opencart-persistence:/bitnami/opencart \ + --volume /path/to/opencart-backups/latest:/bitnami/opencart \ @@ -386,12 +387,12 @@ For the OpenCart container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and OpenCart, 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 OpenCart container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and OpenCart, 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 OpenCart container. For the MariaDB upgrade see: #### Step 1: Get the updated image ```console -$ docker pull bitnami/opencart:latest +docker pull bitnami/opencart:latest ``` #### Step 2: Stop the running container @@ -399,7 +400,7 @@ $ docker pull bitnami/opencart:latest Stop the currently running container using the command ```console -$ docker-compose stop opencart +docker-compose stop opencart ``` #### Step 3: Take a snapshot of the application state @@ -419,7 +420,7 @@ docker-compose rm -v opencart Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -430,10 +431,10 @@ The Bitnami OpenCart Docker image is designed to be extended so it can be used a Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -445,9 +446,9 @@ FROM bitnami/opencart 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/opencart @@ -489,11 +490,11 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ### 3.0.3-6-debian-10-r65 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The OpenCart container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the OpenCart site by exporting its content, and importing it on a new OpenCart container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The OpenCart container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the OpenCart site by exporting its content, and importing it on a new OpenCart container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. To upgrade a deployment with the previous Bitnami OpenCart container image, which did not support non-root, the easiest way is to start the new image as a *root* user and updating the port numbers. Modify your `docker-compose.yml` file as follows: @@ -510,10 +511,10 @@ To upgrade a deployment with the previous Bitnami OpenCart container image, whic ### 3.0.3-2-debian-9-r33 and 3.0.3-2-ol-7-r42 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -539,7 +540,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/openldap/README.md b/bitnami/openldap/README.md index 5760bc24b315..06e8050d35a6 100644 --- a/bitnami/openldap/README.md +++ b/bitnami/openldap/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name openldap bitnami/openldap:latest +docker run --name openldap bitnami/openldap:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/openldap/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/openldap/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami OpenLDAP Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/openldap). ```console -$ docker pull bitnami/openldap:latest +docker pull bitnami/openldap:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/openldap/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/openldap:[TAG] +docker pull bitnami/openldap:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -77,7 +77,7 @@ In this example, we will use a MariaDB Galera instance that will use a OpenLDAP #### Step 1: Create a network ```console -$ docker network create my-network --driver bridge +docker network create my-network --driver bridge ``` #### Step 2: Launch the OpenLDAP server instance @@ -85,7 +85,7 @@ $ docker network create my-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run --detach --rm --name openldap \ +docker run --detach --rm --name openldap \ --network my-network \ --env LDAP_ADMIN_USERNAME=admin \ --env LDAP_ADMIN_PASSWORD=adminpassword \ @@ -99,7 +99,7 @@ $ docker run --detach --rm --name openldap \ Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run --detach --rm --name mariadb-galera \ +docker run --detach --rm --name mariadb-galera \ --network my-network \ --env MARIADB_ROOT_PASSWORD=root-password \ --env MARIADB_GALERA_MARIABACKUP_PASSWORD=backup-password \ @@ -118,7 +118,7 @@ $ docker run --detach --rm --name mariadb-galera \ Finally we create a new container instance to launch the MariaDB client and connect to the server created in the previous step: ```console -$ docker run -it --rm --name mariadb-client \ +docker run -it --rm --name mariadb-client \ --network my-network \ bitnami/mariadb-galera:latest mysql -h mariadb-galera -u customuser -D customdatabase -pcustompassword ``` @@ -165,35 +165,35 @@ volumes: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration The Bitnami Docker OpenLDAP can be easily setup with the following environment variables: -- `LDAP_PORT_NUMBER`: The port OpenLDAP is listening for requests. Default: **1389** (non privileged port) -- `LDAP_ROOT`: LDAP baseDN (or suffix) of the LDAP tree. Default: **dc=example,dc=org** -- `LDAP_ADMIN_USERNAME`: LDAP database admin user. Default: **admin** -- `LDAP_ADMIN_PASSWORD`: LDAP database admin password. Default: **adminpassword** -- `LDAP_ADMIN_PASSWORD_FILE`: Path to a file that contains the LDAP database admin user password. This will override the value specified in `LDAP_ADMIN_PASSWORD`. No defaults. -- `LDAP_CONFIG_ADMIN_ENABLED`: Whether to create a configuration admin user. Default: **no**. -- `LDAP_CONFIG_ADMIN_USERNAME`: LDAP configuration admin user. This is separate from `LDAP_ADMIN_USERNAME`. Default: **admin**. -- `LDAP_CONFIG_ADMIN_PASSWORD`: LDAP configuration admin password. Default: **configpassword**. -- `LDAP_CONFIG_ADMIN_PASSWORD_FILE`: Path to a file that contains the LDAP configuration admin user password. This will override the value specified in `LDAP_CONFIG_ADMIN_PASSWORD`. No defaults. -- `LDAP_USERS`: Comma separated list of LDAP users to create in the default LDAP tree. Default: **user01,user02** -- `LDAP_PASSWORDS`: Comma separated list of passwords to use for LDAP users. Default: **bitnami1,bitnami2** -- `LDAP_USER_DC`: DC for the users' organizational unit. Default: **users** -- `LDAP_GROUP`: Group used to group created users. Default: **readers** -- `LDAP_ADD_SCHEMAS`: Whether to add the schemas specified in `LDAP_EXTRA_SCHEMAS`. Default: **yes** -- `LDAP_EXTRA_SCHEMAS`: Extra schemas to add, among OpenLDAP's distributed schemas. Default: **cosine, inetorgperson, nis** -- `LDAP_SKIP_DEFAULT_TREE`: Whether to skip creating the default LDAP tree based on `LDAP_USERS`, `LDAP_PASSWORDS`, `LDAP_USER_DC` and `LDAP_GROUP`. Please note that this will **not** skip the addition of schemas or importing of LDIF files. Default: **no** -- `LDAP_CUSTOM_LDIF_DIR`: Location of a directory that contains LDIF files that should be used to bootstrap the database. Only files ending in `.ldif` will be used. Default LDAP tree based on the `LDAP_USERS`, `LDAP_PASSWORDS`, `LDAP_USER_DC` and `LDAP_GROUP` will be skipped when `LDAP_CUSTOM_LDIF_DIR` is used. When using this it will override the usage of `LDAP_USERS`, `LDAP_PASSWORDS`, `LDAP_USER_DC` and `LDAP_GROUP`. You should set `LDAP_ROOT` to your base to make sure the `olcSuffix` configured on the database matches the contents imported from the LDIF files. Default: **/ldifs** -- `LDAP_CUSTOM_SCHEMA_FILE`: Location of a custom internal schema file that could not be added as custom ldif file (i.e. containing some `structuralObjectClass`). Default is **/schema/custom.ldif**" -- `LDAP_CUSTOM_SCHEMA_DIR`: Location of a directory containing custom internal schema files that could not be added as custom ldif files (i.e. containing some `structuralObjectClass`). This can be used in addition to or instead of `LDAP_CUSTOM_SCHEMA_FILE` (above) to add multiple schema files. Default: **/schemas** -- `LDAP_ULIMIT_NOFILES`: Maximum number of open file descriptors. Default: **1024**. -- `LDAP_ALLOW_ANON_BINDING`: Allow anonymous bindings to the LDAP server. Default: **yes**. -- `LDAP_LOGLEVEL`: Set the loglevel for the OpenLDAP server (see https://www.openldap.org/doc/admin25/slapdconfig.html for possible values). Default: **256**. +* `LDAP_PORT_NUMBER`: The port OpenLDAP is listening for requests. Default: **1389** (non privileged port) +* `LDAP_ROOT`: LDAP baseDN (or suffix) of the LDAP tree. Default: **dc=example,dc=org** +* `LDAP_ADMIN_USERNAME`: LDAP database admin user. Default: **admin** +* `LDAP_ADMIN_PASSWORD`: LDAP database admin password. Default: **adminpassword** +* `LDAP_ADMIN_PASSWORD_FILE`: Path to a file that contains the LDAP database admin user password. This will override the value specified in `LDAP_ADMIN_PASSWORD`. No defaults. +* `LDAP_CONFIG_ADMIN_ENABLED`: Whether to create a configuration admin user. Default: **no**. +* `LDAP_CONFIG_ADMIN_USERNAME`: LDAP configuration admin user. This is separate from `LDAP_ADMIN_USERNAME`. Default: **admin**. +* `LDAP_CONFIG_ADMIN_PASSWORD`: LDAP configuration admin password. Default: **configpassword**. +* `LDAP_CONFIG_ADMIN_PASSWORD_FILE`: Path to a file that contains the LDAP configuration admin user password. This will override the value specified in `LDAP_CONFIG_ADMIN_PASSWORD`. No defaults. +* `LDAP_USERS`: Comma separated list of LDAP users to create in the default LDAP tree. Default: **user01,user02** +* `LDAP_PASSWORDS`: Comma separated list of passwords to use for LDAP users. Default: **bitnami1,bitnami2** +* `LDAP_USER_DC`: DC for the users' organizational unit. Default: **users** +* `LDAP_GROUP`: Group used to group created users. Default: **readers** +* `LDAP_ADD_SCHEMAS`: Whether to add the schemas specified in `LDAP_EXTRA_SCHEMAS`. Default: **yes** +* `LDAP_EXTRA_SCHEMAS`: Extra schemas to add, among OpenLDAP's distributed schemas. Default: **cosine, inetorgperson, nis** +* `LDAP_SKIP_DEFAULT_TREE`: Whether to skip creating the default LDAP tree based on `LDAP_USERS`, `LDAP_PASSWORDS`, `LDAP_USER_DC` and `LDAP_GROUP`. Please note that this will **not** skip the addition of schemas or importing of LDIF files. Default: **no** +* `LDAP_CUSTOM_LDIF_DIR`: Location of a directory that contains LDIF files that should be used to bootstrap the database. Only files ending in `.ldif` will be used. Default LDAP tree based on the `LDAP_USERS`, `LDAP_PASSWORDS`, `LDAP_USER_DC` and `LDAP_GROUP` will be skipped when `LDAP_CUSTOM_LDIF_DIR` is used. When using this it will override the usage of `LDAP_USERS`, `LDAP_PASSWORDS`, `LDAP_USER_DC` and `LDAP_GROUP`. You should set `LDAP_ROOT` to your base to make sure the `olcSuffix` configured on the database matches the contents imported from the LDIF files. Default: **/ldifs** +* `LDAP_CUSTOM_SCHEMA_FILE`: Location of a custom internal schema file that could not be added as custom ldif file (i.e. containing some `structuralObjectClass`). Default is **/schema/custom.ldif**" +* `LDAP_CUSTOM_SCHEMA_DIR`: Location of a directory containing custom internal schema files that could not be added as custom ldif files (i.e. containing some `structuralObjectClass`). This can be used in addition to or instead of `LDAP_CUSTOM_SCHEMA_FILE` (above) to add multiple schema files. Default: **/schemas** +* `LDAP_ULIMIT_NOFILES`: Maximum number of open file descriptors. Default: **1024**. +* `LDAP_ALLOW_ANON_BINDING`: Allow anonymous bindings to the LDAP server. Default: **yes**. +* `LDAP_LOGLEVEL`: Set the loglevel for the OpenLDAP server (see for possible values). Default: **256**. You can bootstrap the contents of your database by putting LDIF files in the directory `/ldifs` (or the one you define in `LDAP_CUSTOM_LDIF_DIR`). Those may only contain content underneath your base DN (set by `LDAP_ROOT`). You can **not** set configuration for e.g. `cn=config` in those files. @@ -203,19 +203,19 @@ Check the official [OpenLDAP Configuration Reference](https://www.openldap.org/d OpenLDAP clients and servers are capable of using the Transport Layer Security (TLS) framework to provide integrity and confidentiality protections and to support LDAP authentication using the SASL EXTERNAL mechanism. Should you desire to enable this optional feature, you may use the following environment variables to configure the application: - - `LDAP_ENABLE_TLS`: Whether to enable TLS for traffic or not. Defaults to `no`. - - `LDAP_LDAPS_PORT_NUMBER`: Port used for TLS secure traffic. Defaults to `1636`. - - `LDAP_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. - - `LDAP_TLS_KEY_FILE`: File containing the key for certificate. No defaults. - - `LDAP_TLS_CA_FILE`: File containing the CA of the certificate. No defaults. - - `LDAP_TLS_DH_PARAMS_FILE`: File containing the DH parameters. No defaults. +* `LDAP_ENABLE_TLS`: Whether to enable TLS for traffic or not. Defaults to `no`. +* `LDAP_LDAPS_PORT_NUMBER`: Port used for TLS secure traffic. Defaults to `1636`. +* `LDAP_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. +* `LDAP_TLS_KEY_FILE`: File containing the key for certificate. No defaults. +* `LDAP_TLS_CA_FILE`: File containing the CA of the certificate. No defaults. +* `LDAP_TLS_DH_PARAMS_FILE`: File containing the DH parameters. No defaults. This new feature is not mutually exclusive, which means it is possible to listen to both TLS and non-TLS connection simultaneously. To use TLS you can use the URI `ldaps://openldap:1636` or use the non-TLS URI forcing ldap to use TLS `ldap://openldap:1389 -ZZ`. 1. Using `docker run` ```console - $ docker run --name openldap \ + docker run --name openldap \ -v /path/to/certs:/opt/bitnami/openldap/certs \ -v /path/to/openldap-data-persistence:/bitnami/openldap/ \ -e ALLOW_EMPTY_PASSWORD=yes \ @@ -258,7 +258,7 @@ Scripts are executed are after the initilization and before the startup of the O The Bitnami OpenLDAP Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs openldap +docker logs openldap ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -274,7 +274,7 @@ Bitnami provides up-to-date versions of OpenLDAP, including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/openldap:latest +docker pull bitnami/openldap:latest ``` #### Step 2: Stop the running container @@ -282,13 +282,13 @@ $ docker pull bitnami/openldap:latest Stop the currently running container using the command ```console -$ docker stop openldap +docker stop openldap ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v openldap +docker rm -v openldap ``` #### Step 4: Run the new image @@ -296,14 +296,14 @@ $ docker rm -v openldap Re-create your container from the new image. ```console -$ docker run --name openldap bitnami/openldap:latest +docker run --name openldap bitnami/openldap:latest ``` ## Notable Changes ### 2.4.58-debian-10-r93 -- The default database backend has been changed from `hdb` to `mdb` as recommended. No additional steps should be necessary at upgrade time; the new container version `2.4.59` will initialize using the persisted data. +* The default database backend has been changed from `hdb` to `mdb` as recommended. No additional steps should be necessary at upgrade time; the new container version `2.4.59` will initialize using the persisted data. ## Contributing @@ -321,7 +321,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/openresty/README.md b/bitnami/openresty/README.md index d62dd58b5e64..19d521ee2a93 100644 --- a/bitnami/openresty/README.md +++ b/bitnami/openresty/README.md @@ -11,12 +11,12 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name openresty bitnami/openresty:latest +docker run --name openresty bitnami/openresty:latest ``` ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/openresty/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/openresty/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -45,7 +45,7 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami OpenResty Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/openresty). ```console -$ docker pull bitnami/openresty:latest +docker pull bitnami/openresty:latest ``` To use a specific version, you can pull a versioned tag. You can view the @@ -53,15 +53,15 @@ To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry. ```console -$ docker pull bitnami/openresty:[TAG] +docker pull bitnami/openresty:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Hosting a static website @@ -69,7 +69,7 @@ $ docker build -t bitnami/APP:latest . This OpenResty image exposes a volume at `/app`. Content mounted here is served by the default catch-all server block. ```console -$ docker run -v /path/to/app:/app bitnami/openresty:latest +docker run -v /path/to/app:/app bitnami/openresty:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/openresty/docker-compose.yml) file present in this repository: @@ -88,20 +88,20 @@ services: To access your web server from your host machine you can ask Docker to map a random port on your host to ports `8080` and `8443` exposed in the container. ```console -$ docker run --name nginx -P bitnami/openresty:latest +docker run --name nginx -P bitnami/openresty:latest ``` Run `docker port` to determine the random ports Docker assigned. ```console -$ docker port openresty +docker port openresty 8080/tcp -> 0.0.0.0:32769 ``` You can also manually specify the ports you want forwarded from your host to the container. ```console -$ docker run -p 9000:8080 bitnami/openresty:latest +docker run -p 9000:8080 bitnami/openresty:latest ``` Access your web server in the browser by navigating to `http://localhost:9000`. @@ -114,7 +114,7 @@ The default `nginx.conf` includes server blocks placed in `/opt/bitnami/openrest For example, in order add a server block for `www.example.com`: -#### Step 1: Write your `my_server_block.conf` file with the following content. +#### Step 1: Write your `my_server_block.conf` file with the following content ```nginx server { @@ -125,10 +125,10 @@ server { } ``` -#### Step 2: Mount the configuration as a volume. +#### Step 2: Mount the configuration as a volume ```console -$ docker run --name openresty \ +docker run --name openresty \ -v /path/to/my_server_block.conf:/opt/bitnami/openresty/nginx/conf/server_blocks/my_server_block.conf:ro \ bitnami/openresty:latest ``` @@ -153,9 +153,9 @@ services: In your local computer, create a folder called `certs` and put your certificates files. Make sure you rename both files to `server.crt` and `server.key` respectively: ```console -$ mkdir -p /path/to/openresty-persistence/certs -$ cp /path/to/certfile.crt /path/to/openresty-persistence/certs/server.crt -$ cp /path/to/keyfile.key /path/to/openresty-persistence/certs/server.key +mkdir -p /path/to/openresty-persistence/certs +cp /path/to/certfile.crt /path/to/openresty-persistence/certs/server.crt +cp /path/to/keyfile.key /path/to/openresty-persistence/certs/server.key ``` #### Step 2: Provide a custom Server Block for SSL connections @@ -187,7 +187,7 @@ Write your `my_server_block.conf` file with the SSL configuration and the relati Run the OpenResty image, mounting the certificates directory from your host. ```console -$ docker run --name openresty \ +docker run --name openresty \ -v /path/to/my_server_block.conf:/opt/bitnami/openresty/nginx/conf/server_blocks/my_server_block.conf:ro \ -v /path/to/openresty-persistence/certs:/certs \ bitnami/openresty:latest @@ -209,9 +209,8 @@ services: The image looks for configurations in `/opt/bitnami/openresty/nginx/conf/nginx.conf`. You can overwrite the `nginx.conf` file using your own custom configuration file. - ```console -$ docker run --name openresty \ +docker run --name openresty \ -v /path/to/your_nginx.conf:/opt/bitnami/openresty/nginx/conf/nginx.conf:ro \ bitnami/openresty:latest ``` @@ -260,20 +259,20 @@ server { **Further Reading:** - - [NGINX reverse proxy](http://nginx.com/resources/admin-guide/reverse-proxy/) +* [NGINX reverse proxy](http://nginx.com/resources/admin-guide/reverse-proxy/) ## Logging The Bitnami OpenResty Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs openresty +docker logs openresty ``` or using Docker Compose: ```console -$ docker-compose logs openresty +docker-compose logs openresty ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -286,10 +285,10 @@ The Bitnami OpenResty Docker image is designed to be extended so it can be used Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the port used by OpenResty for HTTP setting the environment variable `OPENRESTY_HTTP_PORT_NUMBER`. -- [Adding custom server blocks](#adding-custom-server-blocks). -- [Replacing the 'nginx.conf' file](#full-configuration). -- [Using custom SSL certificates](#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the port used by OpenResty for HTTP setting the environment variable `OPENRESTY_HTTP_PORT_NUMBER`. +* [Adding custom server blocks](#adding-custom-server-blocks). +* [Replacing the 'nginx.conf' file](#full-configuration). +* [Using custom SSL certificates](#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -301,10 +300,10 @@ FROM bitnami/openresty Here is an example of extending the image with the following modifications: -- Install the `vim` editor -- Modify the OpenResty configuration file -- Modify the ports used by OpenResty -- Change the user that runs the container +* Install the `vim` editor +* Modify the OpenResty configuration file +* Modify the ports used by OpenResty +* Change the user that runs the container ```Dockerfile FROM bitnami/openresty @@ -329,9 +328,9 @@ USER 1002 Based on the extended image, you can use a Docker Compose file like the one below to add other features: -- Add a custom server block -- Add custom certificates -- Clone your web application and serve it through OpenResty +* Add a custom server block +* Add custom certificates +* Clone your web application and serve it through OpenResty ```yaml version: '2' @@ -370,7 +369,7 @@ Bitnami provides up-to-date versions of OpenResty, including security patches, s #### Step 1: Get the updated image ```console -$ docker pull bitnami/openresty:latest +docker pull bitnami/openresty:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -381,25 +380,25 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop openresty +docker stop openresty ``` or using Docker Compose: ```console -$ docker-compose stop openresty +docker-compose stop openresty ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v openresty +docker rm -v openresty ``` or using Docker Compose: ```console -$ docker-compose rm -v openresty +docker-compose rm -v openresty ``` #### Step 4: Run the new image @@ -407,13 +406,13 @@ $ docker-compose rm -v openresty Re-create your container from the new image. ```console -$ docker run --name nginx bitnami/openresty:latest +docker run --name nginx bitnami/openresty:latest ``` or using Docker Compose: ```console -$ docker-compose up openresty +docker-compose up openresty ``` ## Contributing @@ -432,7 +431,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/oras/README.md b/bitnami/oras/README.md index bf2e5ea57aae..7c4f65dc954e 100644 --- a/bitnami/oras/README.md +++ b/bitnami/oras/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name oras bitnami/oras:latest +docker run --name oras bitnami/oras:latest ``` ## Why use Bitnami Images? @@ -38,21 +38,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami ORAS Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/oras). ```console -$ docker pull bitnami/oras:latest +docker pull bitnami/oras:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/oras/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/oras:[TAG] +docker pull bitnami/oras:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -62,7 +62,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `oras --version` you can follow the example below: ```console -$ docker run --rm --name oras bitnami/oras:latest --version +docker run --rm --name oras bitnami/oras:latest --version ``` Check the [official ORAS documentation](https://oras.land/cli/) for a list of the available commands and parameters. @@ -83,7 +83,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/osclass/README.md b/bitnami/osclass/README.md index 28c84fbf346d..4824dfe74a56 100644 --- a/bitnami/osclass/README.md +++ b/bitnami/osclass/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/osclass/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/osclass/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Osclass Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/osclass). ```console -$ docker pull bitnami/osclass:latest +docker pull bitnami/osclass:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/osclass/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/osclass:[TAG] +docker pull bitnami/osclass:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +75,8 @@ Osclass requires access to a MySQL or MariaDB database to store information. We' The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/osclass/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/osclass/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/osclass/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -86,14 +86,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create osclass-network +docker network create osclass-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_osclass \ --env MARIADB_PASSWORD=bitnami \ @@ -106,8 +106,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for Osclass persistence and launch the container ```console -$ docker volume create --name osclass_data -$ docker run -d --name osclass \ +docker volume create --name osclass_data +docker run -d --name osclass \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env OSCLASS_DATABASE_USER=bn_osclass \ @@ -161,13 +161,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create osclass-network +docker network create osclass-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_osclass \ --env MARIADB_PASSWORD=bitnami \ @@ -180,7 +180,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the Osclass container with host volumes ```console -$ docker run -d --name osclass \ +docker run -d --name osclass \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env OSCLASS_DATABASE_USER=bn_osclass \ @@ -210,7 +210,7 @@ When you start the Osclass image, you can adjust the configuration of the instan - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name osclass -p 80:8080 -p 443:8443 \ + docker run -d --name osclass -p 80:8080 -p 443:8443 \ --env OSCLASS_PASSWORD=my_password \ --network osclass-tier \ --volume /path/to/osclass-persistence:/bitnami \ @@ -219,7 +219,7 @@ When you start the Osclass image, you can adjust the configuration of the instan Available environment variables: -##### User and Site configuration +#### User and Site configuration - `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** - `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** @@ -229,7 +229,8 @@ Available environment variables: - `OSCLASS_WEB_TITLE`: Osclass application title. Default: **Sample Web Page** - `OSCLASS_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. This is necessary in case you use a database that already has Osclass data. Default: **no** -##### Database connection configuration +#### Database connection configuration + - `OSCLASS_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** - `OSCLASS_DATABASE_PORT_NUMBER`: Port used by the MariaDB or MySQL server. Default: **3306** - `OSCLASS_DATABASE_NAME`: Database name that Osclass will use to connect with the database. Default: **bitnami_osclass** @@ -237,7 +238,7 @@ Available environment variables: - `OSCLASS_DATABASE_PASSWORD`: Database password that Osclass will use to connect with the database. No defaults. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for Osclass using mysql-client +#### Create a database for Osclass using mysql-client - `MYSQL_CLIENT_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** - `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the MariaDB or MySQL server. Default: **3306** @@ -252,7 +253,7 @@ Available environment variables: - `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure Osclass to send email using SMTP you can set the following environment variables: @@ -261,7 +262,7 @@ To configure Osclass to send email using SMTP you can set the following environm - `OSCLASS_SMTP_USER`: SMTP account user. - `OSCLASS_SMTP_PASSWORD`: SMTP account password. -##### PHP configuration +#### PHP configuration - `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. Default: **yes** - `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. @@ -297,7 +298,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name osclass -p 80:8080 -p 443:8443 \ + docker run -d --name osclass -p 80:8080 -p 443:8443 \ --env OSCLASS_DATABASE_USER=bn_osclass \ --env OSCLASS_DATABASE_NAME=bitnami_osclass \ --env OSCLASS_SMTP_HOST=smtp.gmail.com \ @@ -332,7 +333,7 @@ The Bitnami Osclass container supports connecting the Osclass application to an - For manual execution: ```console - $ docker run -d --name osclass\ + docker run -d --name osclass\ -p 8080:8080 -p 8443:8443 \ --network osclass-network \ --env OSCLASS_DATABASE_HOST=mariadb_host \ @@ -351,13 +352,13 @@ In case the database already contains data from a previous Osclass installation, The Bitnami Osclass Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs osclass +docker logs osclass ``` Or using Docker Compose: ```console -$ docker-compose logs osclass +docker-compose logs osclass ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -371,13 +372,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop osclass +docker stop osclass ``` Or using Docker Compose: ```console -$ docker-compose stop osclass +docker-compose stop osclass ``` #### Step 2: Run the backup command @@ -385,7 +386,7 @@ $ docker-compose stop osclass We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/osclass-backups:/backups --volumes-from osclass busybox \ +docker run --rm -v /path/to/osclass-backups:/backups --volumes-from osclass busybox \ cp -a /bitnami/osclass /backups/latest ``` @@ -396,7 +397,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -406,7 +407,7 @@ For the MariaDB database container: For the Osclass container: ```diff - $ docker run -d --name osclass \ + docker run -d --name osclass \ ... - --volume /path/to/osclass-persistence:/bitnami/osclass \ + --volume /path/to/osclass-backups/latest:/bitnami/osclass \ @@ -415,14 +416,14 @@ For the Osclass container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and Osclass, 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 Osclass container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and Osclass, 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 Osclass container. For the MariaDB upgrade see: The `bitnami/osclass:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/osclass:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/osclass/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/osclass:latest +docker pull bitnami/osclass:latest ``` #### Step 2: Stop the running container @@ -430,7 +431,7 @@ $ docker pull bitnami/osclass:latest Stop the currently running container using the command ```console -$ docker-compose stop osclass +docker-compose stop osclass ``` #### Step 3: Take a snapshot of the application state @@ -450,7 +451,7 @@ docker-compose rm -v osclass Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -515,6 +516,7 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g + - PHP_MEMORY_LIMIT=512m ... ``` + ## Notable changes ### 4.4.0-debian-10-r12 @@ -569,7 +571,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/parse-dashboard/README.md b/bitnami/parse-dashboard/README.md index 941258d5f626..d98d1fae2ac6 100644 --- a/bitnami/parse-dashboard/README.md +++ b/bitnami/parse-dashboard/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/parse-dashboard/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/parse-dashboard/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -46,46 +46,46 @@ To run this application you need Docker Engine 1.10.0. Docker Compose is recomen ## How to use this image -#### Run the application using Docker Compose +### Run the application using Docker Compose The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/parse-dashboard/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/parse-dashboard/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/parse-dashboard/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` -#### Run the application manually +### Run the application manually If you want to run the application manually instead of using docker-compose, these are the basic steps you need to run: 1. Create a network for the application, Parse Server and the database: - ```console - $ docker network create parse_dashboard-tier - ``` + ```console + docker network create parse_dashboard-tier + ``` 2. Start a MongoDB® database in the network generated: - ```console - $ docker run -d --name mongodb --net=parse_dashboard-tier bitnami/mongodb - ``` + ```console + docker run -d --name mongodb --net=parse_dashboard-tier bitnami/mongodb + ``` - *Note:* You need to give the container a name in order to Parse to resolve the host. + *Note:* You need to give the container a name in order to Parse to resolve the host. 3. Start a Parse Server container: - ```console - $ docker run -d -p 1337:1337 --name parse --net=parse_dashboard-tier bitnami/parse - ``` + ```console + docker run -d -p 1337:1337 --name parse --net=parse_dashboard-tier bitnami/parse + ``` -4. Run the Parse Dashboard container: +4. Run the {{ .Name }} container: - ```console - $ docker run -d -p 80:4040 --name parse-dashboard --net=parse_dashboard-tier bitnami/parse-dashboard - ``` + ```console + docker run -d -p 80:4040 --name parse-dashboard --net=parse_dashboard-tier bitnami/parse-dashboard + ``` -Then you can access your application at `http://your-ip/` + Then you can access your application at `http://your-ip/` ### Persisting your application @@ -128,72 +128,72 @@ In this case you need to specify the directories to mount on the run command. Th 1. Create a network (if it does not exist): - ```console - $ docker network create parse_dashboard-tier - ``` + ```console + docker network create parse_dashboard-tier + ``` 2. Create a MongoDB® container with host volume: - ```console - $ docker run -d --name mongodb \ - --net parse-dashboard-tier \ - --volume /path/to/mongodb-persistence:/bitnami \ - bitnami/mongodb:latest - ``` + ```console + docker run -d --name mongodb \ + --net parse-dashboard-tier \ + --volume /path/to/mongodb-persistence:/bitnami \ + bitnami/mongodb:latest + ``` - *Note:* You need to give the container a name in order to Parse to resolve the host. + *Note:* You need to give the container a name in order to Parse to resolve the host. 3. Start a Parse Server container: - ```console - $ docker run -d -name parse -p 1337:1337 \ - --net parse-dashboard-tier - --volume /path/to/parse-persistence:/bitnami \ - bitnami/parse:latest - ``` + ```console + docker run -d -name parse -p 1337:1337 \ + --net parse-dashboard-tier + --volume /path/to/parse-persistence:/bitnami \ + bitnami/parse:latest + ``` -4. Run the Parse Dashboard container: +4. Run the {{ .Name }} container: - ```console - $ docker run -d --name parse-dashboard -p 80:4040 \ - --volume /path/to/parse_dashboard-persistence:/bitnami \ - bitnami/parse-dashboard:latest - ``` + ```console + docker run -d --name parse-dashboard -p 80:4040 \ + --volume /path/to/parse_dashboard-persistence:/bitnami \ + bitnami/parse-dashboard:latest + ``` ## Upgrade this application -Bitnami provides up-to-date versions of Parse Dashboard, 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 Parse Dashboard container. +Bitnami provides up-to-date versions of {{ .Name }}, 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 {{ .Name }} container. 1. Get the updated images: -```console -$ docker pull bitnami/parse-dashboard:latest -``` + ```console + docker pull bitnami/parse-dashboard:latest + ``` 2. Stop your container - * For docker-compose: `$ docker-compose stop parse-dashboard` - * For manual execution: `$ docker stop parse-dashboard` + * For docker-compose: `$ docker-compose stop parse-dashboard` + * For manual execution: `$ docker stop parse-dashboard` 3. Take a snapshot of the application state -```console -$ rsync -a /path/to/parse-persistence /path/to/parse-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) -``` + ```console + rsync -a /path/to/parse-persistence /path/to/parse-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) + ``` -Additionally, snapshot the [MongoDB®](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#step-2-stop-and-backup-the-currently-running-container) and [Parse server](https://github.com/bitnami/containers/blob/main/bitnami/parse#step-2-stop-and-backup-the-currently-running-container) data. + Additionally, snapshot the [MongoDB®](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#step-2-stop-and-backup-the-currently-running-container) and [Parse server](https://github.com/bitnami/containers/blob/main/bitnami/parse#step-2-stop-and-backup-the-currently-running-container) data. -You can use these snapshots to restore the application state should the upgrade fail. + You can use these snapshots to restore the application state should the upgrade fail. 4. Remove the currently running container - * For docker-compose: `$ docker-compose rm parse-dashboard` - * For manual execution: `$ docker rm parse-dashboard` + * For docker-compose: `$ docker-compose rm parse-dashboard` + * For manual execution: `$ docker rm parse-dashboard` 5. Run the new image - * For docker-compose: `$ docker-compose up parse-dashboard` - * For manual execution ([mount](#mount-persistent-folders-manually) the directories if needed): `docker run --name parse-dashboard bitnami/parse-dashboard:latest` + * For docker-compose: `$ docker-compose up parse-dashboard` + * For manual execution (mount the directories if needed): `docker run --name parse-dashboard bitnami/parse-dashboard:latest` ## Configuration @@ -201,8 +201,7 @@ You can use these snapshots to restore the application state should the upgrade When you start the parse-dashboard 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/parse-dashboard/docker-compose.yml) file present in this repository: - +* 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/parse-dashboard/docker-compose.yml) file present in this repository: ```yaml parse-dashboard: @@ -212,40 +211,40 @@ parse-dashboard: ... ``` - * For manual execution add a `-e` option with each variable and value: +* For manual execution add a `-e` option with each variable and value: ```console - $ docker run -d -e PARSE_DASHBOARD_PASSWORD=my_password -p 80:4040 --name parse-dashboard -v /your/local/path/bitnami/parse_dashboard:/bitnami --network=parse_dashboard-tier bitnami/parse-dashboard + docker run -d -e PARSE_DASHBOARD_PASSWORD=my_password -p 80:4040 --name parse-dashboard -v /your/local/path/bitnami/parse_dashboard:/bitnami --network=parse_dashboard-tier bitnami/parse-dashboard ``` Available environment variables: -###### User and Site configuration +#### User and Site configuration -- `PARSE_DASHBOARD_ENABLE_HTTPS`: Whether to enable HTTPS for Parse Dashboard by default. Default: **no** -- `PARSE_DASHBOARD_EXTERNAL_HTTP_PORT_NUMBER`: External HTTP port for Parse Dashboard. Default: **80** -- `PARSE_DASHBOARD_EXTERNAL_HTTPS_PORT_NUMBER`: External HTTPS port for Parse Dashboard. Default: **80** -- `PARSE_DASHBOARD_PARSE_HOST`: Parse server host. Default: **parse** -- `PARSE_DASHBOARD_PORT_NUMBER`: Port number in which Parse Dashboard will run. Default: **4040** -- `PARSE_DASHBOARD_PARSE_PORT_NUMBER`: Parse server port number. Default: **1337** -- `PARSE_DASHBOARD_PARSE_APP_ID`: Parse app ID. Default: **myappID** -- `PARSE_DASHBOARD_PARSE_APP_NAME`: Parse app name. Default: **myappID** -- `PARSE_DASHBOARD_PARSE_MASTER_KEY`: Parse master key: **mymasterKey** -- `PARSE_DASHBOARD_PARSE_MOUNT_PATH`: Parse server mount path. Default: **/parse** -- `PARSE_DASHBOARD_PARSE_PROTOCOL`: Parse server protocol. Default: **https** -- `PARSE_DASHBOARD_USERNAME`: Parse Dashboard user name. Default: **user** -- `PARSE_DASHBOARD_PASSWORD`: Parse Dashboard password. Default: **bitnami** +* `PARSE_DASHBOARD_ENABLE_HTTPS`: Whether to enable HTTPS for Parse Dashboard by default. Default: **no** +* `PARSE_DASHBOARD_EXTERNAL_HTTP_PORT_NUMBER`: External HTTP port for Parse Dashboard. Default: **80** +* `PARSE_DASHBOARD_EXTERNAL_HTTPS_PORT_NUMBER`: External HTTPS port for Parse Dashboard. Default: **80** +* `PARSE_DASHBOARD_PARSE_HOST`: Parse server host. Default: **parse** +* `PARSE_DASHBOARD_PORT_NUMBER`: Port number in which Parse Dashboard will run. Default: **4040** +* `PARSE_DASHBOARD_PARSE_PORT_NUMBER`: Parse server port number. Default: **1337** +* `PARSE_DASHBOARD_PARSE_APP_ID`: Parse app ID. Default: **myappID** +* `PARSE_DASHBOARD_PARSE_APP_NAME`: Parse app name. Default: **myappID** +* `PARSE_DASHBOARD_PARSE_MASTER_KEY`: Parse master key: **mymasterKey** +* `PARSE_DASHBOARD_PARSE_MOUNT_PATH`: Parse server mount path. Default: **/parse** +* `PARSE_DASHBOARD_PARSE_PROTOCOL`: Parse server protocol. Default: **https** +* `PARSE_DASHBOARD_USERNAME`: Parse Dashboard user name. Default: **user** +* `PARSE_DASHBOARD_PASSWORD`: Parse Dashboard password. Default: **bitnami** ## Notable Changes ### 2.1.0-debian-10-r328 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. ### 1.2.0-r69 -- The Parse Dashboard container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Parse Dashboard daemon was started as the `parsedashboard` user. From now on, both the container and the Parse Dashboard daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Parse Dashboard container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Parse Dashboard daemon was started as the `parsedashboard` user. From now on, both the container and the Parse Dashboard daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ## Contributing @@ -263,7 +262,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/parse/README.md b/bitnami/parse/README.md index 966863a7027c..1975d73c3916 100644 --- a/bitnami/parse/README.md +++ b/bitnami/parse/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/parse/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/parse/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -61,8 +61,8 @@ Running Parse with a database server is the recommended way. You can either use The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/parse/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/parse/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/parse/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` #### Run the application manually @@ -71,25 +71,25 @@ If you want to run the application manually instead of using docker-compose, the 1. Create a new network for the application and the database: - ```console - $ docker network create parse_network - ``` + ```console + docker network create parse_network + ``` 2. Start a MongoDB® database in the network generated: - ```console - $ docker run -d --name mongodb --net=parse_network bitnami/mongodb - ``` + ```console + docker run -d --name mongodb --net=parse_network bitnami/mongodb + ``` - *Note:* You need to give the container a name in order to Parse to resolve the host + *Note:* You need to give the container a name in order to Parse to resolve the host 3. Run the Parse container: - ```console - $ docker run -d -p 1337:1337 --name parse --net=parse_network bitnami/parse - ``` + ```console + docker run -d -p 1337:1337 --name parse --net=parse_network bitnami/parse + ``` -Then you can access your application at `http://your-ip/parse` + Then you can access your application at `http://your-ip/parse` ### Persisting your application @@ -126,64 +126,64 @@ In this case you need to specify the directories to mount on the run command. Th 1. Create a network (if it does not exist): - ```console - $ docker network create parse-tier - ``` + ```console + docker network create parse-tier + ``` 2. Create a MongoDB® container with host volume: - ```console - $ docker run -d --name mongodb \ - --net parse-tier \ - --volume /path/to/mongodb-persistence:/bitnami \ - bitnami/mongodb:latest - ``` + ```console + docker run -d --name mongodb \ + --net parse-tier \ + --volume /path/to/mongodb-persistence:/bitnami \ + bitnami/mongodb:latest + ``` - *Note:* You need to give the container a name in order to Parse to resolve the host + *Note:* You need to give the container a name in order to Parse to resolve the host 3. Run the Parse container: - ```console - $ docker run -d --name parse -p 1337:1337 \ - --net parse-tier \ - --volume /path/to/parse-persistence:/bitnami \ - bitnami/parse:latest - ``` + ```console + docker run -d --name parse -p 1337:1337 \ + --net parse-tier \ + --volume /path/to/parse-persistence:/bitnami \ + bitnami/parse:latest + ``` ## Upgrade this application -Bitnami provides up-to-date versions of Mongodb and Parse, 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 Parse container. For the Mongodb upgrade see https://github.com/bitnami/containers/blob/main/bitnami/mongodb/blob/master/README.md#upgrade-this-image +Bitnami provides up-to-date versions of Mongodb and Parse, 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 Parse container. For the Mongodb upgrade see 1. Get the updated images: - ```console - $ docker pull bitnami/parse:latest - ``` + ```console + docker pull bitnami/parse:latest + ``` 2. Stop your container - * For docker-compose: `$ docker-compose stop parse` - * For manual execution: `$ docker stop parse` + * For docker-compose: `$ docker-compose stop parse` + * For manual execution: `$ docker stop parse` 3. Take a snapshot of the application state -```console -$ rsync -a /path/to/parse-persistence /path/to/parse-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) -``` + ```console + rsync -a /path/to/parse-persistence /path/to/parse-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) + ``` -Additionally, [snapshot the MongoDB® data](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#step-2-stop-and-backup-the-currently-running-container) + Additionally, [snapshot the MongoDB® data](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#step-2-stop-and-backup-the-currently-running-container) -You can use these snapshots to restore the application state should the upgrade fail. + You can use these snapshots to restore the application state should the upgrade fail. 4. Remove the currently running container - * For docker-compose: `$ docker-compose rm parse` - * For manual execution: `$ docker rm parse` + * For docker-compose: `$ docker-compose rm parse` + * For manual execution: `$ docker rm parse` 5. Run the new image - * For docker-compose: `$ docker-compose up parse` - * For manual execution ([mount](#mount-persistent-folders-manually) the directories if needed): `docker run --name parse bitnami/parse:latest` + * For docker-compose: `$ docker-compose up parse` + * For manual execution (mount the directories if needed): `docker run --name parse bitnami/parse:latest` ## Configuration @@ -191,7 +191,7 @@ You can use these snapshots to restore the application state should the upgrade When you start the parse 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/parse/docker-compose.yml) file present in this repository: +* 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/parse/docker-compose.yml) file present in this repository: ```yaml parse: @@ -201,46 +201,46 @@ parse: ... ``` - * For manual execution add a `-e` option with each variable and value: +* For manual execution add a `-e` option with each variable and value: ```console - $ docker run -d -e PARSE_HOST=my_host -p 1337:1337 --name parse -v /your/local/path/bitnami/parse:/bitnami --network=parse_network bitnami/parse + docker run -d -e PARSE_HOST=my_host -p 1337:1337 --name parse -v /your/local/path/bitnami/parse:/bitnami --network=parse_network bitnami/parse ``` Available environment variables: -###### User and Site configuration +#### User and Site configuration -- `PARSE_ENABLE_HTTPS`: Whether to enable HTTPS for Parse by default. Default: **no** -- `PARSE_BIND_HOST`: Parse bind host. Default: **127.0.0.1** -- `PARSE_HOST`: Parse server host. Default: **127.0.0.1** -- `PARSE_PORT_NUMBER_NUMBER`: Parse server port. Default: **1337** -- `PARSE_APP_ID`: Parse app ID. Default: **myappID** -- `PARSE_MASTER_KEY`: Parse master key: **mymasterKey** -- `PARSE_APP_NAME`: Parse app name. Default: **myappID** -- `PARSE_MOUNT_PATH`: Parse server mount path. Default: **/parse** -- `PARSE_ENABLE_CLOUD_CODE`: Enable Parse cloud code support. Default **no** +* `PARSE_ENABLE_HTTPS`: Whether to enable HTTPS for Parse by default. Default: **no** +* `PARSE_BIND_HOST`: Parse bind host. Default: **127.0.0.1** +* `PARSE_HOST`: Parse server host. Default: **127.0.0.1** +* `PARSE_PORT_NUMBER_NUMBER`: Parse server port. Default: **1337** +* `PARSE_APP_ID`: Parse app ID. Default: **myappID** +* `PARSE_MASTER_KEY`: Parse master key: **mymasterKey** +* `PARSE_APP_NAME`: Parse app name. Default: **myappID** +* `PARSE_MOUNT_PATH`: Parse server mount path. Default: **/parse** +* `PARSE_ENABLE_CLOUD_CODE`: Enable Parse cloud code support. Default **no** -###### Database connection configuration +#### Database connection configuration -- `PARSE_DATABASE_HOST`: Hostname for the MongoDB server. Default: **mongodb** -- `PARSE_DATABASE_PORT_NUMBER`: Port used by the MongoDB server. Default: **27017** -- `PARSE_DATABASE_NAME`: Database name that Parse will use to connect with the database. Default: **bitnami_parse** -- `PARSE_DATABASE_USER`: Database user that Parse will use to connect with the database. Default: **bn_parse** -- `PARSE_DATABASE_PASSWORD`: Database password that Parse will use to connect with the database. No default. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `PARSE_DATABASE_HOST`: Hostname for the MongoDB server. Default: **mongodb** +* `PARSE_DATABASE_PORT_NUMBER`: Port used by the MongoDB server. Default: **27017** +* `PARSE_DATABASE_NAME`: Database name that Parse will use to connect with the database. Default: **bitnami_parse** +* `PARSE_DATABASE_USER`: Database user that Parse will use to connect with the database. Default: **bn_parse** +* `PARSE_DATABASE_PASSWORD`: Database password that Parse will use to connect with the database. No default. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -###### Create a MongoDB database using mongodb-shell +#### Create a MongoDB database using mongodb-shell -- `MONGODB_SHELL_DATABASE_HOST`: Hostname for the MongoDB server. Default: **mongodb** -- `MONGODB_SHELL_DATABASE_PORT_NUMBER`: Port used by the MongoDB server. Default: **27017** -- `MONGODB_SHELL_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MONGODB_SHELL_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MONGODB_SHELL_CREATE_DATABASE_NAME`: New database to be created by the mongodb-shell module. No defaults. -- `MONGODB_SHELL_CREATE_DATABASE_USERNAME`: New database user to be created by the mongodb-shell module. No defaults. -- `MONGODB_SHELL_CREATE_DATABASE_PASSWORD`: Database password for the `MONGODB_SHELL_CREATE_DATABASE_USERNAME` user. No defaults. -- `MONGODB_SHELL_EXTRA_FLAGS`: Extra flags when using the mongodb-shell during initialization. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MONGODB_SHELL_DATABASE_HOST`: Hostname for the MongoDB server. Default: **mongodb** +* `MONGODB_SHELL_DATABASE_PORT_NUMBER`: Port used by the MongoDB server. Default: **27017** +* `MONGODB_SHELL_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MONGODB_SHELL_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MONGODB_SHELL_CREATE_DATABASE_NAME`: New database to be created by the mongodb-shell module. No defaults. +* `MONGODB_SHELL_CREATE_DATABASE_USERNAME`: New database user to be created by the mongodb-shell module. No defaults. +* `MONGODB_SHELL_CREATE_DATABASE_PASSWORD`: Database password for the `MONGODB_SHELL_CREATE_DATABASE_USERNAME` user. No defaults. +* `MONGODB_SHELL_EXTRA_FLAGS`: Extra flags when using the mongodb-shell during initialization. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** ### How to deploy your Cloud functions with Parse Cloud Code? @@ -249,8 +249,8 @@ You can use Cloud Code to run a piece of code in your Parse Server instead of th * Create a directory on your host machine and put your Cloud functions on it. In the example below, a simple "Hello world!" function is used: ```console -$ mkdir ~/cloud -$ cat > ~/cloud/main.js <<'EOF' +mkdir ~/cloud +cat > ~/cloud/main.js <<'EOF' Parse.Cloud.define("sayHelloWorld", function(request, response) { return "Hello world!"; }); @@ -299,7 +299,7 @@ volumes: * Use the `docker-compose` tool to deploy Parse and Parse Dashboard: ```console -$ docker-compose up -d +docker-compose up -d ``` * Once both Parse and Parse Dashboard are running, access Parse Dashboard and browse to 'My Dashboard -> API Console'. @@ -312,16 +312,16 @@ Find more information about Cloud Code and Cloud functions in the [official docu ### 4.9.3 -- This version was released from an incorrect version tag from the upstream Parse repositories. Parse developers have reported issues in some functionalities, though no concerns in regards to privacy, security, or legality were found. As such, we strongly recommend updating this version as soon as possible. You can find more information in [Parse 4.10.0 Release Notes](https://github.com/parse-community/parse-server/releases/tag/4.10.0) +* This version was released from an incorrect version tag from the upstream Parse repositories. Parse developers have reported issues in some functionalities, though no concerns in regards to privacy, security, or legality were found. As such, we strongly recommend updating this version as soon as possible. You can find more information in [Parse 4.10.0 Release Notes](https://github.com/parse-community/parse-server/releases/tag/4.10.0) ### 4.9.3-debian-10-r161 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. ### 3.1.2-r14 -- The Parse container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Parse daemon was started as the `parse` user. From now on, both the container and the Parse daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Parse container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Parse daemon was started as the `parse` user. From now on, both the container and the Parse daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ## Contributing @@ -339,7 +339,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/percona-mysql/README.md b/bitnami/percona-mysql/README.md index 20ea28e58772..bdbf126e654f 100644 --- a/bitnami/percona-mysql/README.md +++ b/bitnami/percona-mysql/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name percona-mysql bitnami/percona-mysql:latest +docker run --name percona-mysql bitnami/percona-mysql:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami percona-mysql Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/percona-mysql). ```console -$ docker pull bitnami/percona-mysql:latest +docker pull bitnami/percona-mysql:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/percona-mysql/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/percona-mysql:[TAG] +docker pull bitnami/percona-mysql:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Contributing @@ -69,7 +69,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/percona-xtrabackup/README.md b/bitnami/percona-xtrabackup/README.md index 34093663d5b1..59d8a29529af 100644 --- a/bitnami/percona-xtrabackup/README.md +++ b/bitnami/percona-xtrabackup/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name percona-xtrabackup bitnami/percona-xtrabackup:latest +docker run --name percona-xtrabackup bitnami/percona-xtrabackup:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami percona-xtrabackup Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/percona-xtrabackup). ```console -$ docker pull bitnami/percona-xtrabackup:latest +docker pull bitnami/percona-xtrabackup:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/percona-xtrabackup/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/percona-xtrabackup:[TAG] +docker pull bitnami/percona-xtrabackup:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`. The container has the Percona XtraBackup tools `xtrabackup`, `xbstream`, `xbcrypt` and `xbcloud`. For example, to run `xtrabackup --version` you can follow the example below: ```console -$ docker run --rm --name percona-xtrabackup bitnami/percona-xtrabackup:latest -- xtrabackup --version +docker run --rm --name percona-xtrabackup bitnami/percona-xtrabackup:latest -- xtrabackup --version ``` Check the [official percona-xtrabackup documentation](https://www.percona.com/doc/percona-xtrabackup/LATEST/manual.html) for a list of the available parameters. @@ -81,7 +81,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/pgbouncer/README.md b/bitnami/pgbouncer/README.md index e75759f27fc1..3309ec11ebe8 100644 --- a/bitnami/pgbouncer/README.md +++ b/bitnami/pgbouncer/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name pgbouncer bitnami/pgbouncer:latest +docker run --name pgbouncer bitnami/pgbouncer:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/pgbouncer/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/pgbouncer/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami pgbouncer Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/pgbouncer). ```console -$ docker pull bitnami/pgbouncer:latest +docker pull bitnami/pgbouncer:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/pgbouncer/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/pgbouncer:[TAG] +docker pull bitnami/pgbouncer:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -80,57 +80,57 @@ The authentication mode can be set using the `PGBOUNCER_AUTH_TYPE` variable, whi The Bitnami PgBouncer container requires a running PostgreSQL installation to connect to. This is configured with the following environment variables. -- `POSTGRESQL_USERNAME`: Backend PostgreSQL username. Default: **postgres**. -- `POSTGRESQL_PASSWORD`: Backend PostgreSQL password. No defaults. -- `POSTGRESQL_DATABASE`: Backend PostgreSQL Database name to connect to. Default: **postgres**. -- `POSTGRESQL_HOST`: Backend PostgreSQL hostname. Default: **postgresql**. -- `POSTGRESQL_PORT`: Backend PostgreSQL port. Default: **5432**. -- `PGBOUNCER_SET_DATABASE_USER`: Whether to include the backend PostgreSQL username in the database string. Default **no**. -- `PGBOUNCER_SET_DATABASE_PASSWORD`: Whether to include the backend PostgreSQL password in the database string. Default **no**. -- `PGBOUNCER_CONNECT_QUERY`: Query which will be executed after a connection is established. No Defaults. +* `POSTGRESQL_USERNAME`: Backend PostgreSQL username. Default: **postgres**. +* `POSTGRESQL_PASSWORD`: Backend PostgreSQL password. No defaults. +* `POSTGRESQL_DATABASE`: Backend PostgreSQL Database name to connect to. Default: **postgres**. +* `POSTGRESQL_HOST`: Backend PostgreSQL hostname. Default: **postgresql**. +* `POSTGRESQL_PORT`: Backend PostgreSQL port. Default: **5432**. +* `PGBOUNCER_SET_DATABASE_USER`: Whether to include the backend PostgreSQL username in the database string. Default **no**. +* `PGBOUNCER_SET_DATABASE_PASSWORD`: Whether to include the backend PostgreSQL password in the database string. Default **no**. +* `PGBOUNCER_CONNECT_QUERY`: Query which will be executed after a connection is established. No Defaults. ### Port and address binding The listening port and listening address can be configured with the following environment variables: -- `PGBOUNCER_PORT`: PgBouncer port. Default: **6432**. -- `PGBOUNCER_BIND_ADDRESS`: PgBouncer bind address. Default: **0.0.0.0**. +* `PGBOUNCER_PORT`: PgBouncer port. Default: **6432**. +* `PGBOUNCER_BIND_ADDRESS`: PgBouncer bind address. Default: **0.0.0.0**. ### Extra arguments to PgBouncer startup In case you want to add extra flags to the PgBouncer command, use the `PGBOUNCER_EXTRA_FLAGS` variable. Example: ```console -$ docker run --name pgbouncer \ +docker run --name pgbouncer \ -e PGBOUNCER_EXTRA_FLAGS="--verbose" \ bitnami/pgbouncer:latest ``` ### Exposed database -- `PGBOUNCER_DATABASE`: PgBouncer exposed database. Default: **postgres**. +* `PGBOUNCER_DATABASE`: PgBouncer exposed database. Default: **postgres**. In case you'd like pgbouncer to expose your database with a different name, you can use the `PGBOUNCER_DATABASE` variable. To expose the same database name as the backend, set `PGBOUNCER_DATABASE="$POSTGRESQL_DATABASE"`. ### Other options -- `PGBOUNCER_AUTH_USER`: PgBouncer will use this user to connect to the database and query the PostgreSQL backend for a user and password. No defaults. -- `PGBOUNCER_AUTH_QUERY`: PgBouncer will use this query to connect to the database and query the PostgreSQL backend for a user and password. No defaults. -- `PGBOUNCER_POOL_MODE` : PgBouncer pool mode. Allowed values: session, transaction and statement. Default: **session**. -- `PGBOUNCER_INIT_SLEEP_TIME` : PgBouncer initialization sleep time. Default: **10**. -- `PGBOUNCER_INIT_MAX_RETRIES` : PgBouncer initialization maximum retries. Default: **10**. -- `PGBOUNCER_QUERY_WAIT_TIMEOUT` : PgBouncer maximum time queries are allowed to spend waiting for execution. Default: **120**. -- `PGBOUNCER_MAX_CLIENT_CONN` : PgBouncer maximum number of client connections allowed. Default: **120**. -- `PGBOUNCER_MAX_DB_CONNECTIONS` : PgBouncer maximum number of database connections allowed. Default: **0 (unlimited)**. -- `PGBOUNCER_IDLE_TRANSACTION_TIMEOUT` : PgBouncer maximum time for a client to be in "idle in transaction" state. Default: **0.0**. -- `PGBOUNCER_DEFAULT_POOL_SIZE` : PgBouncer maximum server connections to allow per user/database pair. Default: **20**. -- `PGBOUNCER_MIN_POOL_SIZE` : PgBouncer has at least this amount of open connections. Default: **0 (disabled)**. -- `PGBOUNCER_RESERVE_POOL_SIZE` : PgBouncer allows this amount of additional connections. Default: **0 (disabled)**. -- `PGBOUNCER_IGNORE_STARTUP_PARAMETERS`: you can use this to set `ignore_startup_parameters` in the auto-generated `pgbouncer.ini`. This can be useful for solving certain connection issues. See https://www.pgbouncer.org/config.html for more details. -- `PGBOUNCER_SERVER_IDLE_TIMEOUT`: PgBouncer maximum time in seconds a server connection can be idle. If 0 then the timeout is disabled. Default: **600** -- `PGBOUNCER_SERVER_RESET_QUERY`: PgBouncer query sent to server on connection release before making it available to other clients. Default: **DISCARD ALL** -- `PGBOUNCER_STATS_USERS`: PgBouncer comma-separated list of database users that are allowed to connect and run read-only queries. No defaults. +* `PGBOUNCER_AUTH_USER`: PgBouncer will use this user to connect to the database and query the PostgreSQL backend for a user and password. No defaults. +* `PGBOUNCER_AUTH_QUERY`: PgBouncer will use this query to connect to the database and query the PostgreSQL backend for a user and password. No defaults. +* `PGBOUNCER_POOL_MODE` : PgBouncer pool mode. Allowed values: session, transaction and statement. Default: **session**. +* `PGBOUNCER_INIT_SLEEP_TIME` : PgBouncer initialization sleep time. Default: **10**. +* `PGBOUNCER_INIT_MAX_RETRIES` : PgBouncer initialization maximum retries. Default: **10**. +* `PGBOUNCER_QUERY_WAIT_TIMEOUT` : PgBouncer maximum time queries are allowed to spend waiting for execution. Default: **120**. +* `PGBOUNCER_MAX_CLIENT_CONN` : PgBouncer maximum number of client connections allowed. Default: **120**. +* `PGBOUNCER_MAX_DB_CONNECTIONS` : PgBouncer maximum number of database connections allowed. Default: **0 (unlimited)**. +* `PGBOUNCER_IDLE_TRANSACTION_TIMEOUT` : PgBouncer maximum time for a client to be in "idle in transaction" state. Default: **0.0**. +* `PGBOUNCER_DEFAULT_POOL_SIZE` : PgBouncer maximum server connections to allow per user/database pair. Default: **20**. +* `PGBOUNCER_MIN_POOL_SIZE` : PgBouncer has at least this amount of open connections. Default: **0 (disabled)**. +* `PGBOUNCER_RESERVE_POOL_SIZE` : PgBouncer allows this amount of additional connections. Default: **0 (disabled)**. +* `PGBOUNCER_IGNORE_STARTUP_PARAMETERS`: you can use this to set `ignore_startup_parameters` in the auto-generated `pgbouncer.ini`. This can be useful for solving certain connection issues. See for more details. +* `PGBOUNCER_SERVER_IDLE_TIMEOUT`: PgBouncer maximum time in seconds a server connection can be idle. If 0 then the timeout is disabled. Default: **600** +* `PGBOUNCER_SERVER_RESET_QUERY`: PgBouncer query sent to server on connection release before making it available to other clients. Default: **DISCARD ALL** +* `PGBOUNCER_STATS_USERS`: PgBouncer comma-separated list of database users that are allowed to connect and run read-only queries. No defaults. ### Initializing a new instance @@ -139,7 +139,7 @@ When the container is launched, it will execute the files with extension `.sh` l In order to have your custom files inside the docker image you can mount them as a volume. ```console -$ docker run --name pgbouncer \ +docker run --name pgbouncer \ -v /path/to/init-scripts:/docker-entrypoint-initdb.d \ bitnami/pgbouncer:latest ``` @@ -157,25 +157,25 @@ pgbouncer: PgBouncer supports the encryption of connections using the SSL/TLS protocol. Should you desire to enable this optional feature, you may use the following environment variables to configure the application: - - `PGBOUNCER_CLIENT_TLS_SSLMODE`: TLS traffic settings. Defaults to `disable`. Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `client_tls_sslmode`. - - `PGBOUNCER_CLIENT_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. - - `PGBOUNCER_CLIENT_TLS_KEY_FILE`: File containing the key for certificate. No defaults. - - `PGBOUNCER_CLIENT_TLS_CA_FILE`: File containing the CA of the certificate. If provided, PgBouncer will authenticate TLS/SSL clients by requesting them a certificate . No defaults. - - `PGBOUNCER_CLIENT_TLS_CIPHERS`: TLS ciphers to be used. Defaults to `fast`.Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `client_tls_ciphers`. +* `PGBOUNCER_CLIENT_TLS_SSLMODE`: TLS traffic settings. Defaults to `disable`. Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `client_tls_sslmode`. +* `PGBOUNCER_CLIENT_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. +* `PGBOUNCER_CLIENT_TLS_KEY_FILE`: File containing the key for certificate. No defaults. +* `PGBOUNCER_CLIENT_TLS_CA_FILE`: File containing the CA of the certificate. If provided, PgBouncer will authenticate TLS/SSL clients by requesting them a certificate . No defaults. +* `PGBOUNCER_CLIENT_TLS_CIPHERS`: TLS ciphers to be used. Defaults to `fast`.Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `client_tls_ciphers`. - - `PGBOUNCER_SERVER_TLS_SSLMODE`: Server TLS traffic settings. Defaults to `disable`. Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `server_tls_sslmode`. - - `PGBOUNCER_SERVER_TLS_KEY_FILE`: File containing the key to authenticate against PostgreSQL server. No defaults. - - `PGBOUNCER_SERVER_TLS_CERT_FILE`: File containing the certificate associated to previous private key. PostgreSQL server can validate it. No defaults. - - `PGBOUNCER_SERVER_TLS_CA_FILE`: File containing the CA of the server certificate. If provided, PgBouncer will authenticate TLS/SSL clients by requesting them a certificate . No defaults. - - `PGBOUNCER_SERVER_TLS_PROTOCOLS`: TLS protocols to be used in server connection. Defaults to `secure`. Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `server_tls_protocols`. - - `PGBOUNCER_SERVER_TLS_CIPHERS`: TLS ciphers to be used in server connection. Defaults to `fast`. Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `server_tls_ciphers`. +* `PGBOUNCER_SERVER_TLS_SSLMODE`: Server TLS traffic settings. Defaults to `disable`. Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `server_tls_sslmode`. +* `PGBOUNCER_SERVER_TLS_KEY_FILE`: File containing the key to authenticate against PostgreSQL server. No defaults. +* `PGBOUNCER_SERVER_TLS_CERT_FILE`: File containing the certificate associated to previous private key. PostgreSQL server can validate it. No defaults. +* `PGBOUNCER_SERVER_TLS_CA_FILE`: File containing the CA of the server certificate. If provided, PgBouncer will authenticate TLS/SSL clients by requesting them a certificate . No defaults. +* `PGBOUNCER_SERVER_TLS_PROTOCOLS`: TLS protocols to be used in server connection. Defaults to `secure`. Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `server_tls_protocols`. +* `PGBOUNCER_SERVER_TLS_CIPHERS`: TLS ciphers to be used in server connection. Defaults to `fast`. Check the [official PgBouncer documentation](https://www.pgbouncer.org/config.html) for the available values for `server_tls_ciphers`. When enabling TLS, PgBouncer will support both standard and encrypted traffic by default but prefer the latter. Below there are some examples of how to quickly set up client TLS traffic: 1. Using `docker run` ```console - $ docker run \ + docker run \ -v /path/to/certs:/opt/bitnami/pgbouncer/certs \ -e PGBOUNCER_CLIENT_TLS_SSLMODE=require \ -e PGBOUNCER_CLIENT_TLS_CERT_FILE=/opt/bitnami/pgbouncer/certs/pgbouncer.crt \ @@ -215,6 +215,7 @@ The image looks for `pgbouncer.ini` file in `/opt/bitnami/pgbouncer/conf/`. You ``` As PgBouncer image is non-root, you need to set the proper permissions to the mounted directory in your host: + ```console sudo chown 1001:1001 /path/to/pgbouncer-persistence/conf/ ``` @@ -224,7 +225,7 @@ sudo chown 1001:1001 /path/to/pgbouncer-persistence/conf/ Run the PgBouncer image, mounting a directory from your host. ```console -$ docker run --name pgbouncer \ +docker run --name pgbouncer \ -v /path/to/pgbouncer-persistence/conf/:/bitnami/pgbouncer/conf/ \ bitnami/pgbouncer:latest ``` @@ -258,13 +259,13 @@ vi /path/to/pgbouncer-persistence/conf/pgbouncer.ini After changing the configuration, restart your PgBouncer container for changes to take effect. ```console -$ docker restart pgbouncer +docker restart pgbouncer ``` or using Docker Compose: ```console -$ docker-compose restart pgbouncer +docker-compose restart pgbouncer ``` Refer to the [server configuration](https://www.pgbouncer.org/usage.html) manual for the complete list of configuration options. @@ -285,7 +286,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/pgpool/README.md b/bitnami/pgpool/README.md index 0520e06fa837..132203e39754 100644 --- a/bitnami/pgpool/README.md +++ b/bitnami/pgpool/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/pgpool/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/pgpool/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -51,21 +51,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Pgpool-II Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/pgpool). ```console -$ docker pull bitnami/pgpool:latest +docker pull bitnami/pgpool:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/pgpool/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/pgpool:[TAG] +docker pull bitnami/pgpool:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -81,7 +81,7 @@ In this example, we will create a PostgreSQL client instance that will connect t #### Step 1: Create a network ```console -$ docker network create my-network --driver bridge +docker network create my-network --driver bridge ``` #### Step 2: Launch 2 postgresql-repmgr containers to be used as backend within your network @@ -89,7 +89,7 @@ $ docker network create my-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run --detach --rm --name pg-0 \ +docker run --detach --rm --name pg-0 \ --network my-network \ --env REPMGR_PARTNER_NODES=pg-0,pg-1 \ --env REPMGR_NODE_NAME=pg-0 \ @@ -101,7 +101,7 @@ $ docker run --detach --rm --name pg-0 \ --env POSTGRESQL_PASSWORD=custompassword \ --env POSTGRESQL_DATABASE=customdatabase \ bitnami/postgresql-repmgr:latest -$ docker run --detach --rm --name pg-1 \ +docker run --detach --rm --name pg-1 \ --network my-network \ --env REPMGR_PARTNER_NODES=pg-0,pg-1 \ --env REPMGR_NODE_NAME=pg-1 \ @@ -120,7 +120,7 @@ $ docker run --detach --rm --name pg-1 \ Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run --detach --rm --name pgpool \ +docker run --detach --rm --name pgpool \ --network my-network \ --env PGPOOL_BACKEND_NODES=0:pg-0:5432,1:pg-1:5432 \ --env PGPOOL_SR_CHECK_USER=customuser \ @@ -138,7 +138,7 @@ $ docker run --detach --rm --name pgpool \ Finally we create a new container instance to launch the PostgreSQL client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network my-network \ bitnami/postgresql:10 \ psql -h pgpool -U customuser -d customdatabase @@ -224,7 +224,7 @@ volumes: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -235,82 +235,77 @@ A HA PostgreSQL cluster with Pgpool, [Streaming replication](https://www.postgre Pgpool configuration: -- `PGPOOL_PASSWORD_FILE`: Path to a file that contains the password for the custom user set in the `PGPOOL_USERNAME` environment variable. This will override the value specified in `PGPOOL_PASSWORD`. No defaults. -- `PGPOOL_SR_CHECK_PERIOD`: Specifies the time interval in seconds to check the streaming replication delay. Defaults to `30`. -- `PGPOOL_SR_CHECK_USER`: Username to use to perform streaming checks. This is the user that is used to check that streaming replication is working. Typically, this is the user owner of the 'repmgr' database. No defaults. -- `PGPOOL_SR_CHECK_PASSWORD`: Password to use to perform streaming checks. No defaults. -- `PGPOOL_SR_CHECK_PASSWORD_FILE`: Path to a file that contains the password to use to perform streaming checks. This will override the value specified in `PGPOOL_SR_CHECK_PASSWORD`. No defaults. -- `PGPOOL_SR_CHECK_DATABASE`: Database to use to perform streaming checks. Defaults to `postgres`. -- `PGPOOL_BACKEND_NODES`: Comma separated list of backend nodes in the cluster. No defaults. -- `PGPOOL_ENABLE_LDAP`: Whether to enable LDAP authentication. Defaults to `no`. -- `PGPOOL_DISABLE_LOAD_BALANCE_ON_WRITE`: Specify load balance behavior after write queries appear ('off', 'transaction', 'trans_transaction', 'always'). Defaults to 'transaction' -- `PGPOOL_ENABLE_LOAD_BALANCING`: Whether to enable Load-Balancing mode. Defaults to `yes`. -- `PGPOOL_ENABLE_STATEMENT_LOAD_BALANCING`: Whether to decide the load balancing node for each read query. Defaults to `no`. -- `PGPOOL_ENABLE_POOL_HBA`: Whether to use the pool_hba.conf authentication. Defaults to `yes`. -- `PGPOOL_ENABLE_POOL_PASSWD`: Whether to use a password file specified by `PGPOOL_PASSWD_FILE` for authentication. Defaults to `yes`. -- `PGPOOL_PASSWD_FILE`: The password file for authentication. Defaults to `pool_passwd`. -- `PGPOOL_NUM_INIT_CHILDREN`: The number of preforked Pgpool-II server processes. It is also the concurrent connections limit to Pgpool-II from clients. Defaults to `32`. -- `PGPOOL_RESERVED_CONNECTIONS`: When this parameter is set to 1 or greater, incoming connections from clients are not accepted with error message "Sorry, too many clients already", rather than blocked if the number of current connections from clients is more than (num_init_children - reserved_connections). Defaults to `0`. -- `PGPOOL_MAX_POOL`: The maximum number of cached connections in each child process. Defaults to `15`. -- `PGPOOL_CHILD_MAX_CONNECTIONS`: Specifies the lifetime of a Pgpool-II child process in terms of the number of client connections it can receive. Pgpool-II will terminate the child process after it has served child_max_connections client connections and will immediately spawn a new child process to take its place. Defaults to `0` which turns off the feature. -- `PGPOOL_CHILD_LIFE_TIME`: The time in seconds to terminate a Pgpool-II child process if it remains idle. Defaults to `300`. -- `PGPOOL_CLIENT_IDLE_LIMIT`: The time in seconds to disconnect a client if it remains idle since the last query. Defaults to `0` which turns off the feature. -- `PGPOOL_CONNECTION_LIFE_TIME`: The time in seconds to terminate the cached connections to the PostgreSQL backend. Defaults to `0` which turns off the feature. -- `PGPOOL_ENABLE_LOG_PER_NODE_STATEMENT`: Log every SQL statement for each DB node separately. Defaults to `no`. -- `PGPOOL_ENABLE_LOG_CONNECTIONS`: Log all client connections. Defaults to `no`. -- `PGPOOL_ENABLE_LOG_HOSTNAME`: Log the client hostname instead of IP address. Defaults to `no`. -- `PGPOOL_LOG_LINE_PREFIX`: Define the format of the log entry lines. Find in the [official Pgpool documentation](https://www.pgpool.net/docs/latest/en/html/runtime-config-logging.html) the string parameters. No defaults. -- `PGPOOL_CLIENT_MIN_MESSAGES`: Set the minimum message levels are sent to the client. Find in the [official Pgpool documentation](https://www.pgpool.net/docs/latest/en/html/runtime-config-logging.html) the supported values. Defaults to `notice`. -- `PGPOOL_POSTGRES_USERNAME`: Postgres administrator user name, this will be use to allow postgres admin authentication through Pgpool. -- `PGPOOL_POSTGRES_PASSWORD`: Password for the user set in `PGPOOL_POSTGRES_USERNAME` environment variable. No defaults. -- `PGPOOL_ADMIN_USERNAME`: Username for the pgpool administrator. No defaults. -- `PGPOOL_ADMIN_PASSWORD`: Password for the user set in `PGPOOL_ADMIN_USERNAME` environment variable. No defaults. -- `PGPOOL_HEALTH_CHECK_USER`: Specifies the PostgreSQL user name to perform health check. Defaults to value set in `PGPOOL_SR_CHECK_USER`. -- `PGPOOL_HEALTH_CHECK_PASSWORD`: Specifies the PostgreSQL user password to perform health check. Defaults to value set in `PGPOOL_SR_CHECK_PASSWORD`. -- `PGPOOL_HEALTH_CHECK_PERIOD`: Specifies the interval between the health checks in seconds. Defaults to `30`. -- `PGPOOL_HEALTH_CHECK_TIMEOUT`: Specifies the timeout in seconds to give up connecting to the backend PostgreSQL if the TCP connect does not succeed within this time. Defaults to `10`. -- `PGPOOL_HEALTH_CHECK_MAX_RETRIES`: Specifies the maximum number of retries to do before giving up and initiating failover when health check fails. Defaults to `5`. -- `PGPOOL_HEALTH_CHECK_RETRY_DELAY`: Specifies the amount of time in seconds to sleep between failed health check retries. Defaults to `5`. -- `PGPOOL_USER_CONF_FILE`: Configuration file to be added to the generated config file. This allow to override configuration set by the initializacion process. No defaults. -- `PGPOOL_USER_HBA_FILE`: Configuration file to be added to the generated hba file. This allow to override configuration set by the initialization process. No defaults. -- `PGPOOL_POSTGRES_CUSTOM_USERS`: List of comma or semicolon separeted list of postgres usernames. This will create entries in `pgpool_passwd`. No defaults. -- `PGPOOL_POSTGRES_CUSTOM_PASSWORDS`: List of comma or semicolon separated list for postgresql user passwords. These are the corresponding passwords for the users in `PGPOOL_POSTGRES_CUSTOM_USERS`. No defaults. -- `PGPOOL_AUTO_FAILBACK`: Enables pgpool `[auto_failback](https://www.pgpool.net/docs/latest/en/html/runtime-config-failover.html)`. Default to `no`. -- `PGPOOL_BACKEND_APPLICATION_NAMES`: Comma separated list of backend nodes `application_name`. No defaults. -- `PGPOOL_AUTHENTICATION_METHOD`: Specifies the authentication method('md5', 'scram-sha-256'). Defaults to `scram-sha-256`. -- `PGPOOL_AES_KEY`: Specifies the AES encryption key used for 'scram-sha-256' passwords. Defaults to `random string`. +* `PGPOOL_PASSWORD_FILE`: Path to a file that contains the password for the custom user set in the `PGPOOL_USERNAME` environment variable. This will override the value specified in `PGPOOL_PASSWORD`. No defaults. +* `PGPOOL_SR_CHECK_PERIOD`: Specifies the time interval in seconds to check the streaming replication delay. Defaults to `30`. +* `PGPOOL_SR_CHECK_USER`: Username to use to perform streaming checks. This is the user that is used to check that streaming replication is working. Typically, this is the user owner of the 'repmgr' database. No defaults. +* `PGPOOL_SR_CHECK_PASSWORD`: Password to use to perform streaming checks. No defaults. +* `PGPOOL_SR_CHECK_PASSWORD_FILE`: Path to a file that contains the password to use to perform streaming checks. This will override the value specified in `PGPOOL_SR_CHECK_PASSWORD`. No defaults. +* `PGPOOL_SR_CHECK_DATABASE`: Database to use to perform streaming checks. Defaults to `postgres`. +* `PGPOOL_BACKEND_NODES`: Comma separated list of backend nodes in the cluster. No defaults. +* `PGPOOL_ENABLE_LDAP`: Whether to enable LDAP authentication. Defaults to `no`. +* `PGPOOL_DISABLE_LOAD_BALANCE_ON_WRITE`: Specify load balance behavior after write queries appear ('off', 'transaction', 'trans_transaction', 'always'). Defaults to 'transaction' +* `PGPOOL_ENABLE_LOAD_BALANCING`: Whether to enable Load-Balancing mode. Defaults to `yes`. +* `PGPOOL_ENABLE_STATEMENT_LOAD_BALANCING`: Whether to decide the load balancing node for each read query. Defaults to `no`. +* `PGPOOL_ENABLE_POOL_HBA`: Whether to use the pool_hba.conf authentication. Defaults to `yes`. +* `PGPOOL_ENABLE_POOL_PASSWD`: Whether to use a password file specified by `PGPOOL_PASSWD_FILE` for authentication. Defaults to `yes`. +* `PGPOOL_PASSWD_FILE`: The password file for authentication. Defaults to `pool_passwd`. +* `PGPOOL_NUM_INIT_CHILDREN`: The number of preforked Pgpool-II server processes. It is also the concurrent connections limit to Pgpool-II from clients. Defaults to `32`. +* `PGPOOL_RESERVED_CONNECTIONS`: When this parameter is set to 1 or greater, incoming connections from clients are not accepted with error message "Sorry, too many clients already", rather than blocked if the number of current connections from clients is more than (num_init_children - reserved_connections). Defaults to `0`. +* `PGPOOL_MAX_POOL`: The maximum number of cached connections in each child process. Defaults to `15`. +* `PGPOOL_CHILD_MAX_CONNECTIONS`: Specifies the lifetime of a Pgpool-II child process in terms of the number of client connections it can receive. Pgpool-II will terminate the child process after it has served child_max_connections client connections and will immediately spawn a new child process to take its place. Defaults to `0` which turns off the feature. +* `PGPOOL_CHILD_LIFE_TIME`: The time in seconds to terminate a Pgpool-II child process if it remains idle. Defaults to `300`. +* `PGPOOL_CLIENT_IDLE_LIMIT`: The time in seconds to disconnect a client if it remains idle since the last query. Defaults to `0` which turns off the feature. +* `PGPOOL_CONNECTION_LIFE_TIME`: The time in seconds to terminate the cached connections to the PostgreSQL backend. Defaults to `0` which turns off the feature. +* `PGPOOL_ENABLE_LOG_PER_NODE_STATEMENT`: Log every SQL statement for each DB node separately. Defaults to `no`. +* `PGPOOL_ENABLE_LOG_CONNECTIONS`: Log all client connections. Defaults to `no`. +* `PGPOOL_ENABLE_LOG_HOSTNAME`: Log the client hostname instead of IP address. Defaults to `no`. +* `PGPOOL_LOG_LINE_PREFIX`: Define the format of the log entry lines. Find in the [official Pgpool documentation](https://www.pgpool.net/docs/latest/en/html/runtime-config-logging.html) the string parameters. No defaults. +* `PGPOOL_CLIENT_MIN_MESSAGES`: Set the minimum message levels are sent to the client. Find in the [official Pgpool documentation](https://www.pgpool.net/docs/latest/en/html/runtime-config-logging.html) the supported values. Defaults to `notice`. +* `PGPOOL_POSTGRES_USERNAME`: Postgres administrator user name, this will be use to allow postgres admin authentication through Pgpool. +* `PGPOOL_POSTGRES_PASSWORD`: Password for the user set in `PGPOOL_POSTGRES_USERNAME` environment variable. No defaults. +* `PGPOOL_ADMIN_USERNAME`: Username for the pgpool administrator. No defaults. +* `PGPOOL_ADMIN_PASSWORD`: Password for the user set in `PGPOOL_ADMIN_USERNAME` environment variable. No defaults. +* `PGPOOL_HEALTH_CHECK_USER`: Specifies the PostgreSQL user name to perform health check. Defaults to value set in `PGPOOL_SR_CHECK_USER`. +* `PGPOOL_HEALTH_CHECK_PASSWORD`: Specifies the PostgreSQL user password to perform health check. Defaults to value set in `PGPOOL_SR_CHECK_PASSWORD`. +* `PGPOOL_HEALTH_CHECK_PERIOD`: Specifies the interval between the health checks in seconds. Defaults to `30`. +* `PGPOOL_HEALTH_CHECK_TIMEOUT`: Specifies the timeout in seconds to give up connecting to the backend PostgreSQL if the TCP connect does not succeed within this time. Defaults to `10`. +* `PGPOOL_HEALTH_CHECK_MAX_RETRIES`: Specifies the maximum number of retries to do before giving up and initiating failover when health check fails. Defaults to `5`. +* `PGPOOL_HEALTH_CHECK_RETRY_DELAY`: Specifies the amount of time in seconds to sleep between failed health check retries. Defaults to `5`. +* `PGPOOL_USER_CONF_FILE`: Configuration file to be added to the generated config file. This allow to override configuration set by the initializacion process. No defaults. +* `PGPOOL_USER_HBA_FILE`: Configuration file to be added to the generated hba file. This allow to override configuration set by the initialization process. No defaults. +* `PGPOOL_POSTGRES_CUSTOM_USERS`: List of comma or semicolon separeted list of postgres usernames. This will create entries in `pgpool_passwd`. No defaults. +* `PGPOOL_POSTGRES_CUSTOM_PASSWORDS`: List of comma or semicolon separated list for postgresql user passwords. These are the corresponding passwords for the users in `PGPOOL_POSTGRES_CUSTOM_USERS`. No defaults. +* `PGPOOL_AUTO_FAILBACK`: Enables pgpool `[auto_failback](https://www.pgpool.net/docs/latest/en/html/runtime-config-failover.html)`. Default to `no`. +* `PGPOOL_BACKEND_APPLICATION_NAMES`: Comma separated list of backend nodes `application_name`. No defaults. +* `PGPOOL_AUTHENTICATION_METHOD`: Specifies the authentication method('md5', 'scram-sha-256'). Defaults to `scram-sha-256`. +* `PGPOOL_AES_KEY`: Specifies the AES encryption key used for 'scram-sha-256' passwords. Defaults to `random string`. PostgreSQL with Replication Manager: -- `POSTGRESQL_POSTGRES_PASSWORD`: Password for `postgres` user. No defaults. -- `POSTGRESQL_POSTGRES_PASSWORD_FILE`: Path to a file that contains the `postgres` user password. This will override the value specified in `POSTGRESQL_POSTGRES_PASSWORD`. No defaults. -- `POSTGRESQL_USERNAME`: Custom user to access the database. No defaults. -- `POSTGRESQL_DATABASE`: Custom database to be created on first run. No defaults. -- `POSTGRESQL_PASSWORD`: Password for the custom user set in the `POSTGRESQL_USERNAME` environment variable. No defaults. -- `POSTGRESQL_PASSWORD_FILE`: Path to a file that contains the password for the custom user set in the `POSTGRESQL_USERNAME` environment variable. This will override the value specified in `POSTGRESQL_PASSWORD`. No defaults. -- `REPMGR_USERNAME`: Username for `repmgr` user. Defaults to `repmgr`. -- `REPMGR_PASSWORD_FILE`: Path to a file that contains the `repmgr` user password. This will override the value specified in `REPMGR_PASSWORD`. No defaults. -- `REPMGR_PASSWORD`: Password for `repmgr` user. No defaults. -- `REPMGR_PRIMARY_HOST`: Hostname of the initial primary node. No defaults. -- `REPMGR_PARTNER_NODES`: Comma separated list of partner nodes in the cluster. No defaults. -- `REPMGR_NODE_NAME`: Node name. No defaults. -- `REPMGR_NODE_NETWORK_NAME`: Node hostname. No defaults. -- `POSTGRESQL_CLUSTER_APP_NAME`: Node `application_name`. In the case you are enabling auto_failback, each node needs a different name. Defaults to `walreceiver`. +* `POSTGRESQL_POSTGRES_PASSWORD`: Password for `postgres` user. No defaults. +* `POSTGRESQL_POSTGRES_PASSWORD_FILE`: Path to a file that contains the `postgres` user password. This will override the value specified in `POSTGRESQL_POSTGRES_PASSWORD`. No defaults. +* `POSTGRESQL_USERNAME`: Custom user to access the database. No defaults. +* `POSTGRESQL_DATABASE`: Custom database to be created on first run. No defaults. +* `POSTGRESQL_PASSWORD`: Password for the custom user set in the `POSTGRESQL_USERNAME` environment variable. No defaults. +* `POSTGRESQL_PASSWORD_FILE`: Path to a file that contains the password for the custom user set in the `POSTGRESQL_USERNAME` environment variable. This will override the value specified in `POSTGRESQL_PASSWORD`. No defaults. +* `REPMGR_USERNAME`: Username for `repmgr` user. Defaults to `repmgr`. +* `REPMGR_PASSWORD_FILE`: Path to a file that contains the `repmgr` user password. This will override the value specified in `REPMGR_PASSWORD`. No defaults. +* `REPMGR_PASSWORD`: Password for `repmgr` user. No defaults. +* `REPMGR_PRIMARY_HOST`: Hostname of the initial primary node. No defaults. +* `REPMGR_PARTNER_NODES`: Comma separated list of partner nodes in the cluster. No defaults. +* `REPMGR_NODE_NAME`: Node name. No defaults. +* `REPMGR_NODE_NETWORK_NAME`: Node hostname. No defaults. +* `POSTGRESQL_CLUSTER_APP_NAME`: Node `application_name`. In the case you are enabling auto_failback, each node needs a different name. Defaults to `walreceiver`. In a HA PostgreSQL cluster you can have one primary and zero or more standby nodes. The primary node is in read-write mode, while the standby nodes are in read-only mode. For best performance its advisable to limit the reads to the standby nodes. -#### Step 1: Create a network - -```console -$ docker network create my-network --driver bridge -``` - -#### Step 2: Create the initial primary node +#### Step 1: Create a network and the initial primary node The first step is to start the initial primary node: ```console -$ docker run --detach --name pg-0 \ +docker network create my-network --driver bridge +docker run --detach --name pg-0 \ --network my-network \ --env REPMGR_PARTNER_NODES=pg-0,pg-1 \ --env REPMGR_NODE_NAME=pg-0 \ @@ -324,12 +319,12 @@ $ docker run --detach --name pg-0 \ bitnami/postgresql-repmgr:latest ``` -#### Step 3: Create a standby node +#### Step 2: Create a standby node Next we start a standby node: ```console -$ docker run --detach --name pg-1 \ +docker run --detach --name pg-1 \ --network my-network \ --env REPMGR_PARTNER_NODES=pg-0,pg-1 \ --env REPMGR_NODE_NAME=pg-1 \ @@ -344,10 +339,10 @@ $ docker run --detach --name pg-1 \ bitnami/postgresql-repmgr:latest ``` -#### Step 4: Create the pgpool instance +#### Step 3: Create the pgpool instance ```console -$ docker run --detach --rm --name pgpool \ +docker run --detach --rm --name pgpool \ --network my-network \ --env PGPOOL_BACKEND_NODES=0:pg-0:5432,1:pg-1:5432 \ --env PGPOOL_SR_CHECK_USER=postgres \ @@ -369,8 +364,8 @@ If the master goes down, **repmgr** will ensure any of the standby nodes takes t With Docker Compose the HA PostgreSQL cluster can be setup using the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/pgpool/docker-compose.yml) file present in this repository: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/pgpool/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/pgpool/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Initializing with custom scripts @@ -394,18 +389,18 @@ In order to have your custom files inside the docker image you can mount them as Pgpool supports the encryption of connections using the SSL/TLS protocol. Should you desire to enable this optional feature, you may use the following environment variables to configure the application: - - `PGPOOL_ENABLE_TLS`: Whether to enable TLS for traffic or not. Defaults to `no`. - - `PGPOOL_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. - - `PGPOOL_TLS_KEY_FILE`: File containing the key for certificate. No defaults. - - `PGPOOL_TLS_CA_FILE`: File containing the CA of the certificate. If provided, Pgpool will authenticate TLS/SSL clients by requesting them a certificate (see [ref](https://www.pgpool.net/docs/latest/en/html/runtime-ssl.html)). No defaults. - - `PGPOOL_TLS_PREFER_SERVER_CIPHERS`: Whether to use the server's TLS cipher preferences rather than the client's. Defaults to `yes`. +* `PGPOOL_ENABLE_TLS`: Whether to enable TLS for traffic or not. Defaults to `no`. +* `PGPOOL_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. +* `PGPOOL_TLS_KEY_FILE`: File containing the key for certificate. No defaults. +* `PGPOOL_TLS_CA_FILE`: File containing the CA of the certificate. If provided, Pgpool will authenticate TLS/SSL clients by requesting them a certificate (see [ref](https://www.pgpool.net/docs/latest/en/html/runtime-ssl.html)). No defaults. +* `PGPOOL_TLS_PREFER_SERVER_CIPHERS`: Whether to use the server's TLS cipher preferences rather than the client's. Defaults to `yes`. When enabling TLS, Pgpool will support both standard and encrypted traffic by default, but prefer the latter. Below there are some examples on how to quickly set up TLS traffic: 1. Using `docker run` ```console - $ docker run \ + docker run \ -v /path/to/certs:/opt/bitnami/pgpool/certs \ -e ALLOW_EMPTY_PASSWORD=yes \ -e PGPOOL_ENABLE_TLS=yes \ @@ -439,7 +434,7 @@ Alternatively, you may also provide this configuration in your [custom](https:// You can override the default configuration by providing a configuration file. Set `PGPOOL_USER_CONF_FILE` with the path of the file, and this will be added to the default configuration. You can override the default hba configuration by providing a hba configuration file. Set `PGPOOL_USER_HBA_FILE` with the path of the file, and this will overwrite the default hba configuration. -### Step 1: Generate the configuration file. +### Step 1: Generate the configuration file ```console $ cat myconf.conf @@ -469,13 +464,13 @@ Run the Pgpool image, mounting a directory from your host and setting `PGPOOL_US Start your Pgpool container for changes to take effect. ```console -$ docker restart pgpool +docker restart pgpool ``` or using Docker Compose: ```console -$ docker-compose restart pgpool +docker-compose restart pgpool ``` Refer to the [server configuration](http://www.pgpool.net/docs/latest/en/html/runtime-config.html) manual for the complete list of configuration options. @@ -489,9 +484,9 @@ Pgpool does not reattach nodes automatically, to reattach a node you have to get To get the node `id` first connect to the pgpool container and open a psql session: ```console -$ docker exec -it pgpool bash +docker exec -it pgpool bash -$ PGPASSWORD=$PGPOOL_POSTGRES_PASSWORD psql -U $PGPOOL_POSTGRES_USERNAME -h localhost +PGPASSWORD=$PGPOOL_POSTGRES_PASSWORD psql -U $PGPOOL_POSTGRES_USERNAME -h localhost ``` and run: `show pool_nodes;` @@ -507,12 +502,12 @@ postgres=# show pool_nodes; In this example pg-0 is the node we want to reattach, we will use node `0`. -#### Step 2: reattach the node. +#### Step 2: reattach the node Now exit psql console and run the following command, `0` is the node id we got in the previous step. ```console -$ pcp_attach_node -h localhost -U $PGPOOL_ADMIN_USERNAME 0 +pcp_attach_node -h localhost -U $PGPOOL_ADMIN_USERNAME 0 ``` This command will prompt for a password, this password is the one set in the environment variable: `PGPOOL_ADMIN_PASSWORD` @@ -550,7 +545,7 @@ Please see the list of environment variables available in the Bitnami Pgpool con The Bitnami Pgpool-II Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs pgpool +docker logs pgpool ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -564,7 +559,7 @@ Bitnami provides up-to-date versions of Pgpool-II, including security patches, s #### Step 1: Get the updated image ```console -$ docker pull bitnami/pgpool:latest +docker pull bitnami/pgpool:latest ``` #### Step 2: Stop the running container @@ -572,13 +567,13 @@ $ docker pull bitnami/pgpool:latest Stop the currently running container using the command ```console -$ docker-compose stop pgpool +docker-compose stop pgpool ``` #### Step 3: Remove the currently running container ```console -$ docker-compose rm -v pgpool +docker-compose rm -v pgpool ``` #### Step 4: Run the new image @@ -586,25 +581,25 @@ $ docker-compose rm -v pgpool Re-create your container from the new image. ```console -$ docker-compose up pgpool +docker-compose up pgpool ``` ## Notable Changes ### 4.3.1-debian-10-r67 -- The ENV `PGPOOL_AUTHENTICATION_METHOD` default value has been changed from `md5` to `scram-sha-256` as our `bitnami/postgresql-repmgr:latest` image now uses PSQL v14, which has `scram-sha-256` as the default auth method. +* The ENV `PGPOOL_AUTHENTICATION_METHOD` default value has been changed from `md5` to `scram-sha-256` as our `bitnami/postgresql-repmgr:latest` image now uses PSQL v14, which has `scram-sha-256` as the default auth method. ### 4.1.1-debian-10-r35 -- The Pgpool container has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Pgpool daemon was started as the `pgpool` user. From now on, both the container and the Pgpool daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. -- No backwards compatibility issues are expected. -- Environment variables related to LDAP configuration were renamed removing the `PGPOOL_` prefix. For instance, to indicate the LDAP URI to use, you must set `LDAP_URI` instead of `PGPOOL_LDAP_URI`. +* The Pgpool container has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Pgpool daemon was started as the `pgpool` user. From now on, both the container and the Pgpool daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* No backwards compatibility issues are expected. +* Environment variables related to LDAP configuration were renamed removing the `PGPOOL_` prefix. For instance, to indicate the LDAP URI to use, you must set `LDAP_URI` instead of `PGPOOL_LDAP_URI`. ### 4.1.0-centos-7-r8 -- `4.1.0-centos-7-r8` is considered the latest image based on CentOS. -- Standard supported distros: Debian & OEL. +* `4.1.0-centos-7-r8` is considered the latest image based on CentOS. +* Standard supported distros: Debian & OEL. ## Contributing @@ -622,7 +617,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/php-fpm/README.md b/bitnami/php-fpm/README.md index d7d0bff853f5..37d2b306a232 100644 --- a/bitnami/php-fpm/README.md +++ b/bitnami/php-fpm/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name phpfpm -v /path/to/app:/app bitnami/php-fpm +docker run -it --name phpfpm -v /path/to/app:/app bitnami/php-fpm ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/php-fpm/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/php-fpm/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -55,21 +55,21 @@ The formatting convention for `prod` tags has been changed: The recommended way to get the Bitnami PHP-FPM Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/php-fpm). ```console -$ docker pull bitnami/php-fpm:latest +docker pull bitnami/php-fpm:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/php-fpm/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/php-fpm:[TAG] +docker pull bitnami/php-fpm:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -83,7 +83,7 @@ We will use PHP-FPM with nginx to serve our PHP app. Doing so will allow us to s #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` or using Docker Compose: @@ -129,7 +129,7 @@ Copy the server block above, saving the file somewhere on your host. We will mou Docker's linking system uses container ids or names to reference containers. We can explicitly specify a name for our PHP-FPM server to make it easier to connect to other containers. ```console -$ docker run -it --name phpfpm \ +docker run -it --name phpfpm \ --network app-tier -v /path/to/app:/app \ bitnami/php-fpm @@ -150,7 +150,7 @@ services: #### Step 4: Run the nginx image ```console -$ docker run -it \ +docker run -it \ -v /path/to/server_block.conf:/opt/bitnami/nginx/conf/server_blocks/yourapp.conf \ --network app-tier \ bitnami/nginx @@ -182,19 +182,19 @@ Since this image bundles a PHP runtime, you may want to make use of PHP outside PHP provides a REPL where you can interactively test and try things out in PHP. ```console -$ docker run -it --name phpfpm bitnami/php-fpm php -a +docker run -it --name phpfpm bitnami/php-fpm php -a ``` **Further Reading:** -- [PHP Interactive Shell Documentation](http://php.net/manual/en/features.commandline.interactive.php) +* [PHP Interactive Shell Documentation](http://php.net/manual/en/features.commandline.interactive.php) ## Running your PHP script The default work directory for the PHP-FPM image is `/app`. You can mount a folder from your host here that includes your PHP script, and run it normally using the `php` command. ```console -$ docker run -it --name php-fpm -v /path/to/app:/app bitnami/php-fpm \ +docker run -it --name php-fpm -v /path/to/app:/app bitnami/php-fpm \ php script.php ``` @@ -209,7 +209,7 @@ You can mount a custom config file from your host to edit the default configurat Run the PHP-FPM image, mounting a file from your host. ```console -$ docker run --name phpfpm -v /path/to/php-fpm.conf:/opt/bitnami/php/etc/php-fpm.conf bitnami/php-fpm +docker run --name phpfpm -v /path/to/php-fpm.conf:/opt/bitnami/php/etc/php-fpm.conf bitnami/php-fpm ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/php-fpm/docker-compose.yml) file present in this repository: @@ -228,7 +228,7 @@ services: Edit the configuration on your host using your favorite editor. ```console -$ vi /path/to/php-fpm.conf +vi /path/to/php-fpm.conf ``` #### Step 3: Restart PHP-FPM @@ -236,13 +236,13 @@ $ vi /path/to/php-fpm.conf After changing the configuration, restart your PHP-FPM container for the changes to take effect. ```console -$ docker restart phpfpm +docker restart phpfpm ``` or using Docker Compose: ```console -$ docker-compose restart phpfpm +docker-compose restart phpfpm ``` ### Add additional .ini files @@ -257,18 +257,17 @@ In order to override the default `max_file_uploads` settings you can do the foll 1. Create a file called _custom.ini_ with the following content: -```config -max_file_uploads = 30M -``` + ```config + max_file_uploads = 30M + ``` 2. Run the php-fpm container mounting the custom file. -```console -$ docker run -it -v /path/to/custom.ini:/opt/bitnami/php/etc/conf.d/custom.ini bitnami/php-fpm php -i | grep max_file_uploads + ```console + docker run -it -v /path/to/custom.ini:/opt/bitnami/php/etc/conf.d/custom.ini bitnami/php-fpm php -i | grep max_file_uploads + ``` -``` - -You should see that PHP is using the new specified value for the `max_file_uploads` setting. + You should see that PHP is using the new specified value for the `max_file_uploads` setting. ## Logging @@ -277,16 +276,16 @@ The Bitnami PHP-FPM Docker Image sends the container logs to the `stdout`. You c To view the logs: ```console -$ docker logs phpfpm +docker logs phpfpm ``` or using Docker Compose: ```console -$ docker-compose logs phpfpm +docker-compose logs phpfpm ``` -*The `docker logs` command is only available when the `json-file` or `journald` logging driver is in use.* +_The `docker logs` command is only available when the `json-file` or `journald` logging driver is in use._ ## Maintenance @@ -297,7 +296,7 @@ Bitnami provides up-to-date versions of PHP-FPM, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/php-fpm:latest +docker pull bitnami/php-fpm:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -308,19 +307,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop php-fpm +docker stop php-fpm ``` or using Docker Compose: ```console -$ docker-compose stop php-fpm +docker-compose stop php-fpm ``` Next, take a snapshot of the persistent volume `/path/to/php-fpm-persistence` using: ```console -$ rsync -a /path/to/php-fpm-persistence /path/to/php-fpm-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/php-fpm-persistence /path/to/php-fpm-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -328,13 +327,13 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v phpfpm +docker rm -v phpfpm ``` or using Docker Compose: ```console -$ docker-compose rm -v phpfpm +docker-compose rm -v phpfpm ``` #### Step 4: Run the new image @@ -342,44 +341,44 @@ $ docker-compose rm -v phpfpm Re-create your container from the new image. ```console -$ docker run --name phpfpm bitnami/php-fpm:latest +docker run --name phpfpm bitnami/php-fpm:latest ``` or using Docker Compose: ```console -$ docker-compose up phpfpm +docker-compose up phpfpm ``` ## Useful Links -- [Create An AMP Development Environment With Bitnami Containers +* [Create An AMP Development Environment With Bitnami Containers ](https://docs.bitnami.com/containers/how-to/create-amp-environment-containers/) -- [Create An EMP Development Environment With Bitnami Containers +* [Create An EMP Development Environment With Bitnami Containers ](https://docs.bitnami.com/containers/how-to/create-emp-environment-containers/) ## Notable Changes ### 7.2.3-r2, 7.1.15-r2, 7.0.28-r2 and 5.6.34-r2 (2018-03-13) -- PHP has been configured at compile time to scan the `/opt/bitnami/php/etc/conf.d/` folder for extra .ini configuration files. +* PHP has been configured at compile time to scan the `/opt/bitnami/php/etc/conf.d/` folder for extra .ini configuration files. ### 7.0.6-r0 (2016-05-17) -- All volumes have been merged at `/bitnami/php-fpm`. Now you only need to mount a single volume at `/bitnami/php-fpm` for persistence. -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* All volumes have been merged at `/bitnami/php-fpm`. Now you only need to mount a single volume at `/bitnami/php-fpm` for persistence. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ### 5.5.30-2 (2015-12-07) -- Enables support for imagick extension +* Enables support for imagick extension ### 5.5.30-0-r01 (2015-11-10) -- `php.ini` is now exposed in the volume mounted at `/bitnami/php-fpm/conf/` allowing users to change the defaults as per their requirements. +* `php.ini` is now exposed in the volume mounted at `/bitnami/php-fpm/conf/` allowing users to change the defaults as per their requirements. ### 5.5.30-0 (2015-10-06) -- `/app` directory is no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume are not persisted between Dockerfile `RUN` instructions. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option. +* `/app` directory is no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume are not persisted between Dockerfile `RUN` instructions. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option. ## Contributing @@ -397,7 +396,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/phpbb/README.md b/bitnami/phpbb/README.md index 3be04acee94b..0ee045ab3b65 100644 --- a/bitnami/phpbb/README.md +++ b/bitnami/phpbb/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/phpbb/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/phpbb/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -44,7 +44,7 @@ You can see the equivalence between the different tags by taking a look at the ` Subscribe to project updates by watching the [bitnami/containers GitHub repo](https://github.com/bitnami/containers). -# Prerequisites +## Prerequisites To run this application you need Docker Engine 1.10.0. Docker Compose is recomended with a version 1.6.0 or later. @@ -53,21 +53,21 @@ To run this application you need Docker Engine 1.10.0. Docker Compose is recomen The recommended way to get the Bitnami phpBB Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/phpbb). ```console -$ docker pull bitnami/phpbb:latest +docker pull bitnami/phpbb:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/phpbb/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/phpbb:[TAG] +docker pull bitnami/phpbb:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -79,8 +79,8 @@ phpBB requires access to a MySQL or MariaDB database to store information. We'll The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/phpbb/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/phpbb/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/phpbb/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -90,14 +90,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create phpbb-network +docker network create phpbb-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_phpbb \ --env MARIADB_PASSWORD=bitnami \ @@ -110,8 +110,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for phpBB persistence and launch the container ```console -$ docker volume create --name phpbb_data -$ docker run -d --name phpbb \ +docker volume create --name phpbb_data +docker run -d --name phpbb \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env PHPBB_DATABASE_USER=bn_phpbb \ @@ -165,13 +165,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create phpbb-network +docker network create phpbb-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_phpbb \ --env MARIADB_PASSWORD=bitnami \ @@ -184,7 +184,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the phpBB container with host volumes ```console -$ docker run -d --name phpbb \ +docker run -d --name phpbb \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env PHPBB_DATABASE_USER=bn_phpbb \ @@ -201,7 +201,7 @@ $ docker run -d --name phpbb \ When you start the phpBB 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/phpbb/docker-compose.yml) file present in this repository: +* 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/phpbb/docker-compose.yml) file present in this repository: ```yaml phpbb: @@ -211,10 +211,10 @@ phpbb: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name phpbb -p 80:8080 -p 443:8443 \ + docker run -d --name phpbb -p 80:8080 -p 443:8443 \ --env PHPBB_PASSWORD=my_password \ --network phpbb-tier \ --volume /path/to/phpbb-persistence:/bitnami \ @@ -223,76 +223,76 @@ phpbb: Available environment variables: -##### User and Site configuration +#### User and Site configuration -- `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** -- `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** -- `PHPBB_USERNAME`: phpBB application username. Default: **user** -- `PHPBB_PASSWORD`: phpBB application password. Default: **bitnami** -- `PHPBB_EMAIL`: phpBB application email. Default: **user@example.com** -- `PHPBB_FORUM_NAME`: Forum Name. Default: **My forum** -- `PHPBB_FORUM_DESCRIPTION`: Forum Description. Default: **A little text to describe your forum** -- `PHPBB_HOST`: phpBB application host. No defaults. -- `PHPBB_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** -- `PHPBB_COOKIE_SECURE`: Have secure cookies enabled. Default: **no** -- `PHPBB_FORUM_SERVER_PROTOCOL`: Forum server protocol for the URL generation. Default: **http://** -- `PHPBB_DISABLE_SESSION_VALIDATION`: Disable session validation. This is for phpBB to work in Kubernetes installations. Default: **false** +* `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** +* `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** +* `PHPBB_USERNAME`: phpBB application username. Default: **user** +* `PHPBB_PASSWORD`: phpBB application password. Default: **bitnami** +* `PHPBB_EMAIL`: phpBB application email. Default: **user@example.com** +* `PHPBB_FORUM_NAME`: Forum Name. Default: **My forum** +* `PHPBB_FORUM_DESCRIPTION`: Forum Description. Default: **A little text to describe your forum** +* `PHPBB_HOST`: phpBB application host. No defaults. +* `PHPBB_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** +* `PHPBB_COOKIE_SECURE`: Have secure cookies enabled. Default: **no** +* `PHPBB_FORUM_SERVER_PROTOCOL`: Forum server protocol for the URL generation. Default: **** +* `PHPBB_DISABLE_SESSION_VALIDATION`: Disable session validation. This is for phpBB to work in Kubernetes installations. Default: **false** -##### Use an existing database +#### Use an existing database -- `PHPBB_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `PHPBB_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `PHPBB_DATABASE_NAME`: Database name that phpBB will use to connect with the database. Default: **bitnami_phpbb** -- `PHPBB_DATABASE_USER`: Database user that phpBB will use to connect with the database. Default: **bn_phpbb** -- `PHPBB_DATABASE_PASSWORD`: Database password that phpBB will use to connect with the database. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `PHPBB_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `PHPBB_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `PHPBB_DATABASE_NAME`: Database name that phpBB will use to connect with the database. Default: **bitnami_phpbb** +* `PHPBB_DATABASE_USER`: Database user that phpBB will use to connect with the database. Default: **bn_phpbb** +* `PHPBB_DATABASE_PASSWORD`: Database password that phpBB will use to connect with the database. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for phpBB using mysql-client +#### Create a database for phpBB using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure phpBB to send email using SMTP you can set the following environment variables: -- `PHPBB_SMTP_HOST`: SMTP host. -- `PHPBB_SMTP_PORT`: SMTP port. -- `PHPBB_SMTP_USER`: SMTP account user. -- `PHPBB_SMTP_PASSWORD`: SMTP account password. -- `PHPBB_SMTP_PROTOCOL`: SMTP protocol. +* `PHPBB_SMTP_HOST`: SMTP host. +* `PHPBB_SMTP_PORT`: SMTP port. +* `PHPBB_SMTP_USER`: SMTP account user. +* `PHPBB_SMTP_PASSWORD`: SMTP account password. +* `PHPBB_SMTP_PROTOCOL`: SMTP protocol. -##### PHP configuration +#### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. -##### Example +#### 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/phpbb/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/phpbb/docker-compose.yml) file present in this repository: ```yaml phpbb: @@ -307,10 +307,11 @@ This would be an example of SMTP configuration using a Gmail account: - PHPBB_SMTP_PASSWORD=your_password ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name phpbb -p 80:8080 -p 443:8443 \ + docker run -d --name phpbb -p 80:8080 -p 443:8443 \ --env PHPBB_DATABASE_USER=bn_phpbb \ --env PHPBB_DATABASE_NAME=bitnami_phpbb \ --env PHPBB_SMTP_HOST=smtp.gmail.com \ @@ -327,13 +328,13 @@ This would be an example of SMTP configuration using a Gmail account: The Bitnami phpBB Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs phpbb +docker logs phpbb ``` Or using Docker Compose: ```console -$ docker-compose logs phpbb +docker-compose logs phpbb ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -347,13 +348,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop phpbb +docker stop phpbb ``` Or using Docker Compose: ```console -$ docker-compose stop phpbb +docker-compose stop phpbb ``` #### Step 2: Run the backup command @@ -361,7 +362,7 @@ $ docker-compose stop phpbb We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/phpbb-backups:/backups --volumes-from phpbb busybox \ +docker run --rm -v /path/to/phpbb-backups:/backups --volumes-from phpbb busybox \ cp -a /bitnami/phpbb /backups/latest ``` @@ -372,7 +373,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -382,7 +383,7 @@ For the MariaDB database container: For the phpBB container: ```diff - $ docker run -d --name phpbb \ + docker run -d --name phpbb \ ... - --volume /path/to/phpbb-persistence:/bitnami/phpbb \ + --volume /path/to/phpbb-backups/latest:/bitnami/phpbb \ @@ -391,12 +392,12 @@ For the phpBB container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and phpBB, 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 phpBB container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and phpBB, 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 phpBB container. For the MariaDB upgrade see: #### Step 1: Get the updated image ```console -$ docker pull bitnami/phpbb:latest +docker pull bitnami/phpbb:latest ``` #### Step 2: Stop the running container @@ -404,7 +405,7 @@ $ docker pull bitnami/phpbb:latest Stop the currently running container using the command ```console -$ docker-compose stop phpbb +docker-compose stop phpbb ``` #### Step 3: Take a snapshot of the application state @@ -424,7 +425,7 @@ docker-compose rm -v phpbb Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -435,10 +436,10 @@ The Bitnami phpBB Docker image is designed to be extended so it can be used as t Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -450,9 +451,9 @@ FROM bitnami/phpbb 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/phpbb @@ -490,15 +491,15 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ... ``` -# Notable Changes +## Notable Changes ## 3.3.1-debian-10-r44 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The phpBB container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the phpBB site by exporting its content, and importing it on a new phpBB container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The phpBB container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the phpBB site by exporting its content, and importing it on a new phpBB container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. To upgrade a previous Bitnami phpBB container image, which did not support non-root, the easiest way is to start the new image as a root user and updating the port numbers. Modify your docker-compose.yml file as follows: @@ -515,14 +516,14 @@ To upgrade a previous Bitnami phpBB container image, which did not support non-r ## 3.3.1-debian-10-r18 -- The PHP version has been updated from 7.2 to 7.3 +* The PHP version has been updated from 7.2 to 7.3 ## 3.2.7-debian-9-r19 and 3.2.7-ol-7-r30 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -548,7 +549,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/phpmyadmin/README.md b/bitnami/phpmyadmin/README.md index 6ec3f62f368c..28625d103599 100644 --- a/bitnami/phpmyadmin/README.md +++ b/bitnami/phpmyadmin/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/phpmyadmin/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/phpmyadmin/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -55,8 +55,8 @@ phpMyAdmin requires access to a MySQL database or MariaDB database to work. We'l The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/phpmyadmin/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/phpmyadmin/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/phpmyadmin/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -65,29 +65,29 @@ If you want to run the application manually instead of using `docker-compose`, t 1. Create a network -```console -$ docker network create phpmyadmin-tier -``` + ```console + docker network create phpmyadmin-tier + ``` 2. Create a volume for MariaDB persistence and create a MariaDB container -```console -$ docker volume create --name mariadb_data -$ docker run -d --name mariadb -e ALLOW_EMPTY_PASSWORD=yes \ - --net phpmyadmin-tier \ - --volume mariadb_data:/bitnami/mariadb \ - bitnami/mariadb:latest -``` + ```console + docker volume create --name mariadb_data + docker run -d --name mariadb -e ALLOW_EMPTY_PASSWORD=yes \ + --net phpmyadmin-tier \ + --volume mariadb_data:/bitnami/mariadb \ + bitnami/mariadb:latest + ``` -3. Launch the phpMyAdmin container +3. Launch the {{ .Name }} container -```console -$ docker run -d --name phpmyadmin -p 80:8080 -p 443:8443 \ - --net phpmyadmin-tier \ - bitnami/phpmyadmin:latest -``` + ```console + docker run -d --name phpmyadmin -p 80:8080 -p 443:8443 \ + --net phpmyadmin-tier \ + bitnami/phpmyadmin:latest + ``` -Access your application at `http://your-ip/` + Access your application at `http://your-ip/` ### Persisting your application @@ -116,53 +116,53 @@ services: 1. Create a network (if it does not exist) -```console -$ docker network create phpmyadmin-tier -``` + ```console + docker network create phpmyadmin-tier + ``` 2. Create a MariaDB container with host volume -```console -$ docker run -d --name mariadb -e ALLOW_EMPTY_PASSWORD=yes \ - --net phpmyadmin-tier \ - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ - bitnami/mariadb:latest -``` + ```console + docker run -d --name mariadb -e ALLOW_EMPTY_PASSWORD=yes \ + --net phpmyadmin-tier \ + --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + bitnami/mariadb:latest + ``` -3. Launch the phpMyAdmin container +3. Launch the {{ .Name }} container -```console -$ docker run -d --name phpmyadmin -p 80:8080 -p 443:8443 \ - --net phpmyadmin-tier \ - bitnami/phpmyadmin:latest -``` + ```console + docker run -d --name phpmyadmin -p 80:8080 -p 443:8443 \ + --net phpmyadmin-tier \ + bitnami/phpmyadmin:latest + ``` -## Upgrading phpMyAdmin +## Upgrading {{ .Name }} -Bitnami provides up-to-date versions of MariaDB and phpMyAdmin, 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 phpMyAdmin container. For the MariaDB upgrade see https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and {{ .Name }}, 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 {{ .Name }} container. For the MariaDB upgrade see The `bitnami/phpmyadmin:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/phpmyadmin:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/phpmyadmin/tags/). 1. Get the updated images: - ```console - $ docker pull bitnami/phpmyadmin:latest - ``` + ```console + docker pull bitnami/phpmyadmin:latest + ``` 2. Stop your container - * For docker-compose: `$ docker-compose stop phpmyadmin` - * For manual execution: `$ docker stop phpmyadmin` + * For docker-compose: `$ docker-compose stop phpmyadmin` + * For manual execution: `$ docker stop phpmyadmin` 3. Remove the currently running container - * For docker-compose: `$ docker-compose rm -v phpmyadmin` - * For manual execution: `$ docker rm -v phpmyadmin` + * For docker-compose: `$ docker-compose rm -v phpmyadmin` + * For manual execution: `$ docker rm -v phpmyadmin` 4. Run the new image - * For docker-compose: `$ docker-compose up phpmyadmin` - * For manual execution: `docker run --name phpmyadmin bitnami/phpmyadmin:latest` + * For docker-compose: `$ docker-compose up phpmyadmin` + * For manual execution: `docker run --name phpmyadmin bitnami/phpmyadmin:latest` ## Configuration @@ -170,40 +170,40 @@ The `bitnami/phpmyadmin:latest` tag always points to the most recent release. To The phpMyAdmin instance can be customized by specifying environment variables on the first run. The following environment values are provided to custom phpMyAdmin: -- `PHPMYADMIN_ALLOW_ARBITRARY_SERVER`: Allows you to enter database server hostname on login form. Default: **false** -- `PHPMYADMIN_ALLOW_REMOTE_CONNECTIONS`: Whether to allow access from any source. When disabled, only connections from 127.0.0.1 will be allowed. Default: **yes** -- `PHPMYADMIN_ABSOLUTE_URI`: If specified, absolute URL to phpMyAdmin when generating links. No defaults -- `DATABASE_ALLOW_NO_PASSWORD`: Whether to allow logins without a password. Default: **yes** -- `DATABASE_HOST`: Database server host. Default: **mariadb** -- `DATABASE_USER`: Database username. -- `DATABASE_PASSWORD`: Database password. -- `DATABASE_PORT_NUMBER`: Database server port. Default: **3306** -- `DATABASE_ENABLE_SSL`: Whether to enable SSL for the connection between phpMyAdmin and the MySQL server to secure the connection. Default: **no** -- `DATABASE_SSL_KEY`: Path to the client key file when using SSL. Default: **no** -- `DATABASE_SSL_CERT`: Path to the client certificate file when using SSL. -- `DATABASE_SSL_CA`: Path to the CA file when using SSL. -- `DATABASE_SSL_CA_PATH`: Directory containing trusted SSL CA certificates in PEM format. -- `DATABASE_SSL_CIPHERS`: List of allowable ciphers for connections when using SSL. -- `DATABASE_SSL_VERIFY`: Enable SSL certificate validation. Default: **yes** -- `CONFIGURATION_STORAGE_ENABLE`: Enable phpMyAdmin configuration storage. Default: **no** -- `CONFIGURATION_STORAGE_DB_USER`: phpMyAdmin configuration storage database user (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). Default: **pma** -- `CONFIGURATION_STORAGE_DB_PASSWORD`: phpMyAdmin configuration storage database password (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). No defaults. -- `CONFIGURATION_STORAGE_DB_HOST`: phpMyAdmin configuration storage database server hostname (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). Default: **mariadb** -- `CONFIGURATION_STORAGE_DB_PORT_NUMBER`: phpMyAdmin configuration storage database server port (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). Default: **3306** -- `CONFIGURATION_STORAGE_DB_NAME`: phpMyAdmin configuration storage database name (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). Default: **phpmyadmin** -- `CONFIGURATION_ALLOWDENY_ORDER`: Set the AllowDeny order. If your rule order is empty, then IP authorization is disabled. Available values are: `deny,allow`, `allow,deny`, `explicit`. No defaults. -- `CONFIGURATION_ALLOWDENY_RULES`: Array of strings to allow or deny hosts/user to connect to the database. The value must be literal, following the format `'allow' | 'deny' [from] `. No defaults. +* `PHPMYADMIN_ALLOW_ARBITRARY_SERVER`: Allows you to enter database server hostname on login form. Default: **false** +* `PHPMYADMIN_ALLOW_REMOTE_CONNECTIONS`: Whether to allow access from any source. When disabled, only connections from 127.0.0.1 will be allowed. Default: **yes** +* `PHPMYADMIN_ABSOLUTE_URI`: If specified, absolute URL to phpMyAdmin when generating links. No defaults +* `DATABASE_ALLOW_NO_PASSWORD`: Whether to allow logins without a password. Default: **yes** +* `DATABASE_HOST`: Database server host. Default: **mariadb** +* `DATABASE_USER`: Database username. +* `DATABASE_PASSWORD`: Database password. +* `DATABASE_PORT_NUMBER`: Database server port. Default: **3306** +* `DATABASE_ENABLE_SSL`: Whether to enable SSL for the connection between phpMyAdmin and the MySQL server to secure the connection. Default: **no** +* `DATABASE_SSL_KEY`: Path to the client key file when using SSL. Default: **no** +* `DATABASE_SSL_CERT`: Path to the client certificate file when using SSL. +* `DATABASE_SSL_CA`: Path to the CA file when using SSL. +* `DATABASE_SSL_CA_PATH`: Directory containing trusted SSL CA certificates in PEM format. +* `DATABASE_SSL_CIPHERS`: List of allowable ciphers for connections when using SSL. +* `DATABASE_SSL_VERIFY`: Enable SSL certificate validation. Default: **yes** +* `CONFIGURATION_STORAGE_ENABLE`: Enable phpMyAdmin configuration storage. Default: **no** +* `CONFIGURATION_STORAGE_DB_USER`: phpMyAdmin configuration storage database user (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). Default: **pma** +* `CONFIGURATION_STORAGE_DB_PASSWORD`: phpMyAdmin configuration storage database password (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). No defaults. +* `CONFIGURATION_STORAGE_DB_HOST`: phpMyAdmin configuration storage database server hostname (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). Default: **mariadb** +* `CONFIGURATION_STORAGE_DB_PORT_NUMBER`: phpMyAdmin configuration storage database server port (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). Default: **3306** +* `CONFIGURATION_STORAGE_DB_NAME`: phpMyAdmin configuration storage database name (ignored unless `CONFIGURATION_STORAGE_ENABLE` is set to **yes**). Default: **phpmyadmin** +* `CONFIGURATION_ALLOWDENY_ORDER`: Set the AllowDeny order. If your rule order is empty, then IP authorization is disabled. Available values are: `deny,allow`, `allow,deny`, `explicit`. No defaults. +* `CONFIGURATION_ALLOWDENY_RULES`: Array of strings to allow or deny hosts/user to connect to the database. The value must be literal, following the format `'allow' | 'deny' [from] `. No defaults. #### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. Default: **80M** -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP upload. Default: **80M** +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. Default: **80M** +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP upload. Default: **80M** #### Specifying Environment variables using Docker Compose @@ -227,7 +227,7 @@ services: #### Specifying Environment variables on the Docker command line ```console -$ docker run -d --name phpmyadmin -p 80:8080 -p 443:8443 \ +docker run -d --name phpmyadmin -p 80:8080 -p 443:8443 \ --net phpmyadmin-tier \ --env PHPMYADMIN_PASSWORD=my_password \ bitnami/phpmyadmin:latest @@ -241,10 +241,10 @@ The Bitnami phpMyAdmin Docker image is designed to be extended so it can be used Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -256,10 +256,10 @@ FROM bitnami/phpmyadmin 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 -- Modify the default container user +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache +* Modify the default container user ```Dockerfile FROM bitnami/phpmyadmin @@ -315,16 +315,16 @@ volumes: ### 5.0.2-debian-10-r73 -- Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. -- The `PHPMYADMIN_ALLOW_NO_PASSWORD` environment variable has been deprecated in favor of `DATABASE_ALLOW_NO_PASSWORD`. -- New environment variables have been added to support configuring extra PHP options: `PHP_UPLOAD_MAX_FILESIZE` for `upload_max_filesize`, and `PHP_POST_MAX_SIZE` for `post_max_size`. +* Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. +* The `PHPMYADMIN_ALLOW_NO_PASSWORD` environment variable has been deprecated in favor of `DATABASE_ALLOW_NO_PASSWORD`. +* New environment variables have been added to support configuring extra PHP options: `PHP_UPLOAD_MAX_FILESIZE` for `upload_max_filesize`, and `PHP_POST_MAX_SIZE` for `post_max_size`. ### 4.8.5-debian-9-r96 and 4.8.5-ol-7-r111 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -350,7 +350,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/pinniped/README.md b/bitnami/pinniped/README.md index 83cef6ebc285..badbdd29d2c1 100644 --- a/bitnami/pinniped/README.md +++ b/bitnami/pinniped/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name pinniped bitnami/pinniped:latest +docker run --name pinniped bitnami/pinniped:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami pinniped Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/pinniped). ```console -$ docker pull bitnami/pinniped:latest +docker pull bitnami/pinniped:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/pinniped/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/pinniped:[TAG] +docker pull bitnami/pinniped:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `pinniped-concierge --help` you can follow the example below: ```console -$ docker run --rm --name pinniped bitnami/pinniped:latest -- --help +docker run --rm --name pinniped bitnami/pinniped:latest -- --help ``` Check the [official Pinniped documentation](https://pinniped.dev//docs) for more information. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/postgres-exporter/README.md b/bitnami/postgres-exporter/README.md index 9d8fc6858344..91fb501c2012 100644 --- a/bitnami/postgres-exporter/README.md +++ b/bitnami/postgres-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name postgres-exporter bitnami/postgres-exporter:latest +docker run --name postgres-exporter bitnami/postgres-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami PostgreSQL Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/postgres-exporter). ```console -$ docker pull bitnami/postgres-exporter:latest +docker pull bitnami/postgres-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/postgres-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/postgres-exporter:[TAG] +docker pull bitnami/postgres-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create postgres-exporter-network --driver bridge +docker network create postgres-exporter-network --driver bridge ``` #### Step 2: Launch the PostgreSQL Exporter container within your network @@ -76,7 +76,7 @@ $ docker network create postgres-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `postgres-exporter-network` network. ```console -$ docker run --name postgres-exporter-node1 --network postgres-exporter-network bitnami/postgres-exporter:latest +docker run --name postgres-exporter-node1 --network postgres-exporter-network bitnami/postgres-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration flags in [the postgres_exporter official documentatio The Bitnami PostgreSQL Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs postgres-exporter +docker logs postgres-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of postgres-exporter, including security pa #### Step 1: Get the updated image ```console -$ docker pull bitnami/postgres-exporter:latest +docker pull bitnami/postgres-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/postgres-exporter:latest Stop the currently running container using the command ```console -$ docker stop postgres-exporter +docker stop postgres-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v postgres-exporter +docker rm -v postgres-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v postgres-exporter Re-create your container from the new image. ```console -$ docker run --name postgres-exporter bitnami/postgres-exporter:latest +docker run --name postgres-exporter bitnami/postgres-exporter:latest ``` ## Contributing @@ -140,13 +140,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/postgresql-repmgr/README.md b/bitnami/postgresql-repmgr/README.md index f73b5fe1fb16..2bc22d81c9c3 100644 --- a/bitnami/postgresql-repmgr/README.md +++ b/bitnami/postgresql-repmgr/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name postgresql-repmgr bitnami/postgresql-repmgr:latest +docker run --name postgresql-repmgr bitnami/postgresql-repmgr:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/postgresql-repmgr/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/postgresql-repmgr/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -55,21 +55,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami PostgreSQL HA Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/postgresql-repmgr). ```console -$ docker pull bitnami/postgresql-repmgr:latest +docker pull bitnami/postgresql-repmgr:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/postgresql-repmgr/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/postgresql-repmgr:[TAG] +docker pull bitnami/postgresql-repmgr:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -79,7 +79,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami/postgresql` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/postgresql-repmgr-persistence:/bitnami/postgresql \ bitnami/postgresql-repmgr:latest ``` @@ -101,7 +101,7 @@ In this example, we will create a PostgreSQL client instance that will connect t #### Step 1: Create a network ```console -$ docker network create my-network --driver bridge +docker network create my-network --driver bridge ``` #### Step 2: Launch the postgresql-repmgr container within your network @@ -109,7 +109,7 @@ $ docker network create my-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `my-network` network. ```console -$ docker run --detach --rm --name pg-0 \ +docker run --detach --rm --name pg-0 \ --network my-network \ --env REPMGR_PARTNER_NODES=pg-0 \ --env REPMGR_NODE_NAME=pg-0 \ @@ -125,7 +125,7 @@ $ docker run --detach --rm --name pg-0 \ Finally we create a new container instance to launch the PostgreSQL client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network my-network \ bitnami/postgresql:10 \ psql -h pg-0 -U postgres @@ -168,7 +168,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -184,7 +184,7 @@ In order to have your custom files inside the docker image you can mount them as In the above commands you may have noticed the use of the `POSTGRESQL_PASSWORD` and `REPMGR_PASSWORD` environment variables. Passing the `POSTGRESQL_PASSWORD` environment variable when running the image for the first time will set the password of the `postgres` user to the value of `POSTGRESQL_PASSWORD` (or the content of the file specified in `POSTGRESQL_PASSWORD_FILE`). In the same way, passing the `REPMGR_PASSWORD` environment variable sets the password of the `repmgr` user to the value of `REPMGR_PASSWORD` (or the content of the file specified in `REPMGR_PASSWORD_FILE`). ```console -$ docker run --name pg-0 --env REPMGR_PASSWORD=repmgrpass --env POSTGRESQL_PASSWORD=secretpass bitnami/postgresql-repmgr:latest +docker run --name pg-0 --env REPMGR_PASSWORD=repmgrpass --env POSTGRESQL_PASSWORD=secretpass bitnami/postgresql-repmgr:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/tree/main/bitnami/postgresql-repmgr/docker-compose.yml) file present in this repository: @@ -220,7 +220,7 @@ Refer to [Creating a database user on first run](#creating-a-database-user-on-fi By passing the `POSTGRESQL_DATABASE` environment variable when running the image for the first time, a database will be created. This is useful if your application requires that a database already exists, saving you from having to manually create the database using the PostgreSQL client. ```console -$ docker run --name pg-0 --env POSTGRESQL_DATABASE=my_database bitnami/postgresql-repmgr:latest +docker run --name pg-0 --env POSTGRESQL_DATABASE=my_database bitnami/postgresql-repmgr:latest ``` ### Creating a database user on first run @@ -228,7 +228,7 @@ $ docker run --name pg-0 --env POSTGRESQL_DATABASE=my_database bitnami/postgresq You can also create a restricted database user that only has permissions for the database created with the [`POSTGRESQL_DATABASE`](#creating-a-database-on-first-run) environment variable. To do this, provide the `POSTGRESQL_USERNAME` environment variable. ```console -$ docker run --name pg-0 --env POSTGRESQL_USERNAME=my_user --env POSTGRESQL_PASSWORD=password123 --env POSTGRESQL_DATABASE=my_database bitnami/postgresql-repmgr:latest +docker run --name pg-0 --env POSTGRESQL_USERNAME=my_user --env POSTGRESQL_PASSWORD=password123 --env POSTGRESQL_DATABASE=my_database bitnami/postgresql-repmgr:latest ``` The [`docker-compose.yml`](https://github.com/bitnami/containers/tree/main/bitnami/postgresql/docker-compose.yml) file present in this repository already configures this setup. @@ -240,19 +240,19 @@ When `POSTGRESQL_USERNAME` is specified, the `postgres` user is not assigned a p A HA PostgreSQL cluster with [Streaming replication](https://www.postgresql.org/docs/10/warm-standby.html#STREAMING-REPLICATION) and [repmgr](https://repmgr.org) can easily be setup with the Bitnami PostgreSQL HA Docker Image using the following environment variables: -- `POSTGRESQL_PASSWORD`: Password for `postgres` user. No defaults. -- `POSTGRESQL_PASSWORD_FILE`: Path to a file that contains the `postgres` user password. This will override the value specified in `POSTGRESQL_PASSWORD`. No defaults. -- `REPMGR_USERNAME`: Username for `repmgr` user. Defaults to `repmgr`. -- `REPMGR_PASSWORD_FILE`: Path to a file that contains the `repmgr` user password. This will override the value specified in `REPMGR_PASSWORD`. No defaults. -- `REPMGR_PASSWORD`: Password for `repmgr` user. No defaults. -- `REPMGR_USE_PASSFILE`: Configure repmgr to use `passfile` and `PGPASSFILE` instead of plain-text password in its configuration. -- `REPMGR_PASSFILE_PATH`: Location of the passfile, if it doesn't exist it will be created using REPMGR credentials. -- `REPMGR_PRIMARY_HOST`: Hostname of the initial primary node. No defaults. -- `REPMGR_PARTNER_NODES`: Comma separated list of partner nodes in the cluster. No defaults. -- `REPMGR_NODE_NAME`: Node name. No defaults. -- `REPMGR_NODE_TYPE`: Node type. Defaults to `data`. Allowed values: `data` for data nodes (master or replicas), `witness` for witness nodes. -- `REPMGR_NODE_NETWORK_NAME`: Node hostname. No defaults. -- `REPMGR_PGHBA_TRUST_ALL`: This will set the auth-method in the generated pg_hba.conf. Set it to `yes` only if you are using pgpool with LDAP authentication. Default to `no`. +* `POSTGRESQL_PASSWORD`: Password for `postgres` user. No defaults. +* `POSTGRESQL_PASSWORD_FILE`: Path to a file that contains the `postgres` user password. This will override the value specified in `POSTGRESQL_PASSWORD`. No defaults. +* `REPMGR_USERNAME`: Username for `repmgr` user. Defaults to `repmgr`. +* `REPMGR_PASSWORD_FILE`: Path to a file that contains the `repmgr` user password. This will override the value specified in `REPMGR_PASSWORD`. No defaults. +* `REPMGR_PASSWORD`: Password for `repmgr` user. No defaults. +* `REPMGR_USE_PASSFILE`: Configure repmgr to use `passfile` and `PGPASSFILE` instead of plain-text password in its configuration. +* `REPMGR_PASSFILE_PATH`: Location of the passfile, if it doesn't exist it will be created using REPMGR credentials. +* `REPMGR_PRIMARY_HOST`: Hostname of the initial primary node. No defaults. +* `REPMGR_PARTNER_NODES`: Comma separated list of partner nodes in the cluster. No defaults. +* `REPMGR_NODE_NAME`: Node name. No defaults. +* `REPMGR_NODE_TYPE`: Node type. Defaults to `data`. Allowed values: `data` for data nodes (master or replicas), `witness` for witness nodes. +* `REPMGR_NODE_NETWORK_NAME`: Node hostname. No defaults. +* `REPMGR_PGHBA_TRUST_ALL`: This will set the auth-method in the generated pg_hba.conf. Set it to `yes` only if you are using pgpool with LDAP authentication. Default to `no`. In a HA PostgreSQL cluster you can have one primary and zero or more standby nodes. The primary node is in read-write mode, while the standby nodes are in read-only mode. For best performance its advisable to limit the reads to the standby nodes. @@ -260,18 +260,13 @@ In a HA PostgreSQL cluster you can have one primary and zero or more standby nod > > When mounting an external passfile using REPMGR_PASSFILE_PATH, it is necessary to also configure REPMGR_PASSWORD and REPMGR_USERNAME accordingly. -#### Step 1: Create a network - -```console -$ docker network create my-network --driver bridge -``` - -#### Step 2: Create the initial primary node +#### Step 1: Create a network and the initial primary node The first step is to start the initial primary node: ```console -$ docker run --detach --name pg-0 \ +docker network create my-network --driver bridge +docker run --detach --name pg-0 \ --network my-network \ --env REPMGR_PARTNER_NODES=pg-0,pg-1 \ --env REPMGR_NODE_NAME=pg-0 \ @@ -282,12 +277,12 @@ $ docker run --detach --name pg-0 \ bitnami/postgresql-repmgr:latest ``` -#### Step 3: Create a standby node +#### Step 2: Create a standby node Next we start a standby node: ```console -$ docker run --detach --name pg-1 \ +docker run --detach --name pg-1 \ --network my-network \ --env REPMGR_PARTNER_NODES=pg-0,pg-1 \ --env REPMGR_NODE_NAME=pg-1 \ @@ -309,27 +304,27 @@ If the master goes down, **repmgr** will ensure any of the standby nodes takes t With Docker Compose the HA PostgreSQL cluster can be setup using the [`docker-compose.yml`](https://github.com/bitnami/containers/tree/main/bitnami/postgresql-repmgr/docker-compose.yml) file present in this repository: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/postgresql-repmgr/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/postgresql-repmgr/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Securing PostgreSQL traffic PostgreSQL supports the encryption of connections using the SSL/TLS protocol. Should you desire to enable this optional feature, you may use the following environment variables to configure the application: - - `POSTGRESQL_ENABLE_TLS`: Whether to enable TLS for traffic or not. Defaults to `no`. - - `POSTGRESQL_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. - - `POSTGRESQL_TLS_KEY_FILE`: File containing the key for certificate. No defaults. - - `POSTGRESQL_TLS_CA_FILE`: File containing the CA of the certificate. If provided, PostgreSQL will authenticate TLS/SSL clients by requesting them a certificate (see [ref](https://www.postgresql.org/docs/9.6/auth-methods.html)). No defaults. - - `POSTGRESQL_TLS_CRL_FILE`: File containing a Certificate Revocation List. No defaults. - - `POSTGRESQL_TLS_PREFER_SERVER_CIPHERS`: Whether to use the server's TLS cipher preferences rather than the client's. Defaults to `yes`. +* `POSTGRESQL_ENABLE_TLS`: Whether to enable TLS for traffic or not. Defaults to `no`. +* `POSTGRESQL_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. +* `POSTGRESQL_TLS_KEY_FILE`: File containing the key for certificate. No defaults. +* `POSTGRESQL_TLS_CA_FILE`: File containing the CA of the certificate. If provided, PostgreSQL will authenticate TLS/SSL clients by requesting them a certificate (see [ref](https://www.postgresql.org/docs/9.6/auth-methods.html)). No defaults. +* `POSTGRESQL_TLS_CRL_FILE`: File containing a Certificate Revocation List. No defaults. +* `POSTGRESQL_TLS_PREFER_SERVER_CIPHERS`: Whether to use the server's TLS cipher preferences rather than the client's. Defaults to `yes`. When enabling TLS, PostgreSQL will support both standard and encrypted traffic by default, but prefer the latter. Below there are some examples on how to quickly set up TLS traffic: 1. Using `docker run` ```console - $ docker run \ + docker run \ -v /path/to/certs:/opt/bitnami/postgresql/certs \ -e POSTGRESQL_ENABLE_TLS=yes \ -e POSTGRESQL_TLS_CERT_FILE=/opt/bitnami/postgresql/certs/postgres.crt \ @@ -369,16 +364,16 @@ The image looks for the `repmgr.conf`, `postgresql.conf` and `pg_hba.conf` files As the PostgreSQL with Replication manager image is non-root, you need to set the proper permissions to the mounted directory in your host: ```console -$ sudo chgrp -R root /path/to/custom-conf/ -$ sudo chmod -R g+rwX /path/to/custom-conf/ +sudo chgrp -R root /path/to/custom-conf/ +sudo chmod -R g+rwX /path/to/custom-conf/ ``` -#### Step 1: Run the PostgreSQL image +#### Step 1: Run the PostgreSQL image mounting a directory Run the PostgreSQL image, mounting a directory from your host. ```console -$ docker run --name pg-0 \ +docker run --name pg-0 \ -v /path/to/custom-conf/:/bitnami/repmgr/conf/ \ bitnami/postgresql-repmgr:latest ``` @@ -403,7 +398,7 @@ services: - /path/to/custom-conf/:/bitnami/repmgr/conf/ ``` -#### Step 2: Edit the configuration +#### Step 2: Edit the configuration file Edit the configuration on your host using your favorite editor. @@ -411,19 +406,19 @@ Edit the configuration on your host using your favorite editor. vi /path/to/custom-conf/postgresql.conf ``` -#### Step 3: Restart PostgreSQL +#### Step 3: Restart PostgreSQL container After changing the configuration, restart your PostgreSQL container for changes to take effect. ```console -$ docker restart pg-0 +docker restart pg-0 ``` or using Docker Compose: ```console -$ docker-compose restart pg-0 -$ docker-compose restart pg-1 +docker-compose restart pg-0 +docker-compose restart pg-1 ``` Refer to the [server configuration](http://www.postgresql.org/docs/10/static/runtime-config.html) manual for the complete list of configuration options. @@ -456,8 +451,8 @@ If you are using your custom `postgresql.conf`, you should create (or uncomment) Remember to set the proper permissions to the mounted directory in your host: ```console -$ sudo chgrp -R root /path/to/extra-custom-conf/ -$ sudo chmod -R g+rwX /path/to/extra-custom-conf/ +sudo chgrp -R root /path/to/extra-custom-conf/ +sudo chmod -R g+rwX /path/to/extra-custom-conf/ ``` #### Step 1: Run the PostgreSQL image @@ -465,7 +460,7 @@ $ sudo chmod -R g+rwX /path/to/extra-custom-conf/ Run the PostgreSQL image, mounting a directory from your host. ```console -$ docker run --name pg-0 \ +docker run --name pg-0 \ -v /path/to/extra-custom-conf/:/bitnami/postgresql/conf/conf.d/ \ -v /path/to/custom-conf/:/bitnami/repmgr/conf/ \ bitnami/postgresql-repmgr:latest @@ -506,14 +501,14 @@ vi /path/to/extra-custom-conf/extended.conf After changing the configuration, restart your PostgreSQL container for changes to take effect. ```console -$ docker restart pg-0 +docker restart pg-0 ``` or using Docker Compose: ```console -$ docker-compose restart pg-0 -$ docker-compose restart pg-1 +docker-compose restart pg-0 +docker-compose restart pg-1 ``` ### Environment variables @@ -572,7 +567,7 @@ Please see the list of environment variables available in the Bitnami PostgreSQL The Bitnami PostgreSQL HA Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs pg-0 +docker logs pg-0 ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -586,7 +581,7 @@ Bitnami provides up-to-date versions of PostgreSQL HA, including security patche #### Step 1: Get the updated image ```console -$ docker pull bitnami/postgresql-repmgr:latest +docker pull bitnami/postgresql-repmgr:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/postgresql-repmgr:latest`. @@ -596,33 +591,33 @@ or if you're using Docker Compose, update the value of the image property to `bi Stop the currently running container using the command ```console -$ docker stop pg-0 +docker stop pg-0 ``` or using Docker Compose: ```console -$ docker-compose stop pg-0 -$ docker-compose stop pg-1 +docker-compose stop pg-0 +docker-compose stop pg-1 ``` Next, take a snapshot of the persistent volume `/path/to/postgresql-persistence` using: ```console -$ rsync -a /path/to/postgresql-persistence /path/to/postgresql-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/postgresql-persistence /path/to/postgresql-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v pg-0 +docker rm -v pg-0 ``` or using Docker Compose: ```console -$ docker-compose rm -v pg-0 -$ docker-compose rm -v pg-1 +docker-compose rm -v pg-0 +docker-compose rm -v pg-1 ``` #### Step 4: Run the new image @@ -630,26 +625,26 @@ $ docker-compose rm -v pg-1 Re-create your container from the new image. ```console -$ docker run --name pg-0 bitnami/postgresql-repmgr:latest +docker run --name pg-0 bitnami/postgresql-repmgr:latest ``` or using Docker Compose: ```console -$ docker-compose up pg-0 -$ docker-compose up pg-1 +docker-compose up pg-0 +docker-compose up pg-1 ``` ## Notable Changes ### 9.6.16-centos-7-r71, 10.11.0-centos-7-r71, 11.6.0-centos-7-r67, and 12.1.0-centos-7-r67 -- `9.6.16-centos-7-r71`, `10.11.0-centos-7-r71`, `11.6.0-centos-7-r67`, and `12.1.0-centos-7-r67` are considered the latest images based on CentOS. -- Standard supported distros: Debian & OEL. +* `9.6.16-centos-7-r71`, `10.11.0-centos-7-r71`, `11.6.0-centos-7-r67`, and `12.1.0-centos-7-r67` are considered the latest images based on CentOS. +* Standard supported distros: Debian & OEL. ### 9.6.15-r18, 9.6.15-ol-7-r23, 9.6.15-centos-7-r23, 10.10.0-r18, 10.10.0-ol-7-r23, 10.10.0-centos-7-r23, 11.5.0-r19, 11.5.0-centos-7-r23, 11.5.0-ol-7-r23 -- Adds Postgis extension to postgresql, version 2.3.x to Postgresiql 9.6 and version 2.5 to 10, 11 and 12. +* Adds Postgis extension to postgresql, version 2.3.x to Postgresiql 9.6 and version 2.5 to 10, 11 and 12. ## Contributing @@ -667,7 +662,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/postgresql/README.md b/bitnami/postgresql/README.md index 37d43ba083b5..9985614879af 100644 --- a/bitnami/postgresql/README.md +++ b/bitnami/postgresql/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name postgresql bitnami/postgresql:latest +docker run --name postgresql bitnami/postgresql:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/postgresql/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/postgresql/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -55,21 +55,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami PostgreSQL Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/postgresql). ```console -$ docker pull bitnami/postgresql:latest +docker pull bitnami/postgresql:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/postgresql/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/postgresql:[TAG] +docker pull bitnami/postgresql:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -79,7 +79,7 @@ If you remove the container all your data and configurations will be lost, and t For persistence you should mount a directory at the `/bitnami/postgresql` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/postgresql-persistence:/bitnami/postgresql \ bitnami/postgresql:latest ``` @@ -110,7 +110,7 @@ In this example, we will create a PostgreSQL client instance that will connect t #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the PostgreSQL server instance @@ -118,7 +118,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the PostgreSQL container to the `app-tier` network. ```console -$ docker run -d --name postgresql-server \ +docker run -d --name postgresql-server \ --network app-tier \ bitnami/postgresql:latest ``` @@ -128,7 +128,7 @@ $ docker run -d --name postgresql-server \ Finally we create a new container instance to launch the PostgreSQL client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/postgresql:latest psql -h postgresql-server -U postgres ``` @@ -163,7 +163,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -178,7 +178,7 @@ In order to have your custom files inside the docker image you can mount them as Passing extra command-line flags to the postgresql service command is possible through the following env var: -- `POSTGRESQL_EXTRA_FLAGS`: Flags to be appended to the `postgres` startup command. No defaults +* `POSTGRESQL_EXTRA_FLAGS`: Flags to be appended to the `postgres` startup command. No defaults ### Initializing a new instance @@ -191,7 +191,7 @@ In order to have your custom files inside the docker image you can mount them as In the above commands you may have noticed the use of the `POSTGRESQL_PASSWORD` environment variable. Passing the `POSTGRESQL_PASSWORD` environment variable when running the image for the first time will set the password of the `postgres` user to the value of `POSTGRESQL_PASSWORD` (or the content of the file specified in `POSTGRESQL_PASSWORD_FILE`). ```console -$ docker run --name postgresql -e POSTGRESQL_PASSWORD=password123 bitnami/postgresql:latest +docker run --name postgresql -e POSTGRESQL_PASSWORD=password123 bitnami/postgresql:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/tree/main/bitnami/postgresql/docker-compose.yml) file present in this repository: @@ -215,7 +215,7 @@ Refer to [Creating a database user on first run](#creating-a-database-user-on-fi By passing the `POSTGRESQL_DATABASE` environment variable when running the image for the first time, a database will be created. This is useful if your application requires that a database already exists, saving you from having to manually create the database using the PostgreSQL client. ```console -$ docker run --name postgresql -e POSTGRESQL_DATABASE=my_database bitnami/postgresql:latest +docker run --name postgresql -e POSTGRESQL_DATABASE=my_database bitnami/postgresql:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/tree/main/bitnami/postgresql/docker-compose.yml) file present in this repository: @@ -234,7 +234,7 @@ services: You can also create a restricted database user that only has permissions for the database created with the [`POSTGRESQL_DATABASE`](#creating-a-database-on-first-run) environment variable. To do this, provide the `POSTGRESQL_USERNAME` environment variable. ```console -$ docker run --name postgresql -e POSTGRESQL_USERNAME=my_user -e POSTGRESQL_PASSWORD=password123 -e POSTGRESQL_DATABASE=my_database bitnami/postgresql:latest +docker run --name postgresql -e POSTGRESQL_USERNAME=my_user -e POSTGRESQL_PASSWORD=password123 -e POSTGRESQL_DATABASE=my_database bitnami/postgresql:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/tree/main/bitnami/postgresql/docker-compose.yml) file present in this repository: @@ -257,38 +257,38 @@ When `POSTGRESQL_USERNAME` is specified, the `postgres` user is not assigned a p The Bitnami PostgreSQL Image comes with the pgAudit module enabled by default. Thanks to this, audit information can be enabled in the container with these environment variables: -- `POSTGRESQL_PGAUDIT_LOG`: Comma-separated list with different operations to audit. Find in the [official pgAudit documentation](https://github.com/pgaudit/pgaudit#configuration) the list of possible values. No defaults. -- `POSTGRESQL_PGAUDIT_LOG_CATALOG`: Session logging enabled in the case where all relations in a statement are in pg_catalog. No defaults. -- `POSTGRESQL_LOG_CONNECTIONS`: Add log entry for logins. No defaults. -- `POSTGRESQL_LOG_DISCONNECTIONS`: Add log entry for logouts. No defaults. -- `POSTGRESQL_LOG_HOSTNAME`: Log the client hostname. No defaults. -- `POSTGRESQL_LOG_LINE_PREFIX`: Define the format of the log entry lines. Find in the [official PostgreSQL documentation](https://www.postgresql.org/docs/current/runtime-config-logging.html) the string parameters. No defaults. -- `POSTGRESQL_LOG_TIMEZONE`: Set the timezone for the log entry timestamp. No defaults. +* `POSTGRESQL_PGAUDIT_LOG`: Comma-separated list with different operations to audit. Find in the [official pgAudit documentation](https://github.com/pgaudit/pgaudit#configuration) the list of possible values. No defaults. +* `POSTGRESQL_PGAUDIT_LOG_CATALOG`: Session logging enabled in the case where all relations in a statement are in pg_catalog. No defaults. +* `POSTGRESQL_LOG_CONNECTIONS`: Add log entry for logins. No defaults. +* `POSTGRESQL_LOG_DISCONNECTIONS`: Add log entry for logouts. No defaults. +* `POSTGRESQL_LOG_HOSTNAME`: Log the client hostname. No defaults. +* `POSTGRESQL_LOG_LINE_PREFIX`: Define the format of the log entry lines. Find in the [official PostgreSQL documentation](https://www.postgresql.org/docs/current/runtime-config-logging.html) the string parameters. No defaults. +* `POSTGRESQL_LOG_TIMEZONE`: Set the timezone for the log entry timestamp. No defaults. ### Session settings The Bitnami PostgreSQL Image allows configuring several parameters for the connection and session management: -- `POSTGRESQL_USERNAME_CONNECTION_LIMIT`: If a user different from `postgres` is created, set the connection limit. No defaults. -- `POSTGRESQL_POSTGRES_CONNECTION_LIMIT`: Set the connection limit for the `postgres` user. No defaults. -- `POSTGRESQL_STATEMENT_TIMEOUT`: Set the statement timeout. No defaults. -- `POSTGRESQL_TCP_KEEPALIVES_INTERVAL`: TCP keepalive interval. No defaults. -- `POSTGRESQL_TCP_KEEPALIVES_IDLE`: TCP keepalive idle time. No defaults. -- `POSTGRESQL_TCP_KEEPALIVES_COUNT`: TCP keepalive count. No defaults. +* `POSTGRESQL_USERNAME_CONNECTION_LIMIT`: If a user different from `postgres` is created, set the connection limit. No defaults. +* `POSTGRESQL_POSTGRES_CONNECTION_LIMIT`: Set the connection limit for the `postgres` user. No defaults. +* `POSTGRESQL_STATEMENT_TIMEOUT`: Set the statement timeout. No defaults. +* `POSTGRESQL_TCP_KEEPALIVES_INTERVAL`: TCP keepalive interval. No defaults. +* `POSTGRESQL_TCP_KEEPALIVES_IDLE`: TCP keepalive idle time. No defaults. +* `POSTGRESQL_TCP_KEEPALIVES_COUNT`: TCP keepalive count. No defaults. ### Configuring time zone The Bitnami PostgreSQL Image allows configuring the time zone for PostgreSQL with the following environment variables: -- `POSTGRESQL_TIMEZONE`: Sets the time zone for displaying and interpreting time stamps. -- `POSTGRESQL_LOG_TIMEZONE`: Sets the time zone used for timestamps written in the server log. +* `POSTGRESQL_TIMEZONE`: Sets the time zone for displaying and interpreting time stamps. +* `POSTGRESQL_LOG_TIMEZONE`: Sets the time zone used for timestamps written in the server log. ### Modify pg_hba.conf By default, the Bitnami PostgreSQL Image generates `local` and `md5` entries in the pg_hba.conf file. In order to adapt to any other requirements or standards, it is possible to change the pg_hba.conf file by: -- Mounting your own pg_hba.conf file in `/bitnami/postgresql/conf` -- Using the `POSTGRESQL_PGHBA_REMOVE_FILTERS` with a comma-separated list of patterns. All lines that match any of the patterns will be removed. For example, if we want to remove all `local` and `md5` authentication (in favour of hostssl only connections, for example), set `POSTGRESQL_PGHBA_REMOVE_FILTERS=local, md5`. +* Mounting your own pg_hba.conf file in `/bitnami/postgresql/conf` +* Using the `POSTGRESQL_PGHBA_REMOVE_FILTERS` with a comma-separated list of patterns. All lines that match any of the patterns will be removed. For example, if we want to remove all `local` and `md5` authentication (in favour of hostssl only connections, for example), set `POSTGRESQL_PGHBA_REMOVE_FILTERS=local, md5`. ### Preloading shared libraries @@ -298,12 +298,12 @@ It is possible to modify the list of libraries that PostgreSQL will preload at b A [Streaming replication](http://www.postgresql.org/docs/9.4/static/warm-standby.html#STREAMING-REPLICATION) cluster can easily be setup with the Bitnami PostgreSQL Docker Image using the following environment variables: - - `POSTGRESQL_REPLICATION_MODE`: Replication mode. Possible values `master`/`slave`. No defaults. - - `POSTGRESQL_REPLICATION_USER`: The replication user created on the master on first run. No defaults. - - `POSTGRESQL_REPLICATION_PASSWORD`: The replication users password. No defaults. - - `POSTGRESQL_REPLICATION_PASSWORD_FILE`: Path to a file that contains the replication users password. This will override the value specified in `POSTGRESQL_REPLICATION_PASSWORD`. No defaults. - - `POSTGRESQL_MASTER_HOST`: Hostname/IP of replication master (slave parameter). No defaults. - - `POSTGRESQL_MASTER_PORT_NUMBER`: Server port of the replication master (slave parameter). Defaults to `5432`. +* `POSTGRESQL_REPLICATION_MODE`: Replication mode. Possible values `master`/`slave`. No defaults. +* `POSTGRESQL_REPLICATION_USER`: The replication user created on the master on first run. No defaults. +* `POSTGRESQL_REPLICATION_PASSWORD`: The replication users password. No defaults. +* `POSTGRESQL_REPLICATION_PASSWORD_FILE`: Path to a file that contains the replication users password. This will override the value specified in `POSTGRESQL_REPLICATION_PASSWORD`. No defaults. +* `POSTGRESQL_MASTER_HOST`: Hostname/IP of replication master (slave parameter). No defaults. +* `POSTGRESQL_MASTER_PORT_NUMBER`: Server port of the replication master (slave parameter). Defaults to `5432`. In a replication cluster you can have one master and zero or more slaves. When replication is enabled the master node is in read-write mode, while the slaves are in read-only mode. For best performance its advisable to limit the reads to the slaves. @@ -312,7 +312,7 @@ In a replication cluster you can have one master and zero or more slaves. When r The first step is to start the master. ```console -$ docker run --name postgresql-master \ +docker run --name postgresql-master \ -e POSTGRESQL_REPLICATION_MODE=master \ -e POSTGRESQL_USERNAME=my_user \ -e POSTGRESQL_PASSWORD=password123 \ @@ -329,7 +329,7 @@ In this command we are configuring the container as the master using the `POSTGR Next we start a replication slave container. ```console -$ docker run --name postgresql-slave \ +docker run --name postgresql-slave \ --link postgresql-master:master \ -e POSTGRESQL_REPLICATION_MODE=slave \ -e POSTGRESQL_MASTER_HOST=master \ @@ -348,7 +348,7 @@ With these two commands you now have a two node PostgreSQL master-slave streamin If the master goes down you can reconfigure a slave to act as the master and begin accepting writes by creating the trigger file `/tmp/postgresql.trigger.5432`. For example the following command reconfigures `postgresql-slave` to act as the master: ```console -$ docker exec postgresql-slave touch /tmp/postgresql.trigger.5432 +docker exec postgresql-slave touch /tmp/postgresql.trigger.5432 ``` > **Note**: The configuration of the other slaves in the cluster needs to be updated so that they are aware of the new master. This would require you to restart the other slaves with `--link postgresql-slave:master` as per our examples. @@ -393,7 +393,7 @@ volumes: Scale the number of slaves using: ```console -$ docker-compose up --detach --scale postgresql-master=1 --scale postgresql-slave=3 +docker-compose up --detach --scale postgresql-master=1 --scale postgresql-slave=3 ``` The above command scales up the number of slaves to `3`. You can scale down in the same way. @@ -401,10 +401,11 @@ The above command scales up the number of slaves to `3`. You can scale down in t > **Note**: You should not scale up/down the number of master nodes. Always have only one master node running. #### Synchronous commits + By default, the slaves instances are configued with asynchronous replication. In order to guarantee more data stability (at the cost of some performance), it is possible to set synchronous commits (i.e. a transaction commit will not return success to the client until it has been written in a set of replicas) using the following environment variables. - - `POSTGRESQL_SYNCHRONOUS_COMMIT_MODE`: Establishes the type of synchronous commit. The available options are: `on`, `remote_apply`, `remote_write`, `local` and `off`. The default value is `on`. For more information, check the [official PostgreSQL documentation](https://www.postgresql.org/docs/9.6/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT). - - `POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS`: Establishes the number of replicas that will enable synchronous replication. This number must not be above the number of slaves that you configure in the cluster. +* `POSTGRESQL_SYNCHRONOUS_COMMIT_MODE`: Establishes the type of synchronous commit. The available options are: `on`, `remote_apply`, `remote_write`, `local` and `off`. The default value is `on`. For more information, check the [official PostgreSQL documentation](https://www.postgresql.org/docs/9.6/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT). +* `POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS`: Establishes the number of replicas that will enable synchronous replication. This number must not be above the number of slaves that you configure in the cluster. With Docker Compose the master-slave replication with synchronous commits can be setup as follows: @@ -475,8 +476,8 @@ In order to use LDAP authentication you need to enable it setting the environmen There are two ways of setting up the LDAP configuration: -- By configuring `POSTGRESQL_LDAP_URL`, where you can configure all the associated parameters in the URL. -- Setting up the parameters `POSTGRESQL_LDAP_xxxx` independently. +* By configuring `POSTGRESQL_LDAP_URL`, where you can configure all the associated parameters in the URL. +* Setting up the parameters `POSTGRESQL_LDAP_xxxx` independently. The LDAP related parameters are: @@ -499,19 +500,19 @@ For more information refer to [Postgresql LDAP auth configuration documentation] PostgreSQL supports the encryption of connections using the SSL/TLS protocol. Should you desire to enable this optional feature, you may use the following environment variables to configure the application: - - `POSTGRESQL_ENABLE_TLS`: Whether to enable TLS for traffic or not. Defaults to `no`. - - `POSTGRESQL_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. - - `POSTGRESQL_TLS_KEY_FILE`: File containing the key for certificate. No defaults. - - `POSTGRESQL_TLS_CA_FILE`: File containing the CA of the certificate. If provided, PostgreSQL will authenticate TLS/SSL clients by requesting them a certificate (see [ref](https://www.postgresql.org/docs/9.6/auth-methods.html)). No defaults. - - `POSTGRESQL_TLS_CRL_FILE`: File containing a Certificate Revocation List. No defaults. - - `POSTGRESQL_TLS_PREFER_SERVER_CIPHERS`: Whether to use the server's TLS cipher preferences rather than the client's. Defaults to `yes`. +* `POSTGRESQL_ENABLE_TLS`: Whether to enable TLS for traffic or not. Defaults to `no`. +* `POSTGRESQL_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. +* `POSTGRESQL_TLS_KEY_FILE`: File containing the key for certificate. No defaults. +* `POSTGRESQL_TLS_CA_FILE`: File containing the CA of the certificate. If provided, PostgreSQL will authenticate TLS/SSL clients by requesting them a certificate (see [ref](https://www.postgresql.org/docs/9.6/auth-methods.html)). No defaults. +* `POSTGRESQL_TLS_CRL_FILE`: File containing a Certificate Revocation List. No defaults. +* `POSTGRESQL_TLS_PREFER_SERVER_CIPHERS`: Whether to use the server's TLS cipher preferences rather than the client's. Defaults to `yes`. When enabling TLS, PostgreSQL will support both standard and encrypted traffic by default, but prefer the latter. Below there are some examples on how to quickly set up TLS traffic: 1. Using `docker run` ```console - $ docker run \ + docker run \ -v /path/to/certs:/opt/bitnami/postgresql/certs \ -e ALLOW_EMPTY_PASSWORD=yes \ -e POSTGRESQL_ENABLE_TLS=yes \ @@ -552,6 +553,7 @@ The image looks for `postgresql.conf` file in `/opt/bitnami/postgresql/conf/`. Y ``` As PostgreSQL image is non-root, you need to set the proper permissions to the mounted directory in your host: + ```console sudo chown 1001:1001 /path/to/postgresql-persistence/conf/ ``` @@ -561,7 +563,7 @@ sudo chown 1001:1001 /path/to/postgresql-persistence/conf/ Run the PostgreSQL image, mounting a directory from your host. ```console -$ docker run --name postgresql \ +docker run --name postgresql \ -v /path/to/postgresql-persistence/conf/:/bitnami/postgresql/conf/ \ bitnami/postgresql:latest ``` @@ -593,13 +595,13 @@ vi /path/to/postgresql-persistence/conf/postgresql.conf After changing the configuration, restart your PostgreSQL container for changes to take effect. ```console -$ docker restart postgresql +docker restart postgresql ``` or using Docker Compose: ```console -$ docker-compose restart postgresql +docker-compose restart postgresql ``` Refer to the [server configuration](http://www.postgresql.org/docs/9.4/static/runtime-config.html) manual for the complete list of configuration options. @@ -623,8 +625,8 @@ include_dir = 'conf.d' # Include files ending in '.conf' from directory 'conf.d In your host, you should create the extended configuration file under the `conf.d` directory: ```console -$ mkdir -p /path/to/postgresql-persistence/conf/conf.d/ -$ vi /path/to/postgresql-persistence/conf/conf.d/extended.conf +mkdir -p /path/to/postgresql-persistence/conf/conf.d/ +vi /path/to/postgresql-persistence/conf/conf.d/extended.conf ``` If you are using your custom `postgresql.conf`, you should create (or uncomment) the above section in your config file, in this case the `/path/to/postgresql-persistence/conf/` structure should be something like @@ -642,11 +644,11 @@ If you are using your custom `postgresql.conf`, you should create (or uncomment) Specifying extra initdb arguments can easily be done using the following environment variables: - - `POSTGRESQL_INITDB_ARGS`: Specifies extra arguments for the initdb command. No defaults. - - `POSTGRESQL_INITDB_WALDIR`: Defines a custom location for the transaction log. No defaults. +* `POSTGRESQL_INITDB_ARGS`: Specifies extra arguments for the initdb command. No defaults. +* `POSTGRESQL_INITDB_WALDIR`: Defines a custom location for the transaction log. No defaults. ```console -$ docker run --name postgresql \ +docker run --name postgresql \ -e POSTGRESQL_INITDB_ARGS="--data-checksums" \ -e POSTGRESQL_INITDB_WALDIR="/bitnami/waldir" \ bitnami/postgresql:latest @@ -668,19 +670,19 @@ services: You can control the parameters used to stop postgresql in the initialization process by using: - - `POSTGRESQL_PGCTLTIMEOUT` that will set the timeout for the `pg_ctl` command. - - `POSTGRESQL_SHUTDOWN_MODE` that will indicate the [shutdown mode](https://www.postgresql.org/docs/11/app-pg-ctl.html) used. +* `POSTGRESQL_PGCTLTIMEOUT` that will set the timeout for the `pg_ctl` command. +* `POSTGRESQL_SHUTDOWN_MODE` that will indicate the [shutdown mode](https://www.postgresql.org/docs/11/app-pg-ctl.html) used. ### Installing extra locales The Dockerfile provides two arguments to configure extra locales at build time: - - `WITH_ALL_LOCALES`: Enable all supported locales. Default: no - - `EXTRA_LOCALES`: Comma separated list of extra locales to enable. No defaults +* `WITH_ALL_LOCALES`: Enable all supported locales. Default: no +* `EXTRA_LOCALES`: Comma separated list of extra locales to enable. No defaults For example, to build an image with support for the `es_ES.UTF-8 UTF-8` locale, you can add the following argument to your build command: -``` +```console docker build --build-arg EXTRA_LOCALES="es_ES.UTF-8 UTF-8" ... ``` @@ -711,7 +713,8 @@ The Bitnami PostgreSQL container allows two different sets of environment variab | POSTGRESQL_SYNCHRONOUS_COMMIT_MODE | POSTGRES_SYNCHRONOUS_COMMIT_MODE | | POSTGRESQL_SHUTDOWN_MODE | POSTGRES_SHUTDOWN_MODE | -> *IMPORTANT*: Changing the `POSTGRES_USER` will not change the owner of the database that will continue being the `postgres` user. In order to change the database owner, please access using `postgres` as user (`$ psql -U postgres ...`) and execute the following command: +> *IMPORTANT*: Changing the `POSTGRES_USER` will not change the owner of the database that will continue being the `postgres` user. In order to change the database owner, please access using `postgres` as user (`psql -U postgres ...`) and execute the following command: + ```console alter database POSTGRES_DATABASE owner to POSTGRES_USER; ``` @@ -732,13 +735,13 @@ The default toast compression is `pglz`, but you can modify it by setting the en The Bitnami PostgreSQL Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs postgresql +docker logs postgresql ``` or using Docker Compose: ```console -$ docker-compose logs postgresql +docker-compose logs postgresql ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -752,7 +755,7 @@ Bitnami provides up-to-date versions of PostgreSQL, including security patches, #### Step 1: Get the updated image ```console -$ docker pull bitnami/postgresql:latest +docker pull bitnami/postgresql:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/postgresql:latest`. @@ -762,31 +765,31 @@ or if you're using Docker Compose, update the value of the image property to `bi Stop the currently running container using the command ```console -$ docker stop postgresql +docker stop postgresql ``` or using Docker Compose: ```console -$ docker-compose stop postgresql +docker-compose stop postgresql ``` Next, take a snapshot of the persistent volume `/path/to/postgresql-persistence` using: ```console -$ rsync -a /path/to/postgresql-persistence /path/to/postgresql-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/postgresql-persistence /path/to/postgresql-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v postgresql +docker rm -v postgresql ``` or using Docker Compose: ```console -$ docker-compose rm -v postgresql +docker-compose rm -v postgresql ``` #### Step 4: Run the new image @@ -794,59 +797,59 @@ $ docker-compose rm -v postgresql Re-create your container from the new image. ```console -$ docker run --name postgresql bitnami/postgresql:latest +docker run --name postgresql bitnami/postgresql:latest ``` or using Docker Compose: ```console -$ docker-compose up postgresql +docker-compose up postgresql ``` ## Notable Changes ### 9.6.16-centos-7-r71, 10.11.0-centos-7-r72, 11.6.0-centos-7-r71, and 12.1.0-centos-7-r72 -- `9.6.16-centos-7-r71`, `10.11.0-centos-7-r72`, `11.6.0-centos-7-r71`, and `12.1.0-centos-7-r72` are considered the latest images based on CentOS. -- Standard supported distros: Debian & OEL. +* `9.6.16-centos-7-r71`, `10.11.0-centos-7-r72`, `11.6.0-centos-7-r71`, and `12.1.0-centos-7-r72` are considered the latest images based on CentOS. +* Standard supported distros: Debian & OEL. ### 9.6.15-r93, 9.6.15-ol-7-r108, 9.6.15-centos-7-r107, 10.10.0-r923, 10.10.0-ol-7-r106, 10.10.0-centos-7-r107, 11.5.0-r89, 11.5.0-centos-7-r103, 11.5.0-ol-7-r108, 12.0.0-r21, 12.0.0-centos-7-r34 and 12.0.0-ol-7-r32 -- Adds LDAP authentication support +* Adds LDAP authentication support ### 9.6.15-r82, 9.6.15-ol-7-r92, 9.6.15-centos-7-r91, 10.10.0-r82, 10.10.0-ol-7-r90, 10.10.0-centos-7-r91, 11.5.0-r80, 11.5.0-centos-7-r87, 11.5.0-ol-7-r92, 12.0.0-r11, 12.0.0-centos-7-r17 and 12.0.0-ol-7-r17 -- Adds Postgis extension to postgresql, version 2.3.x to Postgresiql 9.6 and version 2.5 to 10, 11 and 12. +* Adds Postgis extension to postgresql, version 2.3.x to Postgresiql 9.6 and version 2.5 to 10, 11 and 12. ### 9.6.12-r70, 9.6.12-ol-7-r72, 10.7.0-r69, 10.7.0-ol-7-r71, 11.2.0-r69 and 11.2.0-ol-7-r71 -- Decrease the size of the container. It is not necessary Node.js anymore. PostgreSQL configuration moved to bash scripts in the rootfs/ folder. -- This container is backwards compatible with the previous versions, as the mount folders remain unchanged. -- The `POSTGRESQL_PASSWORD` variable must be passed to the slaves so they generate the proper `pg_hba.conf` admission rules. +* Decrease the size of the container. It is not necessary Node.js anymore. PostgreSQL configuration moved to bash scripts in the rootfs/ folder. +* This container is backwards compatible with the previous versions, as the mount folders remain unchanged. +* The `POSTGRESQL_PASSWORD` variable must be passed to the slaves so they generate the proper `pg_hba.conf` admission rules. ### 9.6.11-r66, 9.6.11-ol-7-r83, 10.6.0-r68, 10.6.0-ol-7-r83, 11.1.0-r62 and 11.1.0-ol-7-r79 -- The PostgreSQL container can be configured using two sets of environment variables. For more information, check [Environment variables aliases](#environment-variables-aliases) +* The PostgreSQL container can be configured using two sets of environment variables. For more information, check [Environment variables aliases](#environment-variables-aliases) ### 9.6.11-r38, 10.6.0-r39 and 11.1.0-r34 -- The PostgreSQL container now contains options to easily configure synchronous commits between slaves. This provides more data stability, but must be configured with caution as it also has a cost in performance. For more information, check [Synchronous Commits](#synchronous-commits). +* The PostgreSQL container now contains options to easily configure synchronous commits between slaves. This provides more data stability, but must be configured with caution as it also has a cost in performance. For more information, check [Synchronous Commits](#synchronous-commits). ### 9.6.9-r19 and 10.4.0-r19 -- The PostgreSQL container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the PostgreSQL daemon was started as the `postgres` user. From now on, both the container and the PostgreSQL daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The PostgreSQL container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the PostgreSQL daemon was started as the `postgres` user. From now on, both the container and the PostgreSQL daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 9.5.3-r5 -- The `POSTGRES_` prefix on environment variables is now replaced by `POSTGRESQL_` -- `POSTGRES_USER` parameter has been renamed to `POSTGRESQL_USERNAME`. -- `POSTGRES_DB` parameter has been renamed to `POSTGRESQL_DATABASE`. -- `POSTGRES_MODE` parameter has been renamed to `POSTGRESQL_REPLICATION_MODE`. +* The `POSTGRES_` prefix on environment variables is now replaced by `POSTGRESQL_` +* `POSTGRES_USER` parameter has been renamed to `POSTGRESQL_USERNAME`. +* `POSTGRES_DB` parameter has been renamed to `POSTGRESQL_DATABASE`. +* `POSTGRES_MODE` parameter has been renamed to `POSTGRESQL_REPLICATION_MODE`. ### 9.5.3-r0 -- All volumes have been merged at `/bitnami/postgresql`. Now you only need to mount a single volume at `/bitnami/postgresql` for persistence. -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* All volumes have been merged at `/bitnami/postgresql`. Now you only need to mount a single volume at `/bitnami/postgresql` for persistence. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ## Contributing @@ -864,7 +867,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/postgrest/README.md b/bitnami/postgrest/README.md index 7e8b2a55d88e..93c7dd30f070 100644 --- a/bitnami/postgrest/README.md +++ b/bitnami/postgrest/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name postgrest bitnami/postgrest +docker run -it --name postgrest bitnami/postgrest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/postgrest/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/postgrest/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami PostgREST Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/postgrest). ```console -$ docker pull bitnami/postgrest:latest +docker pull bitnami/postgrest:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/postgrest/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/postgrest:[TAG] +docker pull bitnami/postgrest:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of PostgREST, including security patches, s #### Step 1: Get the updated image ```console -$ docker pull bitnami/postgrest:latest +docker pull bitnami/postgrest:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/postgrest:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v postgrest +docker rm -v postgrest ``` or using Docker Compose: ```console -$ docker-compose rm -v postgrest +docker-compose rm -v postgrest ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v postgrest Re-create your container from the new image. ```console -$ docker run --name postgrest bitnami/postgrest:latest +docker run --name postgrest bitnami/postgrest:latest ``` or using Docker Compose: ```console -$ docker-compose up postgrest +docker-compose up postgrest ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up postgrest To run commands inside this container you can use `docker run`, for example to execute `postgrest --help` you can follow the example below: ```console -$ docker run --rm --name postgrest bitnami/postgrest:latest --help +docker run --rm --name postgrest bitnami/postgrest:latest --help ``` Check the [official PostgREST documentation](https://postgrest.org/en/stable//configuration.html) for more information about how to use PostgREST. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/prestashop/README.md b/bitnami/prestashop/README.md index 1bd6f6776f8e..d64eff2b934f 100644 --- a/bitnami/prestashop/README.md +++ b/bitnami/prestashop/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/prestashop/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/prestashop/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami PrestaShop Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/prestashop). ```console -$ docker pull bitnami/prestashop:latest +docker pull bitnami/prestashop:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/prestashop/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/prestashop:[TAG] +docker pull bitnami/prestashop:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +75,8 @@ PrestaShop requires access to a MySQL or MariaDB database to store information. The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/prestashop/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/prestashop/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/prestashop/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -86,14 +86,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create prestashop-network +docker network create prestashop-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_prestashop \ --env MARIADB_PASSWORD=bitnami \ @@ -106,8 +106,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for PrestaShop persistence and launch the container ```console -$ docker volume create --name prestashop_data -$ docker run -d --name prestashop \ +docker volume create --name prestashop_data +docker run -d --name prestashop \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env PRESTASHOP_DATABASE_USER=bn_prestashop \ @@ -163,13 +163,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create prestashop-network +docker network create prestashop-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_prestashop \ --env MARIADB_PASSWORD=bitnami \ @@ -182,7 +182,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the PrestaShop container with host volumes ```console -$ docker run -d --name prestashop \ +docker run -d --name prestashop \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env PRESTASHOP_DATABASE_USER=bn_prestashop \ @@ -199,7 +199,7 @@ $ docker run -d --name prestashop \ When you start the PrestaShop 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/prestashop/docker-compose.yml) file present in this repository: +* 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/prestashop/docker-compose.yml) file present in this repository: ```yaml prestashop: @@ -209,10 +209,10 @@ prestashop: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name prestashop -p 80:8080 -p 443:8443 \ + docker run -d --name prestashop -p 80:8080 -p 443:8443 \ --env PRESTASHOP_PASSWORD=my_password \ --network prestashop-tier \ --volume /path/to/prestashop-persistence:/bitnami \ @@ -221,78 +221,78 @@ prestashop: Available environment variables: -##### User and Site configuration +### User and Site configuration -- `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** -- `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** -- `PRESTASHOP_FIRST_NAME`: PrestaShop application User's First Name. Default: **Bitnami** -- `PRESTASHOP_LAST_NAME`: PrestaShop application User's Last Name. Default: **User** -- `PRESTASHOP_PASSWORD`: PrestaShop application password. Default: **bitnami1** -- `PRESTASHOP_EMAIL`: PrestaShop application email. Default: **user@example.com** -- `PRESTASHOP_HOST`: PrestaShop server hostname/address. -- `PRESTASHOP_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no**. -- `PRESTASHOP_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by PrestaShop to generate URLs and links when accessing using HTTP. Default **80**. -- `PRESTASHOP_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by PrestaShop to generate URLs and links when accessing using HTTPS. Default **443**. -- `PRESTASHOP_COOKIE_CHECK_IP`: Whether to check the cookie's IP address or not. Default: **yes**. See the [Troubleshooting](#troubleshooting) section for more information. -- `PRESTASHOP_COUNTRY`: Default country of the store. Default: **us**. -- `PRESTASHOP_LANGUAGE`: Default language of the store (iso code). Default: **en**. -- `PRESTASHOP_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** +* `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** +* `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** +* `PRESTASHOP_FIRST_NAME`: PrestaShop application User's First Name. Default: **Bitnami** +* `PRESTASHOP_LAST_NAME`: PrestaShop application User's Last Name. Default: **User** +* `PRESTASHOP_PASSWORD`: PrestaShop application password. Default: **bitnami1** +* `PRESTASHOP_EMAIL`: PrestaShop application email. Default: **user@example.com** +* `PRESTASHOP_HOST`: PrestaShop server hostname/address. +* `PRESTASHOP_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no**. +* `PRESTASHOP_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by PrestaShop to generate URLs and links when accessing using HTTP. Default **80**. +* `PRESTASHOP_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by PrestaShop to generate URLs and links when accessing using HTTPS. Default **443**. +* `PRESTASHOP_COOKIE_CHECK_IP`: Whether to check the cookie's IP address or not. Default: **yes**. See the [Troubleshooting](#troubleshooting) section for more information. +* `PRESTASHOP_COUNTRY`: Default country of the store. Default: **us**. +* `PRESTASHOP_LANGUAGE`: Default language of the store (iso code). Default: **en**. +* `PRESTASHOP_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** -##### Use an existing database +### Use an existing database -- `PRESTASHOP_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `PRESTASHOP_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `PRESTASHOP_DATABASE_NAME`: Database name that PrestaShop will use to connect with the database. Default: **bitnami_prestashop** -- `PRESTASHOP_DATABASE_USER`: Database user that PrestaShop will use to connect with the database. Default: **bn_prestashop** -- `PRESTASHOP_DATABASE_PASSWORD`: Database password that PrestaShop will use to connect with the database. No defaults. -- `PRESTASHOP_DATABASE_PREFIX`: Database table prefix that prestashop will use in the database. Default: **ps_** -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `PRESTASHOP_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `PRESTASHOP_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `PRESTASHOP_DATABASE_NAME`: Database name that PrestaShop will use to connect with the database. Default: **bitnami_prestashop** +* `PRESTASHOP_DATABASE_USER`: Database user that PrestaShop will use to connect with the database. Default: **bn_prestashop** +* `PRESTASHOP_DATABASE_PASSWORD`: Database password that PrestaShop will use to connect with the database. No defaults. +* `PRESTASHOP_DATABASE_PREFIX`: Database table prefix that prestashop will use in the database. Default: **ps_** +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for PrestaShop using mysql-client +### Create a database for PrestaShop using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +### SMTP Configuration To configure PrestaShop to send email using SMTP you can set the following environment variables: -- `PRESTASHOP_SMTP_HOST`: SMTP host. -- `PRESTASHOP_SMTP_PORT`: SMTP port. -- `PRESTASHOP_SMTP_USER`: SMTP account user. -- `PRESTASHOP_SMTP_PASSWORD`: SMTP account password. +* `PRESTASHOP_SMTP_HOST`: SMTP host. +* `PRESTASHOP_SMTP_PORT`: SMTP port. +* `PRESTASHOP_SMTP_USER`: SMTP account user. +* `PRESTASHOP_SMTP_PASSWORD`: SMTP account password. -##### PHP configuration +### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. Default: **300** -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. Default: **-1** -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. Default: **10000** -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. Default: **20M** -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. Default: **25M** +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. Default: **300** +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. Default: **-1** +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. Default: **10000** +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. Default: **20M** +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. Default: **25M** -##### Example +### 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/prestashop/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/prestashop/docker-compose.yml) file present in this repository: ```yaml prestashop: @@ -307,10 +307,11 @@ This would be an example of SMTP configuration using a Gmail account: - PRESTASHOP_SMTP_PASSWORD=your_password ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name prestashop -p 80:8080 -p 443:8443 \ + docker run -d --name prestashop -p 80:8080 -p 443:8443 \ --env PRESTASHOP_DATABASE_USER=bn_prestashop \ --env PRESTASHOP_DATABASE_NAME=bitnami_prestashop \ --env PRESTASHOP_SMTP_HOST=smtp.gmail.com \ @@ -331,13 +332,13 @@ This would be an example of SMTP configuration using a Gmail account: The Bitnami PrestaShop Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs prestashop +docker logs prestashop ``` Or using Docker Compose: ```console -$ docker-compose logs prestashop +docker-compose logs prestashop ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -351,13 +352,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop prestashop +docker stop prestashop ``` Or using Docker Compose: ```console -$ docker-compose stop prestashop +docker-compose stop prestashop ``` #### Step 2: Run the backup command @@ -365,7 +366,7 @@ $ docker-compose stop prestashop We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/prestashop-backups:/backups --volumes-from prestashop busybox \ +docker run --rm -v /path/to/prestashop-backups:/backups --volumes-from prestashop busybox \ cp -a /bitnami/prestashop /backups/latest ``` @@ -376,7 +377,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -386,7 +387,7 @@ For the MariaDB database container: For the PrestaShop container: ```diff - $ docker run -d --name prestashop \ + docker run -d --name prestashop \ ... - --volume /path/to/prestashop-persistence:/bitnami/prestashop \ + --volume /path/to/prestashop-backups/latest:/bitnami/prestashop \ @@ -395,12 +396,12 @@ For the PrestaShop container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and PrestaShop, 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 PrestaShop container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and PrestaShop, 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 PrestaShop container. For the MariaDB upgrade see: #### Step 1: Get the updated image ```console -$ docker pull bitnami/prestashop:latest +docker pull bitnami/prestashop:latest ``` #### Step 2: Stop the running container @@ -408,7 +409,7 @@ $ docker pull bitnami/prestashop:latest Stop the currently running container using the command ```console -$ docker-compose stop prestashop +docker-compose stop prestashop ``` #### Step 3: Take a snapshot of the application state @@ -428,7 +429,7 @@ docker-compose rm -v prestashop Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -439,10 +440,10 @@ The Bitnami PrestaShop Docker image is designed to be extended so it can be used Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -454,9 +455,9 @@ FROM bitnami/prestashop 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/prestashop @@ -498,11 +499,11 @@ Based on the extended image, you can update the [`docker-compose.yml`](https://g ### 1.7.6-8-debian-10-r1 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The PrestaShop container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: - - The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. - - Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the PrestaShop site by exporting its content, and importing it on a new PrestaShop container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The PrestaShop container image has been migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile, or `user: root` in `docker-compose.yml`. Consequences: + * The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. + * Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the PrestaShop site by exporting its content, and importing it on a new PrestaShop container. Follow the steps in [Backing up your container](#backing-up-your-container) and [Restoring a backup](#restoring-a-backup) to migrate the data between the old and new container. To upgrade a deployment with the previous Bitnami PrestaShop container image, which did not support non-root, the easiest way is to start the new image as a *root* user and updating the port numbers. Modify your `docker-compose.yml` file as follows: @@ -519,10 +520,10 @@ To upgrade a deployment with the previous Bitnami PrestaShop container image, wh ### 1.7.5-2-debian-9-r12 and 1.7.5-2-ol-7-r18 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ## Contributing @@ -548,7 +549,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/prometheus-operator/README.md b/bitnami/prometheus-operator/README.md index 50fb556dfdb3..edcd5f392096 100644 --- a/bitnami/prometheus-operator/README.md +++ b/bitnami/prometheus-operator/README.md @@ -44,21 +44,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Prometheus Operator Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/prometheus-operator). ```console -$ docker pull bitnami/prometheus-operator:latest +docker pull bitnami/prometheus-operator:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/prometheus-operator/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/prometheus-operator:[TAG] +docker pull bitnami/prometheus-operator:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -74,13 +74,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/prometheus-rsocket-proxy/README.md b/bitnami/prometheus-rsocket-proxy/README.md index b199e41b7f09..bc016bfee553 100644 --- a/bitnami/prometheus-rsocket-proxy/README.md +++ b/bitnami/prometheus-rsocket-proxy/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/prometheus-rsocket-proxy/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/prometheus-rsocket-proxy/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami prometheus-rsocket-proxy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/prometheus-rsocket-proxy). ```console -$ docker pull bitnami/prometheus-rsocket-proxy:latest +docker pull bitnami/prometheus-rsocket-proxy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/prometheus-rsocket-proxy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/prometheus-rsocket-proxy:[TAG] +docker pull bitnami/prometheus-rsocket-proxy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -80,7 +80,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/prometheus/README.md b/bitnami/prometheus/README.md index 8997c083f84c..58c99f6f1e67 100644 --- a/bitnami/prometheus/README.md +++ b/bitnami/prometheus/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name prometheus bitnami/prometheus:latest +docker run --name prometheus bitnami/prometheus:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Prometheus Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/prometheus). ```console -$ docker pull bitnami/prometheus:latest +docker pull bitnami/prometheus:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/prometheus/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/prometheus:[TAG] +docker pull bitnami/prometheus:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -64,7 +64,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence, mount a directory at the `/opt/bitnami/prometheus/data` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run --name prometheus \ +docker run --name prometheus \ -v /path/to/prometheus-persistence:/opt/bitnami/prometheus/data \ bitnami/prometheus:latest ``` @@ -82,7 +82,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create prometheus-network --driver bridge +docker network create prometheus-network --driver bridge ``` #### Step 2: Launch the Prometheus container within your network @@ -90,7 +90,7 @@ $ docker network create prometheus-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `prometheus-network` network. ```console -$ docker run --name prometheus-node1 --network prometheus-network bitnami/prometheus:latest +docker run --name prometheus-node1 --network prometheus-network bitnami/prometheus:latest ``` #### Step 3: Run other containers @@ -116,7 +116,7 @@ To view all available command-line flags, run `docker run bitnami/prometheus:lat You can overwrite the default configuration file with your custom `prometheus.yml`. Create a custom conf file and mount it at `/opt/bitnami/prometheus/conf/prometheus.yml` like so: ```console -$ docker run --name prometheus \ +docker run --name prometheus \ -v path/to/prometheus.yml:/opt/bitnami/prometheus/conf/prometheus.yml \ bitnami/prometheus:latest ``` @@ -126,7 +126,7 @@ $ docker run --name prometheus \ The Bitnami Prometheus Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs prometheus +docker logs prometheus ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -140,7 +140,7 @@ Bitnami provides up-to-date versions of prometheus, including security patches, #### Step 1: Get the updated image ```console -$ docker pull bitnami/prometheus:latest +docker pull bitnami/prometheus:latest ``` #### Step 2: Stop and backup the currently running container @@ -148,13 +148,13 @@ $ docker pull bitnami/prometheus:latest Stop the currently running container using the command ```console -$ docker stop prometheus +docker stop prometheus ``` Next, take a snapshot of the persistent volume `/path/to/prometheus-persistence` using: ```console -$ rsync -a /path/to/prometheus-persistence /path/to/prometheus-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/prometheus-persistence /path/to/prometheus-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -162,7 +162,7 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v prometheus +docker rm -v prometheus ``` #### Step 4: Run the new image @@ -170,7 +170,7 @@ $ docker rm -v prometheus Re-create your container from the new image, if necessary. ```console -$ docker run --name prometheus bitnami/prometheus:latest +docker run --name prometheus bitnami/prometheus:latest ``` ## Contributing @@ -182,13 +182,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/promtail/README.md b/bitnami/promtail/README.md index 38a45e0390dd..6b72c656b571 100644 --- a/bitnami/promtail/README.md +++ b/bitnami/promtail/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name promtail bitnami/promtail:latest +docker run --name promtail bitnami/promtail:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami promtail Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/promtail). ```console -$ docker pull bitnami/promtail:latest +docker pull bitnami/promtail:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/promtail/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/promtail:[TAG] +docker pull bitnami/promtail:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `promtail --version` you can follow the example below: ```console -$ docker run --rm --name promtail bitnami/promtail:latest -- --version +docker run --rm --name promtail bitnami/promtail:latest -- --version ``` Check the [official Promtail documentation](https://grafana.com/docs/loki/latest/clients/promtail/) to understand the possible configurations. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/pushgateway/README.md b/bitnami/pushgateway/README.md index 656504fa08d4..ea0a8372507a 100644 --- a/bitnami/pushgateway/README.md +++ b/bitnami/pushgateway/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name pushgateway bitnami/pushgateway:latest +docker run --name pushgateway bitnami/pushgateway:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Pushgateway Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/pushgateway). ```console -$ docker pull bitnami/pushgateway:latest +docker pull bitnami/pushgateway:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/pushgateway/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/pushgateway:[TAG] +docker pull bitnami/pushgateway:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create pushgateway-network --driver bridge +docker network create pushgateway-network --driver bridge ``` #### Step 2: Launch the Pushgateway container within your network @@ -76,7 +76,7 @@ $ docker network create pushgateway-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `pushgateway-network` network. ```console -$ docker run --name pushgateway-node1 --network pushgateway-network bitnami/pushgateway:latest +docker run --name pushgateway-node1 --network pushgateway-network bitnami/pushgateway:latest ``` #### Step 3: Run another containers @@ -94,7 +94,7 @@ The Pushgateway has to be configured as a target to scrape by Prometheus, using The Bitnami pushgateway Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs pushgateway +docker logs pushgateway ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -108,7 +108,7 @@ Bitnami provides up-to-date versions of pushgateway, including security patches, #### Step 1: Get the updated image ```console -$ docker pull bitnami/pushgateway:latest +docker pull bitnami/pushgateway:latest ``` #### Step 2: Stop and backup the currently running container @@ -116,13 +116,13 @@ $ docker pull bitnami/pushgateway:latest Stop the currently running container using the command ```console -$ docker stop pushgateway +docker stop pushgateway ``` Next, take a snapshot of the persistent volume `/path/to/pushgateway-persistence` using: ```console -$ rsync -a /path/to/pushgateway-persistence /path/to/pushgateway-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/pushgateway-persistence /path/to/pushgateway-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -130,15 +130,15 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v pushgateway +docker rm -v pushgateway ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name pushgateway bitnami/pushgateway:latest +docker run --name pushgateway bitnami/pushgateway:latest ``` ## Contributing @@ -158,13 +158,14 @@ The Bitnami team will review any PR that is created, feel free to create a PR if New versions and releases cadence are not going to be affected. Once a new version is released in the upstream project, the Bitnami container image will be updated to use the latest version, supporting the different branches supported by the upstream project as usual. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/python/README.md b/bitnami/python/README.md index ca1aba480d95..0dafc1706a8b 100644 --- a/bitnami/python/README.md +++ b/bitnami/python/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name python bitnami/python +docker run -it --name python bitnami/python ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/python/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/python/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -55,21 +55,21 @@ The formatting convention for `prod` tags has been changed: The recommended way to get the Bitnami Python Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/python). ```console -$ docker pull bitnami/python:latest +docker pull bitnami/python:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/python/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/python:[TAG] +docker pull bitnami/python:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Entering the REPL @@ -77,7 +77,7 @@ $ docker build -t bitnami/APP:latest . By default, running this image will drop you into the Python REPL, where you can interactively test and try things out in Python. ```console -$ docker run -it --name python bitnami/python +docker run -it --name python bitnami/python ``` ## Configuration @@ -87,7 +87,7 @@ $ docker run -it --name python bitnami/python The default work directory for the Python image is `/app`. You can mount a folder from your host here that includes your Python script, and run it normally using the `python` command. ```console -$ docker run -it --name python -v /path/to/app:/app bitnami/python \ +docker run -it --name python -v /path/to/app:/app bitnami/python \ python script.py ``` @@ -96,8 +96,8 @@ $ docker run -it --name python -v /path/to/app:/app bitnami/python \ If your Python app has a `requirements.txt` defining your app's dependencies, you can install the dependencies before running your app. ```console -$ docker run --rm -v /path/to/app:/app bitnami/python pip install -r requirements.txt -$ docker run -it --name python -v /path/to/app:/app bitnami/python python script.py +docker run --rm -v /path/to/app:/app bitnami/python pip install -r requirements.txt +docker run -it --name python -v /path/to/app:/app bitnami/python python script.py ``` or using Docker Compose: @@ -112,8 +112,8 @@ python: **Further Reading:** - - [python documentation](https://www.python.org/doc/) - - [pip documentation](https://pip.pypa.io/en/stable/) +* [python documentation](https://www.python.org/doc/) +* [pip documentation](https://pip.pypa.io/en/stable/) ## Maintenance @@ -124,7 +124,7 @@ Bitnami provides up-to-date versions of Python, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/python:latest +docker pull bitnami/python:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/python:latest`. @@ -132,13 +132,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v python +docker rm -v python ``` or using Docker Compose: ```console -$ docker-compose rm -v python +docker-compose rm -v python ``` #### Step 3: Run the new image @@ -146,13 +146,13 @@ $ docker-compose rm -v python Re-create your container from the new image. ```console -$ docker run --name python bitnami/python:latest +docker run --name python bitnami/python:latest ``` or using Docker Compose: ```console -$ docker-compose up python +docker-compose up python ``` ## Contributing @@ -171,7 +171,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/pytorch/README.md b/bitnami/pytorch/README.md index 6f8308cac41e..63ed722d0881 100644 --- a/bitnami/pytorch/README.md +++ b/bitnami/pytorch/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name pytorch bitnami/pytorch +docker run -it --name pytorch bitnami/pytorch ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/pytorch/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/pytorch/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Pytorch Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/pytorch). ```console -$ docker pull bitnami/pytorch:latest +docker pull bitnami/pytorch:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/pytorch/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/pytorch:[TAG] +docker pull bitnami/pytorch:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Entering the REPL @@ -69,7 +69,7 @@ $ docker build -t bitnami/APP:latest . By default, running this image will drop you into the Python REPL, where you can interactively test and try things out with PyTorch in Python. ```console -$ docker run -it --name pytorch bitnami/pytorch +docker run -it --name pytorch bitnami/pytorch ``` ## Configuration @@ -79,7 +79,7 @@ $ docker run -it --name pytorch bitnami/pytorch The default work directory for the PyTorch image is `/app`. You can mount a folder from your host here that includes your PyTorch script, and run it normally using the `python` command. ```console -$ docker run -it --name pytorch -v /path/to/app:/app bitnami/pytorch \ +docker run -it --name pytorch -v /path/to/app:/app bitnami/pytorch \ python script.py ``` @@ -88,14 +88,14 @@ $ docker run -it --name pytorch -v /path/to/app:/app bitnami/pytorch \ If your PyTorch app has a `requirements.txt` defining your app's dependencies, you can install the dependencies before running your app. ```console -$ docker run -it --name pytorch -v /path/to/app:/app bitnami/pytorch \ +docker run -it --name pytorch -v /path/to/app:/app bitnami/pytorch \ sh -c "conda install -y --file requirements.txt && python script.py" ``` **Further Reading:** - - [pytorch documentation](https://pytorch.org/docs/stable/index.html) - - [conda documentation](https://docs.conda.io/en/latest/) +* [pytorch documentation](https://pytorch.org/docs/stable/index.html) +* [conda documentation](https://docs.conda.io/en/latest/) ## Maintenance @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of PyTorch, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/pytorch:latest +docker pull bitnami/pytorch:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/pytorch:latest`. @@ -114,13 +114,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v pytorch +docker rm -v pytorch ``` or using Docker Compose: ```console -$ docker-compose rm -v pytorch +docker-compose rm -v pytorch ``` #### Step 3: Run the new image @@ -128,13 +128,13 @@ $ docker-compose rm -v pytorch Re-create your container from the new image. ```console -$ docker run --name pytorch bitnami/pytorch:latest +docker run --name pytorch bitnami/pytorch:latest ``` or using Docker Compose: ```console -$ docker-compose up pytorch +docker-compose up pytorch ``` ## Notable changes diff --git a/bitnami/rabbitmq-cluster-operator/README.md b/bitnami/rabbitmq-cluster-operator/README.md index 2e940b04deba..bb957fe610c9 100644 --- a/bitnami/rabbitmq-cluster-operator/README.md +++ b/bitnami/rabbitmq-cluster-operator/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name rabbitmq-cluster-operator bitnami/rabbitmq-cluster-operator:latest +docker run --name rabbitmq-cluster-operator bitnami/rabbitmq-cluster-operator:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami rabbitmq-cluster-operator Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/rabbitmq-cluster-operator). ```console -$ docker pull bitnami/rabbitmq-cluster-operator:latest +docker pull bitnami/rabbitmq-cluster-operator:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/rabbitmq-cluster-operator/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/rabbitmq-cluster-operator:[TAG] +docker pull bitnami/rabbitmq-cluster-operator:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `manager --metrics-bind-address :9782` you can follow the example below: ```console -$ docker run --rm --name rabbitmq-cluster-operator bitnami/rabbitmq-cluster-operator:latest -- --metrics-bind-address :9782 +docker run --rm --name rabbitmq-cluster-operator bitnami/rabbitmq-cluster-operator:latest -- --metrics-bind-address :9782 ``` Check the [official RabbitMQ Cluster Operator documentation](https://github.com/rabbitmq/cluster-operator/tree/main/docs) for more information. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/rabbitmq/README.md b/bitnami/rabbitmq/README.md index ef01632fd7b5..c44bf6befba7 100644 --- a/bitnami/rabbitmq/README.md +++ b/bitnami/rabbitmq/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name rabbitmq bitnami/rabbitmq:latest +docker run --name rabbitmq bitnami/rabbitmq:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/rabbitmq/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/rabbitmq/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -55,21 +55,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami RabbitMQ Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/rabbitmq). ```console -$ docker pull bitnami/rabbitmq:latest +docker pull bitnami/rabbitmq:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/rabbitmq/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/rabbitmq:[TAG] +docker pull bitnami/rabbitmq:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -79,7 +79,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -v /path/to/rabbitmq-persistence:/bitnami \ bitnami/rabbitmq:latest ``` @@ -109,7 +109,7 @@ In this example, we will create a RabbitMQ client instance that will connect to #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the RabbitMQ server instance @@ -117,7 +117,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the RabbitMQ container to the `app-tier` network. ```console -$ docker run -d --name rabbitmq-server \ +docker run -d --name rabbitmq-server \ --network app-tier \ bitnami/rabbitmq:latest ``` @@ -127,7 +127,7 @@ $ docker run -d --name rabbitmq-server \ Finally we create a new container instance to launch the RabbitMQ client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/rabbitmq:latest rabbitmqctl -n rabbit@rabbitmq-server status ``` @@ -162,7 +162,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -241,7 +241,7 @@ Available variables: ### Setting up a cluster -#### Docker Compose +#### Docker Compose deployment This is the simplest way to run RabbitMQ with clustering configuration: @@ -361,7 +361,7 @@ A custom `rabbitmq.conf` configuration file can be mounted to the `/bitnami/rabb As an alternative, you can also mount a `custom.conf` configuration file and mount it to the `/bitnami/rabbitmq/conf` directory. In this case, the default configuation file will be generated and, later on, the settings available in the `custom.conf` configuration file will be merged with the default ones. For example, in order to override the `listeners.tcp.default` directive: -#### Step 1: Write your custom.conf configuation file with the following content. +#### Step 1: Write your custom.conf configuation file with the following content ```ini listeners.tcp.default=1337 @@ -369,21 +369,21 @@ listeners.tcp.default=1337 #### Step 2: Run RabbitMQ mounting your custom.conf configuation file -``` -$ docker run -d --name rabbitmq-server \ +```console +docker run -d --name rabbitmq-server \ -v /path/to/custom.conf:/bitnami/rabbitmq/conf/custom.conf:ro \ bitnami/rabbitmq:latest ``` After that, your changes will be taken into account in the server's behaviour. -## Permission of SSL/TLS certificate and key files +## Permission of SSL/TLS certificate and key files If you bind mount the certificate and key files from your local host to the container, make sure to set proper ownership and permissions of those files: -``` -$ sudo chown 1001:root -$ sudo chmod 400 +```console +sudo chown 1001:root +sudo chmod 400 ``` ## Enabling LDAP support @@ -400,16 +400,11 @@ LDAP configuration parameters must be specified if you wish to enable LDAP suppo Follow these instructions to use the [Bitnami Docker OpenLDAP](https://github.com/bitnami/containers/blob/main/bitnami/openldap) image to create an OpenLDAP server and use it to authenticate users on RabbitMQ: -### Step 1: Create a network +### Step 1: Create a network and start an OpenLDAP server ```console -$ docker network create app-tier --driver bridge -``` - -### Step 2: Start an OpenLDAP server - -```console -$ docker run --name openldap \ +docker network create app-tier --driver bridge +docker run --name openldap \ --env LDAP_ADMIN_USERNAME=admin \ --env LDAP_ADMIN_PASSWORD=adminpassword \ --env LDAP_USERS=user01,user02 \ @@ -422,7 +417,7 @@ $ docker run --name openldap \ To configure authorization, you need to create an advanced.config file, following the [clasic config format](https://www.rabbitmq.com/configure.html#erlang-term-config-file), and add your authorization rules. For instance, use the file below to grant all users the ability to use the management plugin, but make none of them administrators: -``` +```config [{rabbitmq_auth_backend_ldap,[ {tag_queries, [{administrator, {constant, false}}, {management, {constant, true}}]} @@ -434,7 +429,7 @@ More information at [https://www.rabbitmq.com/ldap.html#authorisation](https://w ### Step 4: Start RabbitMQ with LDAP support ```console -$ docker run --name rabbitmq \ +docker run --name rabbitmq \ --env RABBITMQ_ENABLE_LDAP=yes \ --env RABBITMQ_LDAP_TLS=no \ --env RABBITMQ_LDAP_SERVERS=openldap \ @@ -450,13 +445,13 @@ $ docker run --name rabbitmq \ The Bitnami RabbitMQ Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs rabbitmq +docker logs rabbitmq ``` or using Docker Compose: ```console -$ docker-compose logs rabbitmq +docker-compose logs rabbitmq ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -470,7 +465,7 @@ Bitnami provides up-to-date versions of RabbitMQ, including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/rabbitmq:latest +docker pull bitnami/rabbitmq:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -481,31 +476,31 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop rabbitmq +docker stop rabbitmq ``` or using Docker Compose: ```console -$ docker-compose stop rabbitmq +docker-compose stop rabbitmq ``` Next, take a snapshot of the persistent volume `/path/to/rabbitmq-persistence` using: ```console -$ rsync -a /path/to/rabbitmq-persistence /path/to/rabbitmq-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/rabbitmq-persistence /path/to/rabbitmq-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v rabbitmq +docker rm -v rabbitmq ``` or using Docker Compose: ```console -$ docker-compose rm -v rabbitmq +docker-compose rm -v rabbitmq ``` #### Step 4: Run the new image @@ -513,13 +508,13 @@ $ docker-compose rm -v rabbitmq Re-create your container from the new image. ```console -$ docker run --name rabbitmq bitnami/rabbitmq:latest +docker run --name rabbitmq bitnami/rabbitmq:latest ``` or using Docker Compose: ```console -$ docker-compose up rabbitmq +docker-compose up rabbitmq ``` ## Notable changes diff --git a/bitnami/rails/README.md b/bitnami/rails/README.md index 3b9dd56f4d48..93e4ab2fe395 100644 --- a/bitnami/rails/README.md +++ b/bitnami/rails/README.md @@ -13,9 +13,9 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Local workspace ```console -$ mkdir ~/myapp && cd ~/myapp -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/rails/docker-compose.yml -$ docker-compose up +mkdir ~/myapp && cd ~/myapp +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/rails/docker-compose.yml +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options for the [MariaDB container](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#readme) for a more secure deployment. @@ -59,13 +59,13 @@ cd ~/myapp Download the [docker-compose.yml](https://raw.githubusercontent.com/bitnami/containers/main/bitnami/rails/docker-compose.yml) file in the application directory: ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/rails/docker-compose.yml +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/rails/docker-compose.yml ``` Finally launch the Rails application development environment using: ```console -$ docker-compose up +docker-compose up ``` Among other things, the above command creates a container service, named `myapp`, for Rails development and bootstraps a new Rails application in the application directory. You can use your favourite IDE for developing the application. @@ -89,51 +89,52 @@ Commands can be launched inside the `myapp` Rails Development Container with `do The general structure of the `exec` command is: ```console -$ docker-compose exec +docker-compose exec ``` , where `` is the name of the container service as described in the `docker-compose.yml` file and `` is the command you want to launch inside the service. Following are a few examples of launching some commonly used Rails development commands inside the `myapp` service container. -- List all available rake tasks: +* List all available rake tasks: ```console - $ docker-compose exec myapp bundle exec rake -T + docker-compose exec myapp bundle exec rake -T ``` -- Get information about the Rails environment: +* Get information about the Rails environment: ```console - $ docker-compose exec myapp bundle exec rake about + docker-compose exec myapp bundle exec rake about ``` -- Launch the Rails console: +* Launch the Rails console: ```console - $ docker-compose exec myapp rails console + docker-compose exec myapp rails console ``` -- Generate a scaffold: +* Generate a scaffold: ```console - $ docker-compose exec myapp rails generate scaffold User name:string email:string + docker-compose exec myapp rails generate scaffold User name:string email:string ``` -- Run database migrations: +* Run database migrations: ```console - $ docker-compose exec myapp bundle exec rake db:migrate + docker-compose exec myapp bundle exec rake db:migrate ``` > **Note** > > Database migrations are automatically applied during the start up of the Rails Development Container. This means that the `myapp` service could also be restarted to apply the database migrations. +> > ```console -> $ docker-compose restart myapp +> docker-compose restart myapp > ``` -## Configuring your database: +## Configuring your database You can configure the MariaDB hostname and database name to use for development purposes using the environment variables **DATABASE_HOST** & **DATABASE_NAME**. @@ -149,7 +150,7 @@ services: ... ``` -## Running additional services: +## Running additional services Sometimes, your application will require extra pieces, such as background processing tools like Resque or Sidekiq. @@ -183,19 +184,19 @@ To add a Rubygem to your application, update the `Gemfile` in the application di For example, to add the `httparty` Rubygem: ```console -$ echo "gem 'httparty'" >> Gemfile -$ docker-compose restart myapp +echo "gem 'httparty'" >> Gemfile +docker-compose restart myapp ``` When the `myapp` service container is restarted, it will install all the missing gems before starting the WEBrick Rails application server. -# Notable Changes +## Notable Changes ## 6.0.2-2-debian-10-r52 -- Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. +* Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. -# Contributing +## Contributing We'd love for you to contribute to this container. You can request new features by creating an [issue](https://github.com/bitnami/containers/blob/main/bitnami/rails/issues) or submitting a [pull request](https://github.com/bitnami/containers/blob/main/bitnami/rails/pulls) with your contribution. @@ -203,11 +204,11 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/blob/main/bitnami/rails/issues/new). Be sure to include the following information in your issue: -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ### Community supported solution @@ -225,7 +226,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/rclone/README.md b/bitnami/rclone/README.md index 123d4e48f666..03ba5329a8c2 100644 --- a/bitnami/rclone/README.md +++ b/bitnami/rclone/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name rclone bitnami/rclone:latest +docker run --name rclone bitnami/rclone:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami rclone Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/rclone). ```console -$ docker pull bitnami/rclone:latest +docker pull bitnami/rclone:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/rclone/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/rclone:[TAG] +docker pull bitnami/rclone:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `rclone --version` you can follow the example below: ```console -$ docker run --rm --name rclone bitnami/rclone:latest -- rclone --version +docker run --rm --name rclone bitnami/rclone:latest -- rclone --version ``` Check the [official rClone documentation](https://rclone.org/docs/) for a list of the available parameters. @@ -81,7 +81,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/redis-cluster/README.md b/bitnami/redis-cluster/README.md index 446ea63cf5c8..95698275c6aa 100644 --- a/bitnami/redis-cluster/README.md +++ b/bitnami/redis-cluster/README.md @@ -11,14 +11,14 @@ Disclaimer: Redis is a registered trademark of Redis Ltd. Any rights therein are ## TL;DR ```console -$ docker run --name redis-cluster -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis-cluster:latest +docker run --name redis-cluster -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis-cluster:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redis-cluster/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redis-cluster/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Redis(R) Cluster Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/redis-cluster). ```console -$ docker pull bitnami/redis-cluster:latest +docker pull bitnami/redis-cluster:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/redis-cluster/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/redis-cluster:[TAG] +docker pull bitnami/redis-cluster:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -73,7 +73,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -e ALLOW_EMPTY_PASSWORD=yes -v /path/to/redis-cluster-persistence:/bitnami \ bitnami/redis-cluster:latest @@ -100,7 +100,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create redis-cluster-network --driver bridge +docker network create redis-cluster-network --driver bridge ``` #### Step 2: Launch the Redis(R) Cluster container within your network @@ -108,7 +108,7 @@ $ docker network create redis-cluster-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `redis-cluster-network` network. ```console -$ docker run -e ALLOW_EMPTY_PASSWORD=yes --name redis-cluster-node1 --network redis-cluster-network bitnami/redis-cluster:latest +docker run -e ALLOW_EMPTY_PASSWORD=yes --name redis-cluster-node1 --network redis-cluster-network bitnami/redis-cluster:latest ``` #### Step 3: Run another containers @@ -122,7 +122,7 @@ We can launch another containers using the same flag (`--network NETWORK`) in th The image looks for configurations in `/opt/bitnami/redis/mounted-etc/redis.conf`. You can overwrite the `redis.conf` file using your own custom configuration file. ```console -$ docker run --name redis \ +docker run --name redis \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/your_redis.conf:/opt/bitnami/redis/mounted-etc/redis.conf \ -v /path/to/redis-data-persistence:/bitnami/redis/data \ @@ -148,7 +148,7 @@ Refer to the [Redis(R) configuration](http://redis.io/topics/config) manual for Instead of providing a custom `redis.conf`, you may also choose to provide only settings you wish to override. The image will look for `/opt/bitnami/redis/mounted-etc/overrides.conf`. This will be ignored if custom `redis.conf` is provided. ```console -$ docker run --name redis \ +docker run --name redis \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/overrides.conf:/opt/bitnami/redis/mounted-etc/overrides.conf \ bitnami/redis:latest @@ -219,7 +219,7 @@ When enabling TLS, conventional standard traffic is disabled by default. However 1. Using `docker run` ```console - $ docker run --name redis-cluster \ + docker run --name redis-cluster \ -v /path/to/certs:/opt/bitnami/redis/certs \ -v /path/to/redis-cluster-persistence:/bitnami \ -e ALLOW_EMPTY_PASSWORD=yes \ @@ -247,6 +247,7 @@ When enabling TLS, conventional standard traffic is disabled by default. However ... ... ``` + Alternatively, you may also provide with this configuration in your [custom](https://github.com/bitnami/containers/blob/main/bitnami/redis-cluster#configuration-file) configuration file. ## Logging @@ -254,7 +255,7 @@ Alternatively, you may also provide with this configuration in your [custom](htt The Bitnami Redis(R) Cluster Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs redis-cluster +docker logs redis-cluster ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -268,7 +269,7 @@ Bitnami provides up-to-date versions of Redis(R) Cluster, including security pat #### Step 1: Get the updated image ```console -$ docker pull bitnami/redis-cluster:latest +docker pull bitnami/redis-cluster:latest ``` #### Step 2: Stop the running container @@ -276,13 +277,13 @@ $ docker pull bitnami/redis-cluster:latest Stop the currently running container using the command ```console -$ docker stop redis-cluster +docker stop redis-cluster ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v redis-cluster +docker rm -v redis-cluster ``` #### Step 4: Run the new image @@ -290,7 +291,7 @@ $ docker rm -v redis-cluster Re-create your container from the new image. ```console -$ docker run --name redis-cluster bitnami/redis-cluster:latest +docker run --name redis-cluster bitnami/redis-cluster:latest ``` ## Upgrading @@ -315,7 +316,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/redis-exporter/README.md b/bitnami/redis-exporter/README.md index 6d9201d227ab..8d6cd0388c60 100644 --- a/bitnami/redis-exporter/README.md +++ b/bitnami/redis-exporter/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name redis-exporter bitnami/redis-exporter:latest +docker run --name redis-exporter bitnami/redis-exporter:latest ``` ## Why use Bitnami Images? @@ -40,21 +40,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Redis Exporter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/redis-exporter). ```console -$ docker pull bitnami/redis-exporter:latest +docker pull bitnami/redis-exporter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/redis-exporter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/redis-exporter:[TAG] +docker pull bitnami/redis-exporter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -68,7 +68,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create redis-exporter-network --driver bridge +docker network create redis-exporter-network --driver bridge ``` #### Step 2: Launch the Redis Exporter container within your network @@ -76,7 +76,7 @@ $ docker network create redis-exporter-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `redis-exporter-network` network. ```console -$ docker run --name redis-exporter-node1 --network redis-exporter-network bitnami/redis-exporter:latest +docker run --name redis-exporter-node1 --network redis-exporter-network bitnami/redis-exporter:latest ``` #### Step 3: Run another containers @@ -92,7 +92,7 @@ Find all the configuration flags in [the redis_exporter official documentation]( The Bitnami Redis Exporter Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs redis-exporter +docker logs redis-exporter ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -106,7 +106,7 @@ Bitnami provides up-to-date versions of redis-exporter, including security patch #### Step 1: Get the updated image ```console -$ docker pull bitnami/redis-exporter:latest +docker pull bitnami/redis-exporter:latest ``` #### Step 2: Stop the running container @@ -114,13 +114,13 @@ $ docker pull bitnami/redis-exporter:latest Stop the currently running container using the command ```console -$ docker stop redis-exporter +docker stop redis-exporter ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v redis-exporter +docker rm -v redis-exporter ``` #### Step 4: Run the new image @@ -128,7 +128,7 @@ $ docker rm -v redis-exporter Re-create your container from the new image. ```console -$ docker run --name redis-exporter bitnami/redis-exporter:latest +docker run --name redis-exporter bitnami/redis-exporter:latest ``` ## Contributing @@ -140,13 +140,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/redis-sentinel/README.md b/bitnami/redis-sentinel/README.md index dd2283bd4264..7409c13cd2ea 100644 --- a/bitnami/redis-sentinel/README.md +++ b/bitnami/redis-sentinel/README.md @@ -11,14 +11,14 @@ Disclaimer: Redis is a registered trademark of Redis Ltd. Any rights therein are ## TL;DR ```console -$ docker run --name redis-sentinel -e REDIS_MASTER_HOST=redis bitnami/redis-sentinel:latest +docker run --name redis-sentinel -e REDIS_MASTER_HOST=redis bitnami/redis-sentinel:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redis-sentinel/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redis-sentinel/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Redis(R) Sentinel Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/redis-sentinel). ```console -$ docker pull bitnami/redis-sentinel:latest +docker pull bitnami/redis-sentinel:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/redis-sentinel/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/redis-sentinel:[TAG] +docker pull bitnami/redis-sentinel:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Connecting to other containers @@ -79,7 +79,7 @@ In this example, we will create a Redis(R) Sentinel instance that will monitor a #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Redis(R) instance @@ -87,7 +87,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Redis(R) container to the `app-tier` network. ```console -$ docker run -d --name redis-server \ +docker run -d --name redis-server \ -e ALLOW_EMPTY_PASSWORD=yes \ --network app-tier \ bitnami/redis:latest @@ -98,7 +98,7 @@ $ docker run -d --name redis-server \ Finally we create a new container instance to launch the Redis(R) client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ -e REDIS_MASTER_HOST=redis-server \ --network app-tier \ bitnami/redis-sentinel:latest @@ -135,7 +135,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` #### Using Master-Slave setups @@ -188,7 +188,7 @@ services: Launch the containers using: ```console -$ docker-compose up --scale redis-sentinel=3 -d +docker-compose up --scale redis-sentinel=3 -d ``` ## Configuration @@ -197,26 +197,26 @@ $ docker-compose up --scale redis-sentinel=3 -d The Redis(R) Sentinel instance can be customized by specifying environment variables on the first run. The following environment values are provided to customize Redis(R) Sentinel: -- `REDIS_MASTER_HOST`: Host of the Redis(R) master to monitor. Default: **redis**. -- `REDIS_MASTER_PORT_NUMBER`: Port of the Redis(R) master to monitor. Default: **6379**. -- `REDIS_MASTER_SET`: Name of the set of Redis(R) instances to monitor. Default: **mymaster**. -- `REDIS_MASTER_PASSWORD`: Password to authenticate with the master. No defaults. As an alternative, you can mount a file with the password and set the `REDIS_MASTER_PASSWORD_FILE` variable. -- `REDIS_MASTER_USER`: Username to authenticate with when ACL is enabled for the master. No defaults. This is available only for Redis(R) 6 or higher. If not specified, Redis(R) Sentinel will try to authenticate with just the password (using `sentinel auth-pass `). -- `REDIS_SENTINEL_PORT_NUMBER`: Redis(R) Sentinel port. Default: **26379**. -- `REDIS_SENTINEL_QUORUM`: Number of Sentinels that need to agree about the fact the master is not reachable. Default: **2**. -- `REDIS_SENTINEL_PASSWORD`: Password to authenticate with this sentinel and to authenticate to other sentinels. No defaults. Needs to be identical on all sentinels. As an alternative, you can mount a file with the password and set the `REDIS_SENTINEL_PASSWORD_FILE` variable. -- `REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS`: Number of milliseconds before master is declared down. Default: **60000**. -- `REDIS_SENTINEL_FAILOVER_TIMEOUT`: Specifies the failover timeout in milliseconds. Default: **180000**. -- `REDIS_SENTINEL_RESOLVE_HOSTNAMES`: Enables sentinel hostnames support. This is available only for Redis(R) 6.2 or higher. Default: **no**. -- `REDIS_SENTINEL_TLS_ENABLED`: Whether to enable TLS for traffic or not. Default: **no**. -- `REDIS_SENTINEL_TLS_PORT_NUMBER`: Port used for TLS secure traffic. Default: **26379**. -- `REDIS_SENTINEL_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. -- `REDIS_SENTINEL_TLS_KEY_FILE`: File containing the key for certificate. No defaults. -- `REDIS_SENTINEL_TLS_CA_FILE`: File containing the CA of the certificate. No defaults. -- `REDIS_SENTINEL_TLS_DH_PARAMS_FILE`: File containing DH params (in order to support DH based ciphers). No defaults. -- `REDIS_SENTINEL_TLS_AUTH_CLIENTS`: Whether to require clients to authenticate or not. Default: **yes**. -- `REDIS_SENTINEL_ANNOUNCE_IP`: Use the specified IP address in the HELLO messages used to gossip its presence. Default: **auto-detected local address**. -- `REDIS_SENTINEL_ANNOUNCE_PORT`: Use the specified port in the HELLO messages used to gossip its presence. Default: **port specified in `REDIS_SENTINEL_PORT_NUMBER`**. +* `REDIS_MASTER_HOST`: Host of the Redis(R) master to monitor. Default: **redis**. +* `REDIS_MASTER_PORT_NUMBER`: Port of the Redis(R) master to monitor. Default: **6379**. +* `REDIS_MASTER_SET`: Name of the set of Redis(R) instances to monitor. Default: **mymaster**. +* `REDIS_MASTER_PASSWORD`: Password to authenticate with the master. No defaults. As an alternative, you can mount a file with the password and set the `REDIS_MASTER_PASSWORD_FILE` variable. +* `REDIS_MASTER_USER`: Username to authenticate with when ACL is enabled for the master. No defaults. This is available only for Redis(R) 6 or higher. If not specified, Redis(R) Sentinel will try to authenticate with just the password (using `sentinel auth-pass `). +* `REDIS_SENTINEL_PORT_NUMBER`: Redis(R) Sentinel port. Default: **26379**. +* `REDIS_SENTINEL_QUORUM`: Number of Sentinels that need to agree about the fact the master is not reachable. Default: **2**. +* `REDIS_SENTINEL_PASSWORD`: Password to authenticate with this sentinel and to authenticate to other sentinels. No defaults. Needs to be identical on all sentinels. As an alternative, you can mount a file with the password and set the `REDIS_SENTINEL_PASSWORD_FILE` variable. +* `REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS`: Number of milliseconds before master is declared down. Default: **60000**. +* `REDIS_SENTINEL_FAILOVER_TIMEOUT`: Specifies the failover timeout in milliseconds. Default: **180000**. +* `REDIS_SENTINEL_RESOLVE_HOSTNAMES`: Enables sentinel hostnames support. This is available only for Redis(R) 6.2 or higher. Default: **no**. +* `REDIS_SENTINEL_TLS_ENABLED`: Whether to enable TLS for traffic or not. Default: **no**. +* `REDIS_SENTINEL_TLS_PORT_NUMBER`: Port used for TLS secure traffic. Default: **26379**. +* `REDIS_SENTINEL_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. +* `REDIS_SENTINEL_TLS_KEY_FILE`: File containing the key for certificate. No defaults. +* `REDIS_SENTINEL_TLS_CA_FILE`: File containing the CA of the certificate. No defaults. +* `REDIS_SENTINEL_TLS_DH_PARAMS_FILE`: File containing DH params (in order to support DH based ciphers). No defaults. +* `REDIS_SENTINEL_TLS_AUTH_CLIENTS`: Whether to require clients to authenticate or not. Default: **yes**. +* `REDIS_SENTINEL_ANNOUNCE_IP`: Use the specified IP address in the HELLO messages used to gossip its presence. Default: **auto-detected local address**. +* `REDIS_SENTINEL_ANNOUNCE_PORT`: Use the specified port in the HELLO messages used to gossip its presence. Default: **port specified in `REDIS_SENTINEL_PORT_NUMBER`**. ### Securing Redis(R) Sentinel traffic @@ -227,7 +227,7 @@ When enabling TLS, conventional standard traffic is disabled by default. However 1. Using `docker run` ```console - $ docker run --name redis-sentinel \ + docker run --name redis-sentinel \ -v /path/to/certs:/opt/bitnami/redis/certs \ -v /path/to/redis-sentinel/persistence:/bitnami \ -e REDIS_MASTER_HOST=redis \ @@ -256,6 +256,7 @@ When enabling TLS, conventional standard traffic is disabled by default. However ... ... ``` + Alternatively, you may also provide with this configuration in your [custom](https://github.com/bitnami/containers/blob/main/bitnami/redis-sentinel#configuration-file) configuration file. ### Configuration file @@ -267,7 +268,7 @@ The image looks for configurations in `/bitnami/redis-sentinel/conf/`. You can m Run the Redis(R) Sentinel image, mounting a directory from your host. ```console -$ docker run --name redis-sentinel \ +docker run --name redis-sentinel \ -e REDIS_MASTER_HOST=redis \ -v /path/to/redis-sentinel/persistence:/bitnami \ bitnami/redis-sentinel:latest @@ -289,7 +290,7 @@ services: Edit the configuration on your host using your favorite editor. ```console -$ vi /path/to/redis-persistence/redis-sentinel/conf/redis.conf +vi /path/to/redis-persistence/redis-sentinel/conf/redis.conf ``` #### Step 3: Restart Redis(R) @@ -297,13 +298,13 @@ $ vi /path/to/redis-persistence/redis-sentinel/conf/redis.conf After changing the configuration, restart your Redis(R) container for changes to take effect. ```console -$ docker restart redis +docker restart redis ``` or using Docker Compose: ```console -$ docker-compose restart redis +docker-compose restart redis ``` Refer to the [Redis(R) configuration](http://redis.io/topics/config) manual for the complete list of configuration options. @@ -313,13 +314,13 @@ Refer to the [Redis(R) configuration](http://redis.io/topics/config) manual for The Bitnami Redis(R) Sentinel Docker Image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs redis +docker logs redis ``` or using Docker Compose: ```console -$ docker-compose logs redis +docker-compose logs redis ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -333,7 +334,7 @@ Bitnami provides up-to-date versions of Redis(R) Sentinel, including security pa #### Step 1: Get the updated image ```console -$ docker pull bitnami/redis-sentinel:latest +docker pull bitnami/redis-sentinel:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -344,31 +345,31 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop redis +docker stop redis ``` or using Docker Compose: ```console -$ docker-compose stop redis +docker-compose stop redis ``` Next, take a snapshot of the persistent volume `/path/to/redis-persistence` using: ```console -$ rsync -a /path/to/redis-persistence /path/to/redis-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/redis-persistence /path/to/redis-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v redis +docker rm -v redis ``` or using Docker Compose: ```console -$ docker-compose rm -v redis +docker-compose rm -v redis ``` #### Step 4: Run the new image @@ -376,24 +377,24 @@ $ docker-compose rm -v redis Re-create your container from the new image. ```console -$ docker run --name redis bitnami/redis-sentinel:latest +docker run --name redis bitnami/redis-sentinel:latest ``` or using Docker Compose: ```console -$ docker-compose up redis +docker-compose up redis ``` ## Notable Changes ### 4.0.14-debian-9-r201, 4.0.14-ol-7-r222, 5.0.5-debian-9-r169, 5.0.5-ol-7-r175 -- Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. +* Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. ### 4.0.10-r25 -- The Redis(R) sentinel container has been migrated to a non-root container approach. Previously the container run as `root` user and the redis daemon was started as `redis` user. From now own, both the container and the redis daemon run as user `1001`. As a consequence, the configuration files are writable by the user running the redis process. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Redis(R) sentinel container has been migrated to a non-root container approach. Previously the container run as `root` user and the redis daemon was started as `redis` user. From now own, both the container and the redis daemon run as user `1001`. As a consequence, the configuration files are writable by the user running the redis process. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ## Contributing @@ -404,13 +405,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/redis/README.md b/bitnami/redis/README.md index 577b6b6db5f4..cc2c4cdcf53a 100644 --- a/bitnami/redis/README.md +++ b/bitnami/redis/README.md @@ -11,14 +11,14 @@ Disclaimer: Redis is a registered trademark of Redis Ltd. Any rights therein are ## TL;DR ```console -$ docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest +docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redis/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redis/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: These quick setups are only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Configuration](#configuration) section for a more secure deployment. @@ -55,21 +55,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Redis(R) Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/redis). ```console -$ docker pull bitnami/redis:latest +docker pull bitnami/redis:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/redis/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/redis:[TAG] +docker pull bitnami/redis:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your database @@ -81,7 +81,7 @@ If you remove the container all your data will be lost, and the next time you ru For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run \ +docker run \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/redis-persistence:/bitnami/redis/data \ bitnami/redis:latest @@ -113,7 +113,7 @@ In this example, we will create a Redis(R) client instance that will connect to #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Redis(R) server instance @@ -121,7 +121,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Redis(R) container to the `app-tier` network. ```console -$ docker run -d --name redis-server \ +docker run -d --name redis-server \ -e ALLOW_EMPTY_PASSWORD=yes \ --network app-tier \ bitnami/redis:latest @@ -132,7 +132,7 @@ $ docker run -d --name redis-server \ Finally we create a new container instance to launch the Redis(R) client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/redis:latest redis-cli -h redis-server ``` @@ -169,7 +169,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -178,10 +178,10 @@ $ docker-compose up -d For security reasons, you may want to disable some commands. You can specify them by using the following environment variable on the first run: -- `REDIS_DISABLE_COMMANDS`: Comma-separated list of Redis(R) commands to disable. Defaults to empty. +* `REDIS_DISABLE_COMMANDS`: Comma-separated list of Redis(R) commands to disable. Defaults to empty. ```console -$ docker run --name redis -e REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL,CONFIG bitnami/redis:latest +docker run --name redis -e REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL,CONFIG bitnami/redis:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/redis/docker-compose.yml) file present in this repository: @@ -212,7 +212,7 @@ services: Passing extra command-line flags to the redis service command is possible by adding them as arguments to *run.sh* script: ```console -$ docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb +docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/redis/docker-compose.yml) file present in this repository: @@ -234,7 +234,7 @@ Refer to the [Redis(R) documentation](https://redis.io/topics/config#passing-arg Passing the `REDIS_PASSWORD` environment variable when running the image for the first time will set the Redis(R) server password to the value of `REDIS_PASSWORD` (or the content of the file specified in `REDIS_PASSWORD_FILE`). ```console -$ docker run --name redis -e REDIS_PASSWORD=password123 bitnami/redis:latest +docker run --name redis -e REDIS_PASSWORD=password123 bitnami/redis:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/redis/docker-compose.yml) file present in this repository: @@ -257,7 +257,7 @@ services: By default the Redis(R) image expects all the available passwords to be set. In order to allow empty passwords, it is necessary to set the `ALLOW_EMPTY_PASSWORD=yes` env variable. This env variable is only recommended for testing or development purposes. We strongly recommend specifying the `REDIS_PASSWORD` for any other scenario. ```console -$ docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest +docker run --name redis -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/redis/docker-compose.yml) file present in this repository: @@ -276,7 +276,7 @@ services: Redis 6.0 features a [new multi-threading model](https://segmentfault.com/a/1190000040376111/en). You can set both `io-threads` and `io-threads-do-reads` though the env vars `REDIS_IO_THREADS` and `REDIS_IO_THREADS_DO_READS` ```console -$ docker run --name redis -e REDIS_IO_THREADS=4 -e REDIS_IO_THREADS_DO_READS=true bitnami/redis:latest +docker run --name redis -e REDIS_IO_THREADS=4 -e REDIS_IO_THREADS_DO_READS=true bitnami/redis:latest ``` ### Disabling AOF persistence @@ -284,7 +284,7 @@ $ docker run --name redis -e REDIS_IO_THREADS=4 -e REDIS_IO_THREADS_DO_READS=tru Redis(R) offers different [options](https://redis.io/topics/persistence) when it comes to persistence. By default, this image is set up to use the AOF (Append Only File) approach. Should you need to change this behaviour, setting the `REDIS_AOF_ENABLED=no` env variable will disable this feature. ```console -$ docker run --name redis -e REDIS_AOF_ENABLED=no bitnami/redis:latest +docker run --name redis -e REDIS_AOF_ENABLED=no bitnami/redis:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/redis/docker-compose.yml) file present in this repository: @@ -303,7 +303,7 @@ services: Redis(R) offers [ACL](https://redis.io/topics/acl) since 6.0 which allows certain connections to be limited in terms of the commands that can be executed and the keys that can be accessed. We strongly recommend enabling ACL in production by specifiying the `REDIS_ACLFILE`. ```console -$ docker run -name redis -e REDIS_ACLFILE=/opt/bitnami/redis/mounted-etc/users.acl -v /path/to/users.acl:/opt/bitnami/redis/mounted-etc/users.acl bitnami/redis:latest +docker run -name redis -e REDIS_ACLFILE=/opt/bitnami/redis/mounted-etc/users.acl -v /path/to/users.acl:/opt/bitnami/redis/mounted-etc/users.acl bitnami/redis:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/redis/docker-compose.yml) file present in this repository: @@ -324,7 +324,7 @@ services: By default, this image is set up to launch Redis(R) in standalone mode on port 6379. Should you need to change this behavior, setting the `REDIS_PORT_NUMBER` environment variable will modify the port number. This is not to be confused with `REDIS_MASTER_PORT_NUMBER` or `REDIS_REPLICA_PORT` environment variables that are applicable in replication mode. ```console -$ docker run --name redis -e REDIS_PORT_NUMBER=7000 -p 7000:7000 bitnami/redis:latest +docker run --name redis -e REDIS_PORT_NUMBER=7000 -p 7000:7000 bitnami/redis:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/redis/docker-compose.yml) file present in this repository: @@ -345,12 +345,12 @@ services: A [replication](http://redis.io/topics/replication) cluster can easily be setup with the Bitnami Redis(R) Docker Image using the following environment variables: - - `REDIS_REPLICATION_MODE`: The replication mode. Possible values `master`/`slave`. No defaults. - - `REDIS_REPLICA_IP`: The replication announce ip. Defaults to `$(get_machine_ip)` which return the ip of the container. - - `REDIS_REPLICA_PORT`: The replication announce port. Defaults to `REDIS_MASTER_PORT_NUMBER`. - - `REDIS_MASTER_HOST`: Hostname/IP of replication master (replica node parameter). No defaults. - - `REDIS_MASTER_PORT_NUMBER`: Server port of the replication master (replica node parameter). Defaults to `6379`. - - `REDIS_MASTER_PASSWORD`: Password to authenticate with the master (replica node parameter). No defaults. As an alternative, you can mount a file with the password and set the `REDIS_MASTER_PASSWORD_FILE` variable. +* `REDIS_REPLICATION_MODE`: The replication mode. Possible values `master`/`slave`. No defaults. +* `REDIS_REPLICA_IP`: The replication announce ip. Defaults to `$(get_machine_ip)` which return the ip of the container. +* `REDIS_REPLICA_PORT`: The replication announce port. Defaults to `REDIS_MASTER_PORT_NUMBER`. +* `REDIS_MASTER_HOST`: Hostname/IP of replication master (replica node parameter). No defaults. +* `REDIS_MASTER_PORT_NUMBER`: Server port of the replication master (replica node parameter). Defaults to `6379`. +* `REDIS_MASTER_PASSWORD`: Password to authenticate with the master (replica node parameter). No defaults. As an alternative, you can mount a file with the password and set the `REDIS_MASTER_PASSWORD_FILE` variable. In a replication cluster you can have one master and zero or more replicas. When replication is enabled the master node is in read-write mode, while the replicas are in read-only mode. For best performance its advisable to limit the reads to the replicas. @@ -359,7 +359,7 @@ In a replication cluster you can have one master and zero or more replicas. When The first step is to start the Redis(R) master. ```console -$ docker run --name redis-master \ +docker run --name redis-master \ -e REDIS_REPLICATION_MODE=master \ -e REDIS_PASSWORD=masterpassword123 \ bitnami/redis:latest @@ -372,7 +372,7 @@ In the above command the container is configured as the `master` using the `REDI Next we start a Redis(R) replica container. ```console -$ docker run --name redis-replica \ +docker run --name redis-replica \ --link redis-master:master \ -e REDIS_REPLICATION_MODE=slave \ -e REDIS_MASTER_HOST=master \ @@ -382,14 +382,14 @@ $ docker run --name redis-replica \ bitnami/redis:latest ``` -In the above command the container is configured as a `slave` using the `REDIS_REPLICATION_MODE` parameter. The `REDIS_MASTER_HOST`, `REDIS_MASTER_PORT_NUMBER` and `REDIS_MASTER_PASSWORD ` parameters are used connect and authenticate with the Redis(R) master. The `REDIS_PASSWORD` parameter enables authentication on the Redis(R) replica. +In the above command the container is configured as a `slave` using the `REDIS_REPLICATION_MODE` parameter. The `REDIS_MASTER_HOST`, `REDIS_MASTER_PORT_NUMBER` and `REDIS_MASTER_PASSWORD` parameters are used connect and authenticate with the Redis(R) master. The `REDIS_PASSWORD` parameter enables authentication on the Redis(R) replica. You now have a two node Redis(R) master/replica replication cluster up and running which can be scaled by adding/removing replicas. If the Redis(R) master goes down you can reconfigure a replica to become a master using: ```console -$ docker exec redis-replica redis-cli -a password123 SLAVEOF NO ONE +docker exec redis-replica redis-cli -a password123 SLAVEOF NO ONE ``` > **Note**: The configuration of the other replicas in the cluster needs to be updated so that they are aware of the new master. In our example, this would involve restarting the other replicas with `--link redis-replica:master`. @@ -427,7 +427,7 @@ services: Scale the number of replicas using: ```console -$ docker-compose up --detach --scale redis-master=1 --scale redis-secondary=3 +docker-compose up --detach --scale redis-master=1 --scale redis-secondary=3 ``` The above command scales up the number of replicas to `3`. You can scale down in the same way. @@ -438,20 +438,20 @@ The above command scales up the number of replicas to `3`. You can scale down in Starting with version 6, Redis(R) adds the support for SSL/TLS connections. Should you desire to enable this optional feature, you may use the following environment variables to configure the application: - - `REDIS_TLS_ENABLED`: Whether to enable TLS for traffic or not. Defaults to `no`. - - `REDIS_TLS_PORT_NUMBER`: Port used for TLS secure traffic. Defaults to `6379`. - - `REDIS_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. - - `REDIS_TLS_KEY_FILE`: File containing the key for certificate. No defaults. - - `REDIS_TLS_CA_FILE`: File containing the CA of the certificate. No defaults. - - `REDIS_TLS_DH_PARAMS_FILE`: File containing DH params (in order to support DH based ciphers). No defaults. - - `REDIS_TLS_AUTH_CLIENTS`: Whether to require clients to authenticate or not. Defaults to `yes`. +* `REDIS_TLS_ENABLED`: Whether to enable TLS for traffic or not. Defaults to `no`. +* `REDIS_TLS_PORT_NUMBER`: Port used for TLS secure traffic. Defaults to `6379`. +* `REDIS_TLS_CERT_FILE`: File containing the certificate file for the TLS traffic. No defaults. +* `REDIS_TLS_KEY_FILE`: File containing the key for certificate. No defaults. +* `REDIS_TLS_CA_FILE`: File containing the CA of the certificate. No defaults. +* `REDIS_TLS_DH_PARAMS_FILE`: File containing DH params (in order to support DH based ciphers). No defaults. +* `REDIS_TLS_AUTH_CLIENTS`: Whether to require clients to authenticate or not. Defaults to `yes`. When enabling TLS, conventional standard traffic is disabled by default. However this new feature is not mutually exclusive, which means it is possible to listen to both TLS and non-TLS connection simultaneously. To enable non-TLS traffic, set `REDIS_TLS_PORT_NUMBER` to another port different than `0`. 1. Using `docker run` ```console - $ docker run --name redis \ + docker run --name redis \ -v /path/to/certs:/opt/bitnami/redis/certs \ -v /path/to/redis-data-persistence:/bitnami/redis/data \ -e ALLOW_EMPTY_PASSWORD=yes \ @@ -488,7 +488,7 @@ Alternatively, you may also provide with this configuration in your [custom](htt The image looks for configurations in `/opt/bitnami/redis/mounted-etc/redis.conf`. You can overwrite the `redis.conf` file using your own custom configuration file. ```console -$ docker run --name redis \ +docker run --name redis \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/your_redis.conf:/opt/bitnami/redis/mounted-etc/redis.conf \ -v /path/to/redis-data-persistence:/bitnami/redis/data \ @@ -514,7 +514,7 @@ Refer to the [Redis(R) configuration](http://redis.io/topics/config) manual for Instead of providing a custom `redis.conf`, you may also choose to provide only settings you wish to override. The image will look for `/opt/bitnami/redis/mounted-etc/overrides.conf`. This will be ignored if custom `redis.conf` is provided. ```console -$ docker run --name redis \ +docker run --name redis \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/overrides.conf:/opt/bitnami/redis/mounted-etc/overrides.conf \ bitnami/redis:latest @@ -536,13 +536,13 @@ services: The Bitnami Redis(R) Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs redis +docker logs redis ``` or using Docker Compose: ```console -$ docker-compose logs redis +docker-compose logs redis ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -556,7 +556,7 @@ Bitnami provides up-to-date versions of Redis(R), including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/redis:latest +docker pull bitnami/redis:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -567,31 +567,31 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop redis +docker stop redis ``` or using Docker Compose: ```console -$ docker-compose stop redis +docker-compose stop redis ``` Next, take a snapshot of the persistent volume `/path/to/redis-persistence` using: ```console -$ rsync -a /path/to/redis-persistence /path/to/redis-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/redis-persistence /path/to/redis-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v redis +docker rm -v redis ``` or using Docker Compose: ```console -$ docker-compose rm -v redis +docker-compose rm -v redis ``` #### Step 4: Run the new image @@ -599,31 +599,31 @@ $ docker-compose rm -v redis Re-create your container from the new image. ```console -$ docker run --name redis bitnami/redis:latest +docker run --name redis bitnami/redis:latest ``` or using Docker Compose: ```console -$ docker-compose up redis +docker-compose up redis ``` ## Notable Changes ### 5.0.8-debian-10-r24 -- The recommended mount point to use a custom `redis.conf` changes from `/opt/bitnami/redis/etc/ ` to `/opt/bitnami/redis/mounted-etc/`. +* The recommended mount point to use a custom `redis.conf` changes from `/opt/bitnami/redis/etc/` to `/opt/bitnami/redis/mounted-etc/`. ### 5.0.0-r0 -- Starting with Redis(R) 5.0 the command [REPLICAOF](https://redis.io/commands/replicaof) is available in favor of `SLAVEOF`. For backward compatibility with previous versions, `slave` replication mode is still supported. We encourage the use of the `REPLICAOF` command if you are using Redis(R) 5.0. +* Starting with Redis(R) 5.0 the command [REPLICAOF](https://redis.io/commands/replicaof) is available in favor of `SLAVEOF`. For backward compatibility with previous versions, `slave` replication mode is still supported. We encourage the use of the `REPLICAOF` command if you are using Redis(R) 5.0. ### 4.0.1-r24 -- Decrease the size of the container. It is not necessary Node.js anymore. Redis(R) configuration moved to bash scripts in the `rootfs/` folder. -- The recommended mount point to persist data changes to `/bitnami/redis/data`. -- The main `redis.conf` file is not persisted in a volume. The path is `/opt/bitnami/redis/mounted-etc/redis.conf`. -- Backwards compatibility is not guaranteed when data is persisted using docker-compose. You can use the workaround below to overcome it: +* Decrease the size of the container. It is not necessary Node.js anymore. Redis(R) configuration moved to bash scripts in the `rootfs/` folder. +* The recommended mount point to persist data changes to `/bitnami/redis/data`. +* The main `redis.conf` file is not persisted in a volume. The path is `/opt/bitnami/redis/mounted-etc/redis.conf`. +* Backwards compatibility is not guaranteed when data is persisted using docker-compose. You can use the workaround below to overcome it: ```bash docker-compose down @@ -640,13 +640,13 @@ docker-compose up -d ### 4.0.1-r1 -- The redis container has been migrated to a non-root container approach. Previously the container run as `root` user and the redis daemon was started as `redis` user. From now own, both the container and the redis daemon run as user `1001`. +* The redis container has been migrated to a non-root container approach. Previously the container run as `root` user and the redis daemon was started as `redis` user. From now own, both the container and the redis daemon run as user `1001`. As a consequence, the configuration files are writable by the user running the redis process. ### 3.2.0-r0 -- All volumes have been merged at `/bitnami/redis`. Now you only need to mount a single volume at `/bitnami/redis` for persistence. -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* All volumes have been merged at `/bitnami/redis`. Now you only need to mount a single volume at `/bitnami/redis` for persistence. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ## Contributing @@ -657,13 +657,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/redmine/README.md b/bitnami/redmine/README.md index 18e18ca8a64b..40a4241623d4 100644 --- a/bitnami/redmine/README.md +++ b/bitnami/redmine/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redmine/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redmine/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -45,21 +45,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Redmine Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/redmine). ```console -$ docker pull bitnami/redmine:latest +docker pull bitnami/redmine:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/redmine/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/redmine:[TAG] +docker pull bitnami/redmine:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -71,8 +71,8 @@ Redmine requires access to a MySQL, MariaDB or PostgreSQL database to store info The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/redmine/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redmine/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redmine/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -82,14 +82,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create redmine-network +docker network create redmine-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_redmine \ --env MARIADB_PASSWORD=bitnami \ @@ -102,8 +102,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for Redmine persistence and launch the container ```console -$ docker volume create --name redmine_data -$ docker run -d --name redmine \ +docker volume create --name redmine_data +docker run -d --name redmine \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env REDMINE_DATABASE_USER=bn_redmine \ @@ -157,13 +157,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create redmine-network +docker network create redmine-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_redmine \ --env MARIADB_PASSWORD=bitnami \ @@ -176,7 +176,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the Redmine container with host volumes ```console -$ docker run -d --name redmine \ +docker run -d --name redmine \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env REDMINE_DATABASE_USER=bn_redmine \ @@ -206,7 +206,7 @@ When you start the Redmine image, you can adjust the configuration of the instan - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name redmine -p 80:8080 -p 443:8443 \ + docker run -d --name redmine -p 80:8080 -p 443:8443 \ --env REDMINE_PASSWORD=my_password \ --network redmine-tier \ --volume /path/to/redmine-persistence:/bitnami \ @@ -215,7 +215,7 @@ When you start the Redmine image, you can adjust the configuration of the instan Available environment variables: -##### User and Site configuration +#### User and Site configuration - `REDMINE_PORT_NUMBER`: Port number in which Redmine will run. Default: **3000** - `REDMINE_USERNAME`: Redmine application username. Default: **user** @@ -228,7 +228,7 @@ Available environment variables: - `REDMINE_LOAD_DEFAULT_DATA`: Whether to load default configuration data for Redmine. Default: **yes** - `REDMINE_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. This is necessary in case you use a database that already has Redmine data. Default: **no** -##### Database connection configuration +#### Database connection configuration - `REDMINE_DATABASE_TYPE`: Database type to be used for the Redmine installation. Allowed values: *mariadb*, *postgresql*. Default: **mariadb** - `REDMINE_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** @@ -238,7 +238,7 @@ Available environment variables: - `REDMINE_DATABASE_PASSWORD`: Database password that Redmine will use to connect with the database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a MariaDB or MySQL database for Redmine using mysql-client +#### Create a MariaDB or MySQL database for Redmine using mysql-client - `MYSQL_CLIENT_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** - `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the MariaDB or MySQL server. Default: **3306** @@ -253,7 +253,7 @@ Available environment variables: - `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a PostgreSQL database for Redmine using postgresql-client +#### Create a PostgreSQL database for Redmine using postgresql-client - `POSTGRESQL_CLIENT_DATABASE_HOST`: Hostname for the PostgreSQL server. Default: **postgresql** - `POSTGRESQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** @@ -266,7 +266,7 @@ Available environment variables: - `POSTGRESQL_CLIENT_EXECUTE_SQL`: SQL code to execute in the PostgreSQL server. No defaults. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure Redmine to send email using SMTP you can set the following environment variables: @@ -302,7 +302,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name redmine -p 80:8080 -p 443:8443 \ + docker run -d --name redmine -p 80:8080 -p 443:8443 \ --env REDMINE_DATABASE_USER=bn_redmine \ --env REDMINE_DATABASE_NAME=bitnami_redmine \ --env REDMINE_SMTP_HOST=smtp.gmail.com \ @@ -337,7 +337,7 @@ The Bitnami Redmine container supports connecting the Redmine application to an - For manual execution: ```console - $ docker run -d --name redmine\ + docker run -d --name redmine\ -p 8080:8080 -p 8443:8443 \ --network redmine-network \ --env REDMINE_DATABASE_HOST=mariadb_host \ @@ -356,13 +356,13 @@ In case the database already contains data from a previous Redmine installation, The Bitnami Redmine Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs redmine +docker logs redmine ``` Or using Docker Compose: ```console -$ docker-compose logs redmine +docker-compose logs redmine ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -376,13 +376,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop redmine +docker stop redmine ``` Or using Docker Compose: ```console -$ docker-compose stop redmine +docker-compose stop redmine ``` #### Step 2: Run the backup command @@ -390,7 +390,7 @@ $ docker-compose stop redmine We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/redmine-backups:/backups --volumes-from redmine busybox \ +docker run --rm -v /path/to/redmine-backups:/backups --volumes-from redmine busybox \ cp -a /bitnami/redmine /backups/latest ``` @@ -401,7 +401,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -411,7 +411,7 @@ For the MariaDB database container: For the Redmine container: ```diff - $ docker run -d --name redmine \ + docker run -d --name redmine \ ... - --volume /path/to/redmine-persistence:/bitnami/redmine \ + --volume /path/to/redmine-backups/latest:/bitnami/redmine \ @@ -420,14 +420,14 @@ For the Redmine container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and Redmine, 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 Redmine container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and Redmine, 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 Redmine container. For the MariaDB upgrade see: The `bitnami/redmine:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/redmine:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/redmine/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/redmine:latest +docker pull bitnami/redmine:latest ``` #### Step 2: Stop the running container @@ -435,7 +435,7 @@ $ docker pull bitnami/redmine:latest Stop the currently running container using the command ```console -$ docker-compose stop redmine +docker-compose stop redmine ``` #### Step 3: Take a snapshot of the application state @@ -455,7 +455,7 @@ docker-compose rm -v redmine Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Notable Changes @@ -494,7 +494,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/reportserver/README.md b/bitnami/reportserver/README.md index e78c64ba9179..20f5e7c35f53 100644 --- a/bitnami/reportserver/README.md +++ b/bitnami/reportserver/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/reportserver/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/reportserver/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami ReportServer Community Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/reportserver). ```console -$ docker pull bitnami/reportserver:latest +docker pull bitnami/reportserver:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/reportserver/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/reportserver:[TAG] +docker pull bitnami/reportserver:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -69,8 +69,8 @@ ReportServer Community requires access to a MySQL or MariaDB database to store i The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/reportserver/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/reportserver/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/reportserver/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -80,14 +80,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create reportserver-network +docker network create reportserver-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_reportserver \ --env MARIADB_PASSWORD=bitnami \ @@ -100,8 +100,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for ReportServer Community persistence and launch the container ```console -$ docker volume create --name reportserver_data -$ docker run -d --name reportserver \ +docker volume create --name reportserver_data +docker run -d --name reportserver \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env REPORTSERVER_DATABASE_USER=bn_reportserver \ @@ -155,13 +155,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create reportserver-network +docker network create reportserver-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_reportserver \ --env MARIADB_PASSWORD=bitnami \ @@ -174,7 +174,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the ReportServer Community container with host volumes ```console -$ docker run -d --name reportserver \ +docker run -d --name reportserver \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env REPORTSERVER_DATABASE_USER=bn_reportserver \ @@ -204,7 +204,7 @@ When you start the ReportServer Community image, you can adjust the configuratio - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name reportserver -p 80:8080 -p 443:8443 \ + docker run -d --name reportserver -p 80:8080 -p 443:8443 \ --env REPORTSERVER_PASSWORD=my_password \ --network reportserver-tier \ --volume /path/to/reportserver-persistence:/bitnami \ @@ -213,7 +213,7 @@ When you start the ReportServer Community image, you can adjust the configuratio Available environment variables: -##### User and Site configuration +#### User and Site configuration - `REPORTSERVER_USERNAME`: ReportServer Community application username. Default: **user** - `REPORTSERVER_PASSWORD`: ReportServer Community application password. Default: **bitnami** @@ -221,7 +221,7 @@ Available environment variables: - `REPORTSERVER_FIRST_NAME`: ReportServer Community first name. Default: **FirstName** - `REPORTSERVER_LAST_NAME`: ReportServer Community last name. Default: **LastName** -##### Database connection configuration +#### Database connection configuration - `REPORTSERVER_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** - `REPORTSERVER_DATABASE_PORT_NUMBER`: Port used by the MariaDB or MySQL server. Default: **3306** @@ -230,7 +230,7 @@ Available environment variables: - `REPORTSERVER_DATABASE_PASSWORD`: Database password that ReportServer Community will use to connect with the database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for ReportServer Community using mysql-client +#### Create a database for ReportServer Community using mysql-client - `MYSQL_CLIENT_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** - `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the MariaDB or MySQL server. Default: **3306** @@ -245,7 +245,7 @@ Available environment variables: - `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure ReportServer Community to send email using SMTP you can set the following environment variables: @@ -280,7 +280,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name reportserver -p 80:8080 -p 443:8443 \ + docker run -d --name reportserver -p 80:8080 -p 443:8443 \ --env REPORTSERVER_DATABASE_USER=bn_reportserver \ --env REPORTSERVER_DATABASE_NAME=bitnami_reportserver \ --env REPORTSERVER_SMTP_HOST=smtp.gmail.com \ @@ -315,7 +315,7 @@ The Bitnami ReportServer Community container supports connecting the ReportServe - For manual execution: ```console - $ docker run -d --name reportserver\ + docker run -d --name reportserver\ -p 8080:8080 -p 8443:8443 \ --network reportserver-network \ --env REPORTSERVER_DATABASE_HOST=mariadb_host \ @@ -334,13 +334,13 @@ In case the database already contains data from a previous ReportServer Communit The Bitnami ReportServer Community Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs reportserver +docker logs reportserver ``` Or using Docker Compose: ```console -$ docker-compose logs reportserver +docker-compose logs reportserver ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -354,13 +354,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop reportserver +docker stop reportserver ``` Or using Docker Compose: ```console -$ docker-compose stop reportserver +docker-compose stop reportserver ``` #### Step 2: Run the backup command @@ -368,7 +368,7 @@ $ docker-compose stop reportserver We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/reportserver-backups:/backups --volumes-from reportserver busybox \ +docker run --rm -v /path/to/reportserver-backups:/backups --volumes-from reportserver busybox \ cp -a /bitnami/reportserver /backups/latest ``` @@ -379,7 +379,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -389,7 +389,7 @@ For the MariaDB database container: For the ReportServer Community container: ```diff - $ docker run -d --name reportserver \ + docker run -d --name reportserver \ ... - --volume /path/to/reportserver-persistence:/bitnami/reportserver \ + --volume /path/to/reportserver-backups/latest:/bitnami/reportserver \ @@ -398,14 +398,14 @@ For the ReportServer Community container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and ReportServer Community, 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 ReportServer Community container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and ReportServer Community, 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 ReportServer Community container. For the MariaDB upgrade see: The `bitnami/reportserver:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/reportserver:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/reportserver/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/reportserver:latest +docker pull bitnami/reportserver:latest ``` #### Step 2: Stop the running container @@ -413,7 +413,7 @@ $ docker pull bitnami/reportserver:latest Stop the currently running container using the command ```console -$ docker-compose stop reportserver +docker-compose stop reportserver ``` #### Step 3: Take a snapshot of the application state @@ -433,10 +433,10 @@ docker-compose rm -v reportserver Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` -# Learn more about ReportServer Community +## Learn more about ReportServer Community Developers can obtain the source code for ReportServer Community from [https://github.com/infofabrik/reportserver](https://github.com/infofabrik/reportserver). @@ -479,7 +479,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/rmq-default-credential-updater/README.md b/bitnami/rmq-default-credential-updater/README.md index cb96b7d50a04..09def35d3e9a 100644 --- a/bitnami/rmq-default-credential-updater/README.md +++ b/bitnami/rmq-default-credential-updater/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name rmq-default-credential-updater bitnami/rmq-default-credential-updater:latest +docker run --name rmq-default-credential-updater bitnami/rmq-default-credential-updater:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami rmq-default-credential-updater Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/rmq-default-credential-updater). ```console -$ docker pull bitnami/rmq-default-credential-updater:latest +docker pull bitnami/rmq-default-credential-updater:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/rmq-default-credential-updater/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/rmq-default-credential-updater:[TAG] +docker pull bitnami/rmq-default-credential-updater:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `default-user-credential-updater --help` you can follow the example below: ```console -$ docker run --rm --name rmq-default-credential-updater bitnami/rmq-default-credential-updater:latest -- --help +docker run --rm --name rmq-default-credential-updater bitnami/rmq-default-credential-updater:latest -- --help ``` Check the [official RabbitMQ Default User Credential Updater documentation](https://github.com/rabbitmq/default-user-credential-updater) for more information. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/rmq-messaging-topology-operator/README.md b/bitnami/rmq-messaging-topology-operator/README.md index ac4b71051bcd..17a8addc1a4d 100644 --- a/bitnami/rmq-messaging-topology-operator/README.md +++ b/bitnami/rmq-messaging-topology-operator/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name rmq-default-credential-updater bitnami/rmq-messaging-topology-operator:latest +docker run --name rmq-default-credential-updater bitnami/rmq-messaging-topology-operator:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami rmq-default-credential-updater Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/rmq-default-credential-updater). ```console -$ docker pull bitnami/rmq-messaging-topology-operator:latest +docker pull bitnami/rmq-messaging-topology-operator:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/rmq-messaging-topology-operator/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/rmq-messaging-topology-operator:[TAG] +docker pull bitnami/rmq-messaging-topology-operator:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `manager --help` you can follow the example below: ```console -$ docker run --rm --name rmq-default-credential-updater bitnami/rmq-default-credential-updater:latest -- --help +docker run --rm --name rmq-default-credential-updater bitnami/rmq-default-credential-updater:latest -- --help ``` Check the [official RabbitMQ Messaging Topology Operator documentation](https://github.com/rabbitmq/messaging-topology-operator) for more information. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/ruby/README.md b/bitnami/ruby/README.md index abb4fd7c2ba4..5a43081254cc 100644 --- a/bitnami/ruby/README.md +++ b/bitnami/ruby/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name ruby bitnami/ruby:latest +docker run -it --name ruby bitnami/ruby:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ruby/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ruby/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -55,21 +55,21 @@ The formatting convention for `prod` tags has been changed: The recommended way to get the Bitnami Ruby Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/ruby). ```console -$ docker pull bitnami/ruby:latest +docker pull bitnami/ruby:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/ruby/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/ruby:[TAG] +docker pull bitnami/ruby:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Entering the REPL @@ -77,12 +77,12 @@ $ docker build -t bitnami/APP:latest . By default, running this image will drop you into the Ruby REPL (`irb`), where you can interactively test and try things out in Ruby. ```console -$ docker run -it --name ruby bitnami/ruby:latest +docker run -it --name ruby bitnami/ruby:latest ``` **Further Reading:** - - [Ruby IRB Documentation](http://ruby-doc.org/stdlib-2.4.0/libdoc/irb/rdoc/IRB.html) +* [Ruby IRB Documentation](http://ruby-doc.org/stdlib-2.4.0/libdoc/irb/rdoc/IRB.html) ## Configuration @@ -91,7 +91,7 @@ $ docker run -it --name ruby bitnami/ruby:latest The default work directory for the Ruby image is `/app`. You can mount a folder from your host here that includes your Ruby script, and run it normally using the `ruby` command. ```console -$ docker run -it --name ruby -v /path/to/app:/app bitnami/ruby:latest \ +docker run -it --name ruby -v /path/to/app:/app bitnami/ruby:latest \ ruby script.rb ``` @@ -100,7 +100,7 @@ $ docker run -it --name ruby -v /path/to/app:/app bitnami/ruby:latest \ If your Ruby app has a `Gemfile` defining your app's dependencies and start script, you can install the dependencies before running your app. ```console -$ docker run -it --name ruby -v /path/to/app:/app bitnami/ruby:latest \ +docker run -it --name ruby -v /path/to/app:/app bitnami/ruby:latest \ sh -c "bundle install && ruby script.rb" ``` @@ -117,8 +117,8 @@ ruby: **Further Reading:** - - [rubygems.org](https://rubygems.org/) - - [bundler.io](http://bundler.io/) +* [rubygems.org](https://rubygems.org/) +* [bundler.io](http://bundler.io/) ### Accessing a Ruby app running a web server @@ -140,20 +140,20 @@ end To access your web server from your host machine you can ask Docker to map a random port on your host to port `3000` inside the container. ```console -$ docker run -it --name ruby -P bitnami/ruby:latest +docker run -it --name ruby -P bitnami/ruby:latest ``` Run `docker port` to determine the random port Docker assigned. ```console -$ docker port ruby +docker port ruby 3000/tcp -> 0.0.0.0:32769 ``` You can also manually specify the port you want forwarded from your host to the container. ```console -$ docker run -it --name ruby -p 8080:3000 bitnami/ruby:latest +docker run -it --name ruby -p 8080:3000 bitnami/ruby:latest ``` Access your web server in the browser by navigating to `http://localhost:8080`. @@ -169,7 +169,7 @@ We may want to make our Ruby web server only accessible via an nginx web server. #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` or using Docker Compose: @@ -210,7 +210,7 @@ Copy the virtual host above, saving the file somewhere on your host. We will mou #### Step 3: Run the Ruby image with a specific name ```console -$ docker run -it --name myapp \ +docker run -it --name myapp \ --network app-tier \ -v /path/to/app:/app \ bitnami/ruby:latest ruby script.rb @@ -232,7 +232,7 @@ myapp: #### Step 4: Run the nginx image ```console -$ docker run -it \ +docker run -it \ -v /path/to/vhost.conf:/bitnami/nginx/conf/vhosts/yourapp.conf \ --network app-tier \ bitnami/nginx:latest @@ -259,7 +259,7 @@ Bitnami provides up-to-date versions of Ruby, including security patches, soon a #### Step 1: Get the updated image ```console -$ docker pull bitnami/ruby:latest +docker pull bitnami/ruby:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/ruby:latest`. @@ -267,13 +267,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v ruby +docker rm -v ruby ``` or using Docker Compose: ```console -$ docker-compose rm -v ruby +docker-compose rm -v ruby ``` #### Step 3: Run the new image @@ -281,27 +281,28 @@ $ docker-compose rm -v ruby Re-create your container from the new image. ```console -$ docker run --name ruby bitnami/ruby:latest +docker run --name ruby bitnami/ruby:latest ``` or using Docker Compose: ```console -$ docker-compose up ruby +docker-compose up ruby ``` ## Notable Changes ### 2.3.1-r0 (2016-05-11) -- Commands are now executed as the `root` user. Use the `--user` argument to switch to another user or change to the required user using `sudo` to launch applications. Alternatively, as of Docker 1.10 User Namespaces are supported by the docker daemon. Refer to the [daemon user namespace options](https://docs.docker.com/engine/security/userns-remap/) for more details. + +* Commands are now executed as the `root` user. Use the `--user` argument to switch to another user or change to the required user using `sudo` to launch applications. Alternatively, as of Docker 1.10 User Namespaces are supported by the docker daemon. Refer to the [daemon user namespace options](https://docs.docker.com/engine/security/userns-remap/) for more details. ### 2.2.3-0-r02 (2015-09-30) -- `/app` directory no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume were not persisted between RUN commands. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option. +* `/app` directory no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume were not persisted between RUN commands. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option. ### 2.2.3-0-r01 (2015-08-26) -- Permissions fixed so `bitnami` user can install gems without needing `sudo`. +* Permissions fixed so `bitnami` user can install gems without needing `sudo`. ## Contributing @@ -312,13 +313,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/schema-registry/README.md b/bitnami/schema-registry/README.md index a67cbd6336c0..ce81232298b8 100644 --- a/bitnami/schema-registry/README.md +++ b/bitnami/schema-registry/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name schema-registry bitnami/schema-registry:latest +docker run --name schema-registry bitnami/schema-registry:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami schema-registry Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/schema-registry). ```console -$ docker pull bitnami/schema-registry:latest +docker pull bitnami/schema-registry:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/schema-registry/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/schema-registry:[TAG] +docker pull bitnami/schema-registry:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -59,7 +59,7 @@ $ docker build -t bitnami/APP:latest . When you start the Confluent Schema Registry 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. Please note that some variables are only considered when the container is started for the first time. 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/schema-registry/docker-compose.yml) file present in this repository: +* 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/schema-registry/docker-compose.yml) file present in this repository: ```yaml schema-registry: @@ -69,10 +69,10 @@ When you start the Confluent Schema Registry image, you can adjust the configura ... ``` -- For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name schema-registry -p 8081:8081 \ + docker run -d --name schema-registry -p 8081:8081 \ --env SCHEMA_REGISTRY_DEBUG=true \ --network schema-registry-tier \ --volume /path/to/schema-registry-persistence:/bitnami \ @@ -81,29 +81,29 @@ When you start the Confluent Schema Registry image, you can adjust the configura Available environment variables: -##### Schema Registry settings +#### Schema Registry settings -- `SCHEMA_REGISTRY_KAFKA_BROKERS`: List of Kafka brokers to connect to. Default: **PLAINTEXT://localhost:9092**. -- `SCHEMA_REGISTRY_ADVERTISED_HOSTNAME`: Advertised hostname in ZooKeeper. Default: **container IP**. -- `SCHEMA_REGISTRY_KAFKA_KEYSTORE_PASSWORD`: Password to access the keystore. Default: **empty value**. -- `SCHEMA_REGISTRY_KAFKA_KEY_PASSWORD`: Password to be able to used ssl secured kafka broker with Schema Registry. Default: **empty value**. -- `SCHEMA_REGISTRY_KAFKA_TRUSTSTORE_PASSWORD`: Password to access the truststore. Default: **empty value**. -- `SCHEMA_REGISTRY_KAFKA_SASL_USER`: SASL user to authenticate with Kafka. Default: **empty value**. -- `SCHEMA_REGISTRY_KAFKA_SASL_PASSWORD`: SASL password to authenticate with Kafka. Default: **empty value**. -- `SCHEMA_REGISTRY_LISTENERS`: Comma-separated list of listeners that listen for API requests over either HTTP or HTTPS. Default: **http://0.0.0.0:8081**. -- `SCHEMA_REGISTRY_SSL_KEYSTORE_PASSWORD`: Password to access the SSL keystore. Default: **empty value**. -- `SCHEMA_REGISTRY_SSL_KEY_PASSWORD`: Password to access the SSL key. Default: **empty value**. -- `SCHEMA_REGISTRY_SSL_TRUSTSTORE_PASSWORD`: Password to access the SSL truststore. Default: **empty value**. -- `SCHEMA_REGISTRY_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM`: Endpoint identification algorithm to validate the server hostname using the server certificate. Default: **empty value**. -- `SCHEMA_REGISTRY_CLIENT_AUTHENTICATION`: Client authentication configuration. Valid options: `NONE`, `REQUESTED`, or `REQUIRED`. -- `SCHEMA_REGISTRY_AVRO_COMPATIBILY_LEVEL`: The Avro compatibility type. Valid options: `NONE`, `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, or `FULL_TRANSITIVE`. -- `SCHEMA_REGISTRY_DEBUG`: Enable Schema Registry debug logs. Valid options: true or false. Default: **false**. +* `SCHEMA_REGISTRY_KAFKA_BROKERS`: List of Kafka brokers to connect to. Default: **PLAINTEXT://localhost:9092**. +* `SCHEMA_REGISTRY_ADVERTISED_HOSTNAME`: Advertised hostname in ZooKeeper. Default: **container IP**. +* `SCHEMA_REGISTRY_KAFKA_KEYSTORE_PASSWORD`: Password to access the keystore. Default: **empty value**. +* `SCHEMA_REGISTRY_KAFKA_KEY_PASSWORD`: Password to be able to used ssl secured kafka broker with Schema Registry. Default: **empty value**. +* `SCHEMA_REGISTRY_KAFKA_TRUSTSTORE_PASSWORD`: Password to access the truststore. Default: **empty value**. +* `SCHEMA_REGISTRY_KAFKA_SASL_USER`: SASL user to authenticate with Kafka. Default: **empty value**. +* `SCHEMA_REGISTRY_KAFKA_SASL_PASSWORD`: SASL password to authenticate with Kafka. Default: **empty value**. +* `SCHEMA_REGISTRY_LISTENERS`: Comma-separated list of listeners that listen for API requests over either HTTP or HTTPS. Default: ****. +* `SCHEMA_REGISTRY_SSL_KEYSTORE_PASSWORD`: Password to access the SSL keystore. Default: **empty value**. +* `SCHEMA_REGISTRY_SSL_KEY_PASSWORD`: Password to access the SSL key. Default: **empty value**. +* `SCHEMA_REGISTRY_SSL_TRUSTSTORE_PASSWORD`: Password to access the SSL truststore. Default: **empty value**. +* `SCHEMA_REGISTRY_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM`: Endpoint identification algorithm to validate the server hostname using the server certificate. Default: **empty value**. +* `SCHEMA_REGISTRY_CLIENT_AUTHENTICATION`: Client authentication configuration. Valid options: `NONE`, `REQUESTED`, or `REQUIRED`. +* `SCHEMA_REGISTRY_AVRO_COMPATIBILY_LEVEL`: The Avro compatibility type. Valid options: `NONE`, `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, or `FULL_TRANSITIVE`. +* `SCHEMA_REGISTRY_DEBUG`: Enable Schema Registry debug logs. Valid options: true or false. Default: **false**. -##### Kafka settings +#### Kafka settings Please check the configuration settings for the Kakfa service in the [Kafka's README file](https://github.com/bitnami/containers/tree/main/bitnami/kafka#configuration). -##### Zookeeper settings +#### Zookeeper settings Please check the configuration settings for the Kakfa service in the [Zookeeper's README file](https://github.com/bitnami/containers/tree/main/bitnami/zookeeper#configuration). @@ -123,7 +123,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/sealed-secrets/README.md b/bitnami/sealed-secrets/README.md index 909dc36e198c..239b976a94d7 100644 --- a/bitnami/sealed-secrets/README.md +++ b/bitnami/sealed-secrets/README.md @@ -6,12 +6,10 @@ [Overview of Sealed Secrets](https://github.com/bitnami-labs/sealed-secrets) - - ## TL;DR ```console -$ docker run --name sealed-secrets bitnami/sealed-secrets:latest +docker run --name sealed-secrets bitnami/sealed-secrets:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami sealed-secrets Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/sealed-secrets). ```console -$ docker pull bitnami/sealed-secrets:latest +docker pull bitnami/sealed-secrets:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/sealed-secrets/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/sealed-secrets:[TAG] +docker pull bitnami/sealed-secrets:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +58,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `kubeseal --version` you can follow the example below: ```console -$ docker run --rm --name sealed-secrets bitnami/sealed-secrets:latest -- kubeseal --version +docker run --rm --name sealed-secrets bitnami/sealed-secrets:latest -- kubeseal --version ``` ## Contributing @@ -79,7 +77,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/solr/README.md b/bitnami/solr/README.md index 98174e7808fa..cf7cfc3eca49 100644 --- a/bitnami/solr/README.md +++ b/bitnami/solr/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name solr bitnami/solr:latest +docker run --name solr bitnami/solr:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/solr/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/solr/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the available configuration options in the [Environment Variables](#environment-variables) section. @@ -45,21 +45,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami solr Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/solr). ```console -$ docker pull bitnami/solr:latest +docker pull bitnami/solr:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/solr/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/solr:[TAG] +docker pull bitnami/solr:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -71,7 +71,7 @@ For persistence you should mount a volume at the `/bitnami` path. The above exam To avoid inadvertent removal of this volume you can [mount host directories as data volumes](https://docs.docker.com/engine/tutorials/dockervolumes/). Alternatively you can make use of volume plugins to host the volume data. ```console -$ docker run -v /path/to/solr-persistence:/bitnami bitnami/solr:latest +docker run -v /path/to/solr-persistence:/bitnami bitnami/solr:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/solr/docker-compose.yml) file present in this repository: @@ -97,7 +97,7 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create solr-network --driver bridge +docker network create solr-network --driver bridge ``` #### Step 2: Launch the solr container within your network @@ -105,7 +105,7 @@ $ docker network create solr-network --driver bridge Use the `--network ` argument to the `docker run` command to attach the container to the `solr-network` network. ```console -$ docker run --name solr-node1 --network solr-network bitnami/solr:latest +docker run --name solr-node1 --network solr-network bitnami/solr:latest ``` #### Step 3: Run another containers @@ -141,7 +141,7 @@ services: Then, launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -150,37 +150,39 @@ $ docker-compose up -d When you start the solr 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. The following environment values are provided to custom Solr: -- `SOLR_PORT_NUMBER`: Port used by Solr server. Default: **8983** -- `SOLR_SERVER_DIR`: Specify the Solr server directory. Default: **/opt/bitnami/solr/server** -- `SOLR_CORES`: List of core names to create at first run separated by either a space, (` `), a comma (`,`) or a semicolon (`;`). No default. (E.g.: '**my_core_en,my_core_es**') -- `SOLR_CORE_CONF_DIR`: Configuration directory to copy when creating a new core. Default: **data_driven_schema_configs** -- `SOLR_OPTS`: List of Solr server options and flags separated by either a space, (` `), a comma (`,`) or a semicolon (`;`). No default. (E.g.: '**-XX:+AggressiveOpts -XX:G1HeapRegionSize=8m**') -- `SOLR_JETTY_HOST`: Configuration to listen on a specific IP address or host name.Default: **0.0.0.0** +* `SOLR_PORT_NUMBER`: Port used by Solr server. Default: **8983** +* `SOLR_SERVER_DIR`: Specify the Solr server directory. Default: **/opt/bitnami/solr/server** +* `SOLR_CORES`: List of core names to create at first run separated by either a space, (``), a comma (`,`) or a semicolon (`;`). No default. (E.g.: '**my_core_en,my_core_es**') +* `SOLR_CORE_CONF_DIR`: Configuration directory to copy when creating a new core. Default: **data_driven_schema_configs** +* `SOLR_OPTS`: List of Solr server options and flags separated by either a space, (``), a comma (`,`) or a semicolon (`;`). No default. (E.g.: '**-XX:+AggressiveOpts -XX:G1HeapRegionSize=8m**') +* `SOLR_JETTY_HOST`: Configuration to listen on a specific IP address or host name.Default: **0.0.0.0** Cluster related environment variables: -- `SOLR_CLOUD_BOOTSTRAP`: Indicates if this node is going to bootstrap the cluster. Default: **no** -- `SOLR_ENABLE_CLOUD_MODE`: Enable cloud mode. Default: **no** -- `SOLR_COLLECTION`: Create collection at the first run. By default, it will not create a core. (E.g.: '**my_collection**') -- `SOLR_COLLECTION_SHARDS`: Number of shards for the collection created at first run. Default: **1** -- `SOLR_COLLECTION_REPLICAS`: Number of replicas for the collection create at first run. Default: **1** -- `SOLR_NUMBER_OF_NODES`: Number of the node of the Solr cloud cluster. Default: **1** -- `SOLR_HOST`: Name of the node. If not set the node IP will be used. Default: **null** -- `SORL_ZK_SLEEP_TIME`: Sleep time when waiting for init configuration operations to finish. Default: **5** -- `SOLR_ZK_MAX_RETRIES`: Maximum retries when waitinf for init configuration operations to finish. Default: **5** +* `SOLR_CLOUD_BOOTSTRAP`: Indicates if this node is going to bootstrap the cluster. Default: **no** +* `SOLR_ENABLE_CLOUD_MODE`: Enable cloud mode. Default: **no** +* `SOLR_COLLECTION`: Create collection at the first run. By default, it will not create a core. (E.g.: '**my_collection**') +* `SOLR_COLLECTION_SHARDS`: Number of shards for the collection created at first run. Default: **1** +* `SOLR_COLLECTION_REPLICAS`: Number of replicas for the collection create at first run. Default: **1** +* `SOLR_NUMBER_OF_NODES`: Number of the node of the Solr cloud cluster. Default: **1** +* `SOLR_HOST`: Name of the node. If not set the node IP will be used. Default: **null** +* `SORL_ZK_SLEEP_TIME`: Sleep time when waiting for init configuration operations to finish. Default: **5** +* `SOLR_ZK_MAX_RETRIES`: Maximum retries when waitinf for init configuration operations to finish. Default: **5** Authentication related environment variables: -- `SOLR_ENABLE_AUTHENTICATION`: Enable the authentication, you can indicate the administrator credentiales with the following variables. Default: **no** -- `SOLR_ADMIN_USERNAME`: Username for the administrator user. Default: **admin** -- `SOLR_ADMIN_PASSWORD`: Password for the administrator user. Default: **Bitnami** + +* `SOLR_ENABLE_AUTHENTICATION`: Enable the authentication, you can indicate the administrator credentiales with the following variables. Default: **no** +* `SOLR_ADMIN_USERNAME`: Username for the administrator user. Default: **admin** +* `SOLR_ADMIN_PASSWORD`: Password for the administrator user. Default: **Bitnami** SSL related environment variables: -- `SOLR_SSL_ENABLED`: Indicates if solr is going to enable SSL. Default: **no** -- `SOLR_SSL_KEY_STORE`: Key store file. Default: **null** -- `SOLR_SSL_KEY_STORE_PASSWORD`: Password for the key store file. Default: **null** -- `SOLR_SSL_TRUST_STORE`: Trust store file. Default: **null** -- `SOLR_SSL_TRUST_STORE_PASSWORD`: Password for the trust store file. Default: **null** -- `SOLR_SSL_CHECK_PEER_NAME`: Indicates if the peer name should be checked. Default: **false** + +* `SOLR_SSL_ENABLED`: Indicates if solr is going to enable SSL. Default: **no** +* `SOLR_SSL_KEY_STORE`: Key store file. Default: **null** +* `SOLR_SSL_KEY_STORE_PASSWORD`: Password for the key store file. Default: **null** +* `SOLR_SSL_TRUST_STORE`: Trust store file. Default: **null** +* `SOLR_SSL_TRUST_STORE_PASSWORD`: Password for the trust store file. Default: **null** +* `SOLR_SSL_CHECK_PEER_NAME`: Indicates if the peer name should be checked. Default: **false** #### Specifying Environment Variables using Docker Compose @@ -197,14 +199,14 @@ solr: #### Specifying Environment Variables on the Docker command line ```console -$ docker run -d -e SOLR_CORES=my_core --name solr bitnami/solr:latest +docker run -d -e SOLR_CORES=my_core --name solr bitnami/solr:latest ``` ### Using your Apache Solr Cores configuration files In order to load your own configuration files, you will have to make them available to the container. You can do it mounting a [volume](https://docs.docker.com/engine/tutorials/dockervolumes/) in the desired location and setting the environment variable with the customized value (as it is pointed above, the default value is **data_driven_schema_configs**). -#### Using Docker Compose +#### Using a Docker Compose This requires a minor change to the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/solr/docker-compose.yml) file present in this repository: @@ -223,13 +225,13 @@ solr: The Bitnami solr Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs solr +docker logs solr ``` or using Docker Compose: ```console -$ docker-compose logs solr +docker-compose logs solr ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -243,7 +245,7 @@ Bitnami provides up-to-date versions of solr, including security patches, soon a #### Step 1: Get the updated image ```console -$ docker pull bitnami/solr:latest +docker pull bitnami/solr:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -254,19 +256,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop solr +docker stop solr ``` or using Docker Compose: ```console -$ docker-compose stop solr +docker-compose stop solr ``` Next, take a snapshot of the persistent volume `/path/to/solr-persistence` using: ```console -$ rsync -a /path/to/solr-persistence /path/to/solr-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/solr-persistence /path/to/solr-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -274,45 +276,46 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v solr +docker rm -v solr ``` or using Docker Compose: ```console -$ docker-compose rm -v solr +docker-compose rm -v solr ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name solr bitnami/solr:latest +docker run --name solr bitnami/solr:latest ``` or using Docker Compose: ```console -$ docker-compose up solr +docker-compose up solr ``` + ## Notable Changes ### 8.8.0-debian-10-r11 -- Adds SSL support. +* Adds SSL support. ### 8.8.0-debian-10-r9 -- The Solr container initialization logic has been moved to Bash scripts. -- The size of the container image has been decreased. -- Added the support for cloud mode. -- Added support for authentication and admin user creation. -- Data migration for the upgrades. If you are running an older version of this container, run this version as user `root` and it will migrate your current data. +* The Solr container initialization logic has been moved to Bash scripts. +* The size of the container image has been decreased. +* Added the support for cloud mode. +* Added support for authentication and admin user creation. +* Data migration for the upgrades. If you are running an older version of this container, run this version as user `root` and it will migrate your current data. ### 7.4.0-r23 -- The Solr container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Solr daemon was started as the `solr` user. From now on, both the container and the Solr daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Solr container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Solr daemon was started as the `solr` user. From now on, both the container and the Solr daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ## Contributing @@ -323,13 +326,14 @@ We'd love for you to contribute to this container. You can request new features If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template. ## License + Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/sonarqube/README.md b/bitnami/sonarqube/README.md index bc7fc3f91ef8..98c03debcb82 100644 --- a/bitnami/sonarqube/README.md +++ b/bitnami/sonarqube/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/sonarqube/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/sonarqube/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami SonarQube™ Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/sonarqube). ```console -$ docker pull bitnami/sonarqube:latest +docker pull bitnami/sonarqube:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/sonarqube/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/sonarqube:[TAG] +docker pull bitnami/sonarqube:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -69,8 +69,8 @@ SonarQube™ requires access to a PostgreSQL database to store information. The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/sonarqube/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/sonarqube/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/sonarqube/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -80,14 +80,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create sonarqube-network +docker network create sonarqube-network ``` #### Step 2: Create a volume for PostgreSQL persistence and create a PostgreSQL container ```console -$ docker volume create --name postgresql_data -$ docker run -d --name postgresql \ +docker volume create --name postgresql_data +docker run -d --name postgresql \ --env ALLOW_EMPTY_PASSWORD=yes \ --env POSTGRESQL_USERNAME=bn_sonarqube \ --env POSTGRESQL_PASSWORD=bitnami \ @@ -100,8 +100,8 @@ $ docker run -d --name postgresql \ #### Step 3: Create volumes for SonarQube™ persistence and launch the container ```console -$ docker volume create --name sonarqube_data -$ docker run -d --name sonarqube \ +docker volume create --name sonarqube_data +docker run -d --name sonarqube \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env SONARQUBE_DATABASE_USER=bn_sonarqube \ @@ -155,13 +155,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create sonarqube-network +docker network create sonarqube-network ``` #### Step 2. Create a PostgreSQL container with host volume ```console -$ docker run -d --name postgresql \ +docker run -d --name postgresql \ --env ALLOW_EMPTY_PASSWORD=yes \ --env POSTGRESQL_USERNAME=bn_sonarqube \ --env POSTGRESQL_PASSWORD=bitnami \ @@ -174,7 +174,7 @@ $ docker run -d --name postgresql \ #### Step 3. Create the SonarQube™ container with host volumes ```console -$ docker run -d --name sonarqube \ +docker run -d --name sonarqube \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env SONARQUBE_DATABASE_USER=bn_sonarqube \ @@ -204,7 +204,7 @@ When you start the SonarQube™ image, you can adjust the configuration of t - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name sonarqube -p 80:8080 -p 443:8443 \ + docker run -d --name sonarqube -p 80:8080 -p 443:8443 \ --env SONARQUBE_PASSWORD=my_password \ --network sonarqube-tier \ --volume /path/to/sonarqube-persistence:/bitnami \ @@ -213,7 +213,7 @@ When you start the SonarQube™ image, you can adjust the configuration of t Available environment variables: -##### User and Site configuration +#### User and Site configuration - `SONARQUBE_USERNAME`: SonarQube™ application username. Default: **admin** - `SONARQUBE_PASSWORD`: SonarQube™ application password. Default: **bitnami** @@ -230,7 +230,7 @@ Available environment variables: - `SONARQUBE_EXTRA_PROPERTIES`: Comma separated list of properties to be set in the sonar.properties file, e.g. `my.sonar.property1=property_value,my.sonar.property2=property_value`. No defaults. - `SONARQUBE_START_TIMEOUT`: Timeout for the application to start in seconds. Default: **300**. -##### Database connection configuration +#### Database connection configuration - `SONARQUBE_DATABASE_HOST`: Hostname for PostgreSQL server. Default: **postgresql** - `SONARQUBE_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** @@ -239,7 +239,7 @@ Available environment variables: - `SONARQUBE_DATABASE_PASSWORD`: Database password that SonarQube™ will use to connect with the database. No default. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for SonarQube™ using postgresql-client +#### Create a database for SonarQube™ using postgresql-client - `POSTGRESQL_CLIENT_DATABASE_HOST`: Hostname for the PostgreSQL server. Default: **postgresql** - `POSTGRESQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by the PostgreSQL server. Default: **5432** @@ -252,7 +252,7 @@ Available environment variables: - `POSTGRESQL_CLIENT_EXECUTE_SQL`: SQL code to execute in the PostgreSQL server. No defaults. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +#### SMTP Configuration To configure SonarQube™ to send email using SMTP you can set the following environment variables: @@ -287,7 +287,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name sonarqube -p 80:8080 -p 443:8443 \ + docker run -d --name sonarqube -p 80:8080 -p 443:8443 \ --env SONARQUBE_DATABASE_USER=bn_sonarqube \ --env SONARQUBE_DATABASE_NAME=bitnami_sonarqube \ --env SONARQUBE_SMTP_HOST=smtp.gmail.com \ @@ -322,7 +322,7 @@ The Bitnami SonarQube™ container supports connecting the SonarQube™ - For manual execution: ```console - $ docker run -d --name sonarqube\ + docker run -d --name sonarqube\ -p 8080:8080 -p 8443:8443 \ --network sonarqube-network \ --env SONARQUBE_DATABASE_HOST=mariadb_host \ @@ -341,13 +341,13 @@ In case the database already contains data from a previous SonarQube™ inst The Bitnami SonarQube™ Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs sonarqube +docker logs sonarqube ``` Or using Docker Compose: ```console -$ docker-compose logs sonarqube +docker-compose logs sonarqube ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -361,13 +361,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop sonarqube +docker stop sonarqube ``` Or using Docker Compose: ```console -$ docker-compose stop sonarqube +docker-compose stop sonarqube ``` #### Step 2: Run the backup command @@ -375,7 +375,7 @@ $ docker-compose stop sonarqube We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/sonarqube-backups:/backups --volumes-from sonarqube busybox \ +docker run --rm -v /path/to/sonarqube-backups:/backups --volumes-from sonarqube busybox \ cp -a /bitnami/sonarqube /backups/latest ``` @@ -386,7 +386,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the PostgreSQL database container: ```diff - $ docker run -d --name postgresql \ + docker run -d --name postgresql \ ... - --volume /path/to/postgresql-persistence:/bitnami/postgresql \ + --volume /path/to/postgresql-backups/latest:/bitnami/postgresql \ @@ -396,7 +396,7 @@ For the PostgreSQL database container: For the SonarQube™ container: ```diff - $ docker run -d --name sonarqube \ + docker run -d --name sonarqube \ ... - --volume /path/to/sonarqube-persistence:/bitnami/sonarqube \ + --volume /path/to/sonarqube-backups/latest:/bitnami/sonarqube \ @@ -405,14 +405,14 @@ For the SonarQube™ container: ### Upgrade this image -Bitnami provides up-to-date versions of PostgreSQL and SonarQube™, 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 SonarQube™ container. For the PostgreSQL upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/postgresql/blob/master/README.md#upgrade-this-image +Bitnami provides up-to-date versions of PostgreSQL and SonarQube™, 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 SonarQube™ container. For the PostgreSQL upgrade see: The `bitnami/sonarqube:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/sonarqube:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/sonarqube/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/sonarqube:latest +docker pull bitnami/sonarqube:latest ``` #### Step 2: Stop the running container @@ -420,7 +420,7 @@ $ docker pull bitnami/sonarqube:latest Stop the currently running container using the command ```console -$ docker-compose stop sonarqube +docker-compose stop sonarqube ``` #### Step 3: Take a snapshot of the application state @@ -440,10 +440,10 @@ docker-compose rm -v sonarqube Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` -# Notable Changes +## Notable Changes ### 9.0.0-debian-10-r0 @@ -468,7 +468,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/spark/README.md b/bitnami/spark/README.md index 9b0e3dd85a14..86914d97d185 100644 --- a/bitnami/spark/README.md +++ b/bitnami/spark/README.md @@ -13,8 +13,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Docker Compose ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/spark/docker-compose.yml -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/spark/docker-compose.yml +docker-compose up ``` You can find the available configuration options in the [Environment Variables](#environment-variables) section. @@ -51,7 +51,7 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Apache Spark Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/spark). ```console -$ docker pull bitnami/spark:latest +docker pull bitnami/spark:latest ``` To use a specific version, you can pull a versioned tag. You can view the @@ -59,15 +59,15 @@ To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry. ```console -$ docker pull bitnami/spark:[TAG] +docker pull bitnami/spark:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -89,7 +89,7 @@ spark: * For manual execution add a -e option with each variable and value: ```console -$ docker run -d --name spark \ +docker run -d --name spark \ --network=spark_network \ -e SPARK_MODE=master \ bitnami/spark @@ -129,23 +129,22 @@ The Bitnani Apache Spark docker image supports enabling RPC authentication, RPC ``` > Please note that `RPC_AUTHENTICATION_SECRET` is a placeholder that needs to be updated with a correct value. - > Be also aware that currently is not possible to submit an application to a standalone cluster if RPC authentication is configured. More info about the issue [here](https://issues.apache.org/jira/browse/SPARK-25078). Additionally, SSL configuration can be easily activated following the next steps: 1. Enable SSL configuration by setting the following env vars: -```diff -+ SPARK_SSL_ENABLED=yes -+ SPARK_SSL_KEY_PASSWORD=KEY_PASSWORD -+ SPARK_SSL_KEYSTORE_PASSWORD=KEYSTORE_PASSWORD -+ SPARK_SSL_TRUSTSTORE_PASSWORD=TRUSTSTORE_PASSWORD -+ SPARK_SSL_NEED_CLIENT_AUTH=yes -+ SPARK_SSL_PROTOCOL=TLSv1.2 -``` + ```diff + + SPARK_SSL_ENABLED=yes + + SPARK_SSL_KEY_PASSWORD=KEY_PASSWORD + + SPARK_SSL_KEYSTORE_PASSWORD=KEYSTORE_PASSWORD + + SPARK_SSL_TRUSTSTORE_PASSWORD=TRUSTSTORE_PASSWORD + + SPARK_SSL_NEED_CLIENT_AUTH=yes + + SPARK_SSL_PROTOCOL=TLSv1.2 + ``` -> Please note that `KEY_PASSWORD`, `KEYSTORE_PASSWORD`, and `TRUSTSTORE_PASSWORD` are placeholders that needs to be updated with a correct value. + > Please note that `KEY_PASSWORD`, `KEYSTORE_PASSWORD`, and `TRUSTSTORE_PASSWORD` are placeholders that needs to be updated with a correct value. 2. You need to mount your spark keystore and truststore files to `/opt/bitnami/spark/conf/certs`. Please note they should be called `spark-keystore.jks` and `spark-truststore.jks` and they should be in JKS format. @@ -158,10 +157,11 @@ By default, when you deploy the docker-compose file you will get an Apache Spark If you want N workers, all you need to do is start the docker-compose deployment with the following command: ```console -$ docker-compose up --scale spark-worker=3 +docker-compose up --scale spark-worker=3 ``` ### Mount a custom configuration file + The image looks for configuration in the `conf/` directory of `/opt/bitnami/spark`. #### Using docker-compose @@ -176,7 +176,7 @@ volumes: #### Using the command line ```console -$ docker run --name spark -v /path/to/spark-defaults.conf:/opt/bitnami/spark/conf/spark-defaults.conf bitnami/spark:latest +docker run --name spark -v /path/to/spark-defaults.conf:/opt/bitnami/spark/conf/spark-defaults.conf bitnami/spark:latest ``` After that, your changes will be taken into account in the server's behaviour. @@ -195,7 +195,7 @@ RUN curl https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk-bundle/1.11.7 In a similar way that in the previous section, you may want to use a different version of Hadoop jars. -Go to https://spark.apache.org/downloads.html and copy the download url bundling the Hadoop version you want and matching the Apache Spark version of the container. Extend the Bitnami container image as below: +Go to and copy the download url bundling the Hadoop version you want and matching the Apache Spark version of the container. Extend the Bitnami container image as below: ```Dockerfile FROM bitnami/spark:3.0.0 @@ -219,13 +219,13 @@ $ pyspark The Bitnami Apache Spark Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs spark +docker logs spark ``` or using Docker Compose: ```console -$ docker-compose logs spark +docker-compose logs spark ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -239,13 +239,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop spark +docker stop spark ``` or using Docker Compose: ```console -$ docker-compose stop spark +docker-compose stop spark ``` #### Step 2: Run the backup command @@ -253,14 +253,14 @@ $ docker-compose stop spark We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/spark-backups:/backups --volumes-from spark busybox \ +docker run --rm -v /path/to/spark-backups:/backups --volumes-from spark busybox \ cp -a /bitnami/spark /backups/latest ``` or using Docker Compose: ```console -$ docker run --rm -v /path/to/spark-backups:/backups --volumes-from `docker-compose ps -q spark` busybox \ +docker run --rm -v /path/to/spark-backups:/backups --volumes-from `docker-compose ps -q spark` busybox \ cp -a /bitnami/spark /backups/latest ``` @@ -269,12 +269,11 @@ $ docker run --rm -v /path/to/spark-backups:/backups --volumes-from `docker-comp Restoring a backup is as simple as mounting the backup as volumes in the container. ```console -$ docker run -v /path/to/spark-backups/latest:/bitnami/spark bitnami/spark:latest +docker run -v /path/to/spark-backups/latest:/bitnami/spark bitnami/spark:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/spark/docker-compose.yml) file present in this repository: - ```yaml services: spark: @@ -291,7 +290,7 @@ Bitnami provides up-to-date versions of spark, including security patches, soon #### Step 1: Get the updated image ```console -$ docker pull bitnami/spark:latest +docker pull bitnami/spark:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -306,14 +305,13 @@ Follow the steps on [creating a backup](#backing-up-your-container). #### Step 3: Remove the currently running container ```console -$ docker rm -v spark +docker rm -v spark ``` or using Docker Compose: - ```console -$ docker-compose rm -v spark +docker-compose rm -v spark ``` #### Step 4: Run the new image @@ -321,24 +319,24 @@ $ docker-compose rm -v spark Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. ```console -$ docker run --name spark bitnami/spark:latest +docker run --name spark bitnami/spark:latest ``` or using Docker Compose: ```console -$ docker-compose up spark +docker-compose up spark ``` ## Notable Changes ### 3.0.0-debian-10-r44 -- The container image was updated to use Hadoop `3.2.x`. If you want to use a different version, please read [Using a different version of Hadoop jars](#using-a-different-version-of-Hadoop-jars). +* The container image was updated to use Hadoop `3.2.x`. If you want to use a different version, please read [Using a different version of Hadoop jars](#using-a-different-version-of-hadoop-jars). ### 2.4.5-debian-10-r49 -- This image now has an aws-cli and two jars: hadoop-aws and aws-java-sdk for provide an easier way to use AWS. +* This image now has an aws-cli and two jars: hadoop-aws and aws-java-sdk for provide an easier way to use AWS. ## Contributing @@ -356,7 +354,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/spring-cloud-dataflow-composed-task-runner/README.md b/bitnami/spring-cloud-dataflow-composed-task-runner/README.md index b18da9ac0aa2..b791d99e1e99 100644 --- a/bitnami/spring-cloud-dataflow-composed-task-runner/README.md +++ b/bitnami/spring-cloud-dataflow-composed-task-runner/README.md @@ -6,12 +6,10 @@ [Overview of SCDF Composed Task Runner](https://github.com/spring-cloud/spring-cloud-dataflow) - - ## TL;DR ```console -$ docker run --name spring-cloud-dataflow-composed-task-runner bitnami/spring-cloud-dataflow-composed-task-runner:latest +docker run --name spring-cloud-dataflow-composed-task-runner bitnami/spring-cloud-dataflow-composed-task-runner:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami spring-cloud-dataflow-composed-task-runner Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/spring-cloud-dataflow-composed-task-runner). ```console -$ docker pull bitnami/spring-cloud-dataflow-composed-task-runner:latest +docker pull bitnami/spring-cloud-dataflow-composed-task-runner:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/spring-cloud-dataflow-composed-task-runner/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/spring-cloud-dataflow-composed-task-runner:[TAG] +docker pull bitnami/spring-cloud-dataflow-composed-task-runner:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +58,7 @@ $ docker build -t bitnami/APP:latest . To run tasks inside this container you can use `docker run`: ```console -$ docker run --rm --name spring-cloud-dataflow-composed-task-runner bitnami/spring-cloud-dataflow-composed-task-runner:latest +docker run --rm --name spring-cloud-dataflow-composed-task-runner bitnami/spring-cloud-dataflow-composed-task-runner:latest ``` ## Contributing @@ -79,7 +77,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/spring-cloud-dataflow-shell/README.md b/bitnami/spring-cloud-dataflow-shell/README.md index b9c0931edde7..59e47355438e 100644 --- a/bitnami/spring-cloud-dataflow-shell/README.md +++ b/bitnami/spring-cloud-dataflow-shell/README.md @@ -6,12 +6,10 @@ [Overview of Spring Cloud Data Flow Shell](https://github.com/spring-cloud/spring-cloud-dataflow) - - ## TL;DR ```console -$ docker run --name spring-cloud-dataflow-shell bitnami/spring-cloud-dataflow-shell:latest +docker run --name spring-cloud-dataflow-shell bitnami/spring-cloud-dataflow-shell:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami spring-cloud-dataflow-shell Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/spring-cloud-dataflow-shell). ```console -$ docker pull bitnami/spring-cloud-dataflow-shell:latest +docker pull bitnami/spring-cloud-dataflow-shell:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/spring-cloud-dataflow-shell/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/spring-cloud-dataflow-shell:[TAG] +docker pull bitnami/spring-cloud-dataflow-shell:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +58,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `spring-cloud-dataflow-shell --help` you can follow the example below: ```console -$ docker run --rm --name spring-cloud-dataflow-shell bitnami/spring-cloud-dataflow-shell:latest --help +docker run --rm --name spring-cloud-dataflow-shell bitnami/spring-cloud-dataflow-shell:latest --help ``` Consult the [spring-cloud-dataflow-shell Reference Documentation](https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#shell) to find the completed list of commands available. @@ -89,7 +87,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/spring-cloud-dataflow/README.md b/bitnami/spring-cloud-dataflow/README.md index f2b134dc1fc0..9e0ba4230bd8 100644 --- a/bitnami/spring-cloud-dataflow/README.md +++ b/bitnami/spring-cloud-dataflow/README.md @@ -6,15 +6,13 @@ [Overview of Spring Cloud Data Flow](https://github.com/spring-cloud/spring-cloud-dataflow) - - ## TL;DR ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/spring-cloud-dataflow/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/spring-cloud-dataflow/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +45,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami spring-cloud-dataflow Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/spring-cloud-dataflow). ```console -$ docker pull bitnami/spring-cloud-dataflow:latest +docker pull bitnami/spring-cloud-dataflow:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/spring-cloud-dataflow/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/spring-cloud-dataflow:[TAG] +docker pull bitnami/spring-cloud-dataflow:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -72,17 +70,17 @@ You can use some environment variable in order to configure the deployment of sp A relational database is used to store stream and task definitions as well as the state of executed tasks. Spring Cloud Data Flow provides schemas for H2, MySQL, Oracle, PostgreSQL, Db2, and SQL Server. Use the following environment to configure the connection. -- SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb-dataflow:3306/dataflow?useMysqlMetadata=true -- SPRING_DATASOURCE_USERNAME=bn_dataflow -- SPRING_DATASOURCE_PASSWORD=bn_dataflow -- SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver +* SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb-dataflow:3306/dataflow?useMysqlMetadata=true +* SPRING_DATASOURCE_USERNAME=bn_dataflow +* SPRING_DATASOURCE_PASSWORD=bn_dataflow +* SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver ### Configuring additional features Spring Cloud Data Flow Server offers specific set of features that can be enabled/disabled when launching. -- SPRING_CLOUD_DATAFLOW_FEATURES_STREAMS_ENABLED=true. If you enable streams, you will need to configure the stream platform, see [Configuring stream platform](#configuringstreamplatform). -- SPRING_CLOUD_DATAFLOW_FEATURES_TASKS_ENABLED=true +* SPRING_CLOUD_DATAFLOW_FEATURES_STREAMS_ENABLED=true. If you enable streams, you will need to configure the stream platform, see [Configuring stream platform](#configuring-stream-platform). +* SPRING_CLOUD_DATAFLOW_FEATURES_TASKS_ENABLED=true In the same way, you might need to customize the JVM. Use the `JAVA_OPTS` environment variable for this purpose. @@ -90,21 +88,21 @@ In the same way, you might need to customize the JVM. Use the `JAVA_OPTS` enviro In order to deploy streams using data flow you will require [Spring Cloud Skipper](https://github.com/bitnami/containers/blob/main/bitnami/spring-cloud-skipper) and one of the following messaging platforms. Please add the following environment variable to point to a different skipper endpoint. -- SPRING_CLOUD_SKIPPER_CLIENT_SERVER_URI=http://spring-cloud-skipper:7577/api +* SPRING_CLOUD_SKIPPER_CLIENT_SERVER_URI= #### Using RabbitMQ -- spring.cloud.dataflow.applicationProperties.stream.spring.rabbitmq.host=rabbitmq -- spring.cloud.dataflow.applicationProperties.stream.spring.rabbitmq.port=5672 -- spring.cloud.dataflow.applicationProperties.stream.spring.rabbitmq.username=user -- spring.cloud.dataflow.applicationProperties.stream.spring.rabbitmq.password=bitnami +* spring.cloud.dataflow.applicationProperties.stream.spring.rabbitmq.host=rabbitmq +* spring.cloud.dataflow.applicationProperties.stream.spring.rabbitmq.port=5672 +* spring.cloud.dataflow.applicationProperties.stream.spring.rabbitmq.username=user +* spring.cloud.dataflow.applicationProperties.stream.spring.rabbitmq.password=bitnami #### Using Kafka -- spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=PLAINTEXT://kafka-broker:9092 -- spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.streams.binder.brokers=PLAINTEXT://kafka-broker:9092 -- spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=zookeeper:2181 -- spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.streams.binder.zkNodes=zookeeper:2181 +* spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=PLAINTEXT://kafka-broker:9092 +* spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.streams.binder.brokers=PLAINTEXT://kafka-broker:9092 +* spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=zookeeper:2181 +* spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.streams.binder.zkNodes=zookeeper:2181 Consult the [spring-cloud-dataflow Reference Documentation](https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#configuration-local) to find the completed list of documentation. @@ -124,7 +122,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/spring-cloud-skipper-shell/README.md b/bitnami/spring-cloud-skipper-shell/README.md index 7dc26c33ab12..b4cd50c8fe9d 100644 --- a/bitnami/spring-cloud-skipper-shell/README.md +++ b/bitnami/spring-cloud-skipper-shell/README.md @@ -6,12 +6,10 @@ [Overview of Spring Cloud Skipper Shell](https://github.com/spring-cloud/spring-cloud-skipper) - - ## TL;DR ```console -$ docker run --name spring-cloud-skipper-shell bitnami/spring-cloud-skipper-shell:latest +docker run --name spring-cloud-skipper-shell bitnami/spring-cloud-skipper-shell:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami spring-cloud-skipper-shell Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/spring-cloud-skipper-shell). ```console -$ docker pull bitnami/spring-cloud-skipper-shell:latest +docker pull bitnami/spring-cloud-skipper-shell:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/spring-cloud-skipper-shell/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/spring-cloud-skipper-shell:[TAG] +docker pull bitnami/spring-cloud-skipper-shell:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +58,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `spring-cloud-skipper-shell --help` you can follow the example below: ```console -$ docker run --rm --name spring-cloud-skipper-shell bitnami/spring-cloud-skipper-shell:latest --help +docker run --rm --name spring-cloud-skipper-shell bitnami/spring-cloud-skipper-shell:latest --help ``` Consult the [spring-cloud-skipper-shell Reference Documentation](https://docs.spring.io/spring-cloud-skipper/docs/current/reference/htmlsingle/#using-shell) to find the completed list of commands available. @@ -89,7 +87,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/spring-cloud-skipper/README.md b/bitnami/spring-cloud-skipper/README.md index d893004e8bc7..9ab41bdd99b1 100644 --- a/bitnami/spring-cloud-skipper/README.md +++ b/bitnami/spring-cloud-skipper/README.md @@ -6,15 +6,13 @@ [Overview of Spring Cloud Skipper](https://github.com/spring-cloud/spring-cloud-skipper) - - ## TL;DR ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/spring-cloud-skipper/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/spring-cloud-skipper/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -47,21 +45,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami spring-cloud-skipper Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/spring-cloud-skipper). ```console -$ docker pull bitnami/spring-cloud-skipper:latest +docker pull bitnami/spring-cloud-skipper:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/spring-cloud-skipper/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/spring-cloud-skipper:[TAG] +docker pull bitnami/spring-cloud-skipper:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -72,10 +70,10 @@ You can use some environment variable in order to configure the deployment of sp A relational database is used to store stream and task definitions as well as the state of executed tasks. Spring Cloud Skipper provides schemas for H2, MySQL, Oracle, PostgreSQL, Db2, and SQL Server. Use the following environment to configure the connection. -- SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb-skipper:3306/skipper?useMysqlMetadata=true -- SPRING_DATASOURCE_USERNAME=bn_skipper -- SPRING_DATASOURCE_PASSWORD=bn_skipper -- SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver +* SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb-skipper:3306/skipper?useMysqlMetadata=true +* SPRING_DATASOURCE_USERNAME=bn_skipper +* SPRING_DATASOURCE_PASSWORD=bn_skipper +* SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver Consult the [spring-cloud-skipper Reference Documentation](https://docs.spring.io/spring-cloud-skipper/docs/current/reference/htmlsingle/#_local_platform_configuration) to find the completed list of documentation. @@ -97,7 +95,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/suitecrm/README.md b/bitnami/suitecrm/README.md index 5418134af4fe..6886442b98fb 100644 --- a/bitnami/suitecrm/README.md +++ b/bitnami/suitecrm/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -45,21 +45,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami SuiteCRM Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/suitecrm). ```console -$ docker pull bitnami/suitecrm:latest +docker pull bitnami/suitecrm:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/suitecrm/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/suitecrm:[TAG] +docker pull bitnami/suitecrm:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -71,8 +71,8 @@ SuiteCRM requires access to a MySQL or MariaDB database to store information. We The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/suitecrm/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -82,14 +82,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create suitecrm-network +docker network create suitecrm-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_suitecrm \ --env MARIADB_PASSWORD=bitnami \ @@ -102,8 +102,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for SuiteCRM persistence and launch the container ```console -$ docker volume create --name suitecrm_data -$ docker run -d --name suitecrm \ +docker volume create --name suitecrm_data +docker run -d --name suitecrm \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env SUITECRM_DATABASE_USER=bn_suitecrm \ @@ -160,13 +160,13 @@ SuiteCRM does not offer any out-of-the-box tool to upgrade the database schema a #### Step 1: Create a network (if it does not exist) ```console -$ docker network create suitecrm-network +docker network create suitecrm-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_suitecrm \ --env MARIADB_PASSWORD=bitnami \ @@ -179,7 +179,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the SuiteCRM container with host volumes ```console -$ docker run -d --name suitecrm \ +docker run -d --name suitecrm \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env SUITECRM_DATABASE_USER=bn_suitecrm \ @@ -196,7 +196,7 @@ $ docker run -d --name suitecrm \ When you start the SuiteCRM 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/suitecrm/docker-compose.yml) file present in this repository: +* 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/suitecrm/docker-compose.yml) file present in this repository: ```yaml suitecrm: @@ -206,10 +206,10 @@ suitecrm: ... ``` - * For manual execution add a `--env` option with each variable and value: +* For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name suitecrm -p 80:8080 -p 443:8443 \ + docker run -d --name suitecrm -p 80:8080 -p 443:8443 \ --env SUITECRM_PASSWORD=my_password \ --network suitecrm-tier \ --volume /path/to/suitecrm-persistence:/bitnami \ @@ -218,76 +218,76 @@ suitecrm: Available environment variables: -##### User and Site configuration +### User and Site configuration -- `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** -- `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** -- `SUITECRM_USERNAME`: SuiteCRM application username. Default: **user** -- `SUITECRM_PASSWORD`: SuiteCRM application password. Default: **bitnami** -- `SUITECRM_EMAIL`: SuiteCRM application email. Default: **user@example.com** -- `SUITECRM_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** -- `SUITECRM_HOST`: Host where SuiteCRM will be running. Default:**localhost**. -- `SUITECRM_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no**. -- `SUITECRM_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by SuiteCRM to generate URLs and links when accessing using HTTP. Default **80**. -- `SUITECRM_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by SuiteCRM to generate URLs and links when accessing using HTTPS. Default **443**. +* `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** +* `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** +* `SUITECRM_USERNAME`: SuiteCRM application username. Default: **user** +* `SUITECRM_PASSWORD`: SuiteCRM application password. Default: **bitnami** +* `SUITECRM_EMAIL`: SuiteCRM application email. Default: **user@example.com** +* `SUITECRM_SKIP_BOOTSTRAP`: Whether to skip performing the initial bootstrapping for the application. Default: **no** +* `SUITECRM_HOST`: Host where SuiteCRM will be running. Default:**localhost**. +* `SUITECRM_ENABLE_HTTPS`: Whether to use HTTPS by default. Default: **no**. +* `SUITECRM_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by SuiteCRM to generate URLs and links when accessing using HTTP. Default **80**. +* `SUITECRM_EXTERNAL_HTTPS_PORT_NUMBER`: Port to used by SuiteCRM to generate URLs and links when accessing using HTTPS. Default **443**. -##### Use an existing database +### Use an existing database -- `SUITECRM_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `SUITECRM_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `SUITECRM_DATABASE_NAME`: Database name that SuiteCRM will use to connect with the database. Default: **bitnami_suitecrm** -- `SUITECRM_DATABASE_USER`: Database user that SuiteCRM will use to connect with the database. Default: **bn_suitecrm** -- `SUITECRM_DATABASE_PASSWORD`: Database password that SuiteCRM will use to connect with the database. No defaults. -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `SUITECRM_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `SUITECRM_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `SUITECRM_DATABASE_NAME`: Database name that SuiteCRM will use to connect with the database. Default: **bitnami_suitecrm** +* `SUITECRM_DATABASE_USER`: Database user that SuiteCRM will use to connect with the database. Default: **bn_suitecrm** +* `SUITECRM_DATABASE_PASSWORD`: Database password that SuiteCRM will use to connect with the database. No defaults. +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### Create a database for SuiteCRM using mysql-client +### Create a database for SuiteCRM using mysql-client -- `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. -- `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. -- `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** -- `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults -- `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults -- `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** +* `MYSQL_CLIENT_FLAVOR`: SQL database flavor. Valid values: `mariadb` or `mysql`. Default: **mariadb**. +* `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** +* `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +* `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +* `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. +* `MYSQL_CLIENT_CREATE_DATABASE_PRIVILEGES`: Database privileges to grant for the user specified in `MYSQL_CLIENT_CREATE_DATABASE_USER` to the database specified in `MYSQL_CLIENT_CREATE_DATABASE_NAME`. No defaults. +* `MYSQL_CLIENT_ENABLE_SSL_WRAPPER`: Whether to force SSL connections to the database via the `mysql` CLI tool. Useful for applications that rely on the CLI instead of APIs. Default: **no** +* `MYSQL_CLIENT_ENABLE_SSL`: Whether to force SSL connections for the database. Default: **no** +* `MYSQL_CLIENT_SSL_CA_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_CERT_FILE`: Path to the SSL CA file for the new database. No defaults +* `MYSQL_CLIENT_SSL_KEY_FILE`: Path to the SSL CA file for the new database. No defaults +* `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** -##### SMTP Configuration +### SMTP Configuration To configure SuiteCRM to send email using SMTP you can set the following environment variables: -- `SUITECRM_SMTP_HOST`: SMTP host. -- `SUITECRM_SMTP_PORT`: SMTP port. -- `SUITECRM_SMTP_USER`: SMTP account user. -- `SUITECRM_SMTP_PASSWORD`: SMTP account password. -- `SUITECRM_SMTP_PROTOCOL`: SMTP protocol to use. -- `SUITECRM_SMTP_NOTIFY_NAME`: Name to use in the SMTP notifications -- `SUITECRM_SMTP_NOTIFY_ADDRESS`: Notify address for SMTP notifications +* `SUITECRM_SMTP_HOST`: SMTP host. +* `SUITECRM_SMTP_PORT`: SMTP port. +* `SUITECRM_SMTP_USER`: SMTP account user. +* `SUITECRM_SMTP_PASSWORD`: SMTP account password. +* `SUITECRM_SMTP_PROTOCOL`: SMTP protocol to use. +* `SUITECRM_SMTP_NOTIFY_NAME`: Name to use in the SMTP notifications +* `SUITECRM_SMTP_NOTIFY_ADDRESS`: Notify address for SMTP notifications -##### PHP configuration +### PHP configuration -- `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. -- `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. -- `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. -- `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. -- `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** -- `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. **60M**. -- `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. **60M**. +* `PHP_ENABLE_OPCACHE`: Enable OPcache for PHP scripts. No default. +* `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. +* `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. +* `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. +* `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. +* `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** +* `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. **60M**. +* `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. **60M**. -##### Example +#### 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/suitecrm/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/suitecrm/docker-compose.yml) file present in this repository: ```yaml suitecrm: @@ -303,10 +303,11 @@ This would be an example of SMTP configuration using a Gmail account: - SUITECRM_SMTP_PASSWORD=your_password ... ``` - * For manual execution: + +* For manual execution: ```console - $ docker run -d --name suitecrm -p 80:8080 -p 443:8443 \ + docker run -d --name suitecrm -p 80:8080 -p 443:8443 \ --env SUITECRM_DATABASE_USER=bn_suitecrm \ --env SUITECRM_DATABASE_NAME=bitnami_suitecrm \ --env SUITECRM_SMTP_HOST=smtp.gmail.com \ @@ -324,13 +325,13 @@ This would be an example of SMTP configuration using a Gmail account: The Bitnami SuiteCRM Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs suitecrm +docker logs suitecrm ``` Or using Docker Compose: ```console -$ docker-compose logs suitecrm +docker-compose logs suitecrm ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -344,13 +345,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop suitecrm +docker stop suitecrm ``` Or using Docker Compose: ```console -$ docker-compose stop suitecrm +docker-compose stop suitecrm ``` #### Step 2: Run the backup command @@ -358,7 +359,7 @@ $ docker-compose stop suitecrm We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/suitecrm-backups:/backups --volumes-from suitecrm busybox \ +docker run --rm -v /path/to/suitecrm-backups:/backups --volumes-from suitecrm busybox \ cp -a /bitnami/suitecrm /backups/latest ``` @@ -369,7 +370,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -379,7 +380,7 @@ For the MariaDB database container: For the SuiteCRM container: ```diff - $ docker run -d --name suitecrm \ + docker run -d --name suitecrm \ ... - --volume /path/to/suitecrm-persistence:/bitnami/suitecrm \ + --volume /path/to/suitecrm-backups/latest:/bitnami/suitecrm \ @@ -388,12 +389,12 @@ For the SuiteCRM container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and SuiteCRM, 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 SuiteCRM container. For the MariaDB upgrade see: https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and SuiteCRM, 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 SuiteCRM container. For the MariaDB upgrade see: #### Step 1: Get the updated image ```console -$ docker pull bitnami/suitecrm:latest +docker pull bitnami/suitecrm:latest ``` #### Step 2: Stop the running container @@ -401,7 +402,7 @@ $ docker pull bitnami/suitecrm:latest Stop the currently running container using the command ```console -$ docker-compose stop suitecrm +docker-compose stop suitecrm ``` #### Step 3: Take a snapshot of the application state @@ -421,7 +422,7 @@ docker-compose rm -v suitecrm Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -432,10 +433,10 @@ The Bitnami SuiteCRM Docker image is designed to be extended so it can be used a Before extending this image, please note there are certain configuration settings you can modify using the original image: -- Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. -- [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). -- [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). -- [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). +* Settings that can be adapted using environment variables. For instance, you can change the ports used by Apache for HTTP and HTTPS, by setting the environment variables `APACHE_HTTP_PORT_NUMBER` and `APACHE_HTTPS_PORT_NUMBER` respectively. +* [Adding custom virtual hosts](https://github.com/bitnami/containers/blob/main/bitnami/apache#adding-custom-virtual-hosts). +* [Replacing the 'httpd.conf' file](https://github.com/bitnami/containers/blob/main/bitnami/apache#full-configuration). +* [Using custom SSL certificates](https://github.com/bitnami/containers/blob/main/bitnami/apache#using-custom-ssl-certificates). If your desired customizations cannot be covered using the methods mentioned above, extend the image. To do so, create your own image using a Dockerfile with the format below: @@ -449,9 +450,9 @@ FROM bitnami/suitecrm 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 +* Install the `vim` editor +* Modify the Apache configuration file +* Modify the ports used by Apache ```Dockerfile FROM bitnami/suitecrm @@ -500,12 +501,12 @@ RUN openssl genrsa -out /opt/bitnami/suitecrm/Api/V8/OAuth2/private.key 2048 && ### 7.11.18-debian-10-r13 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- `SUITECRM_HTTP_TIMEOUT` environment variable has been removed. -- The SuiteCRM container now supports the "non-root" user approach, but it still runs as the root user by default. When running as a non-root user, all services will be run under the same user and Cron jobs will be disabled as crond requires to be run as a superuser. To run as a non-root user, change USER root to USER 1001 in the Dockerfile, or use user: 1001 in docker-compose.yml. Related changes: -- The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. -- Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the SuiteCRM site by exporting its content, and importing it on a new SuiteCRM container. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* `SUITECRM_HTTP_TIMEOUT` environment variable has been removed. +* The SuiteCRM container now supports the "non-root" user approach, but it still runs as the root user by default. When running as a non-root user, all services will be run under the same user and Cron jobs will be disabled as crond requires to be run as a superuser. To run as a non-root user, change USER root to USER 1001 in the Dockerfile, or use user: 1001 in docker-compose.yml. Related changes: +* The HTTP/HTTPS ports exposed by the container are now `8080/8443` instead of `80/443`. +* Backwards compatibility is not guaranteed when data is persisted using docker or docker-compose. We highly recommend migrating the SuiteCRM site by exporting its content, and importing it on a new SuiteCRM container. To upgrade a deployment with the previous Bitnami SuiteCRM container image, which did not support non-root, the easiest way is to start the new image as a *root* user and updating the port numbers. Modify your `docker-compose.yml` file as follows: @@ -522,14 +523,14 @@ To upgrade a deployment with the previous Bitnami SuiteCRM container image, whic ### 7.11.4-debian-9-r21 and 7.11.4-ol-7-r32 -- This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. -- The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. -- The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. -- Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. +* This image has been adapted so it's easier to customize. See the [Customize this image](#customize-this-image) section for more information. +* The Apache configuration volume (`/bitnami/apache`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the Apache configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom Apache configuration files are advised to mount a volume for the configuration at `/opt/bitnami/apache/conf`, or mount specific configuration files individually. +* The PHP configuration volume (`/bitnami/php`) has been deprecated, and support for this feature will be dropped in the near future. Until then, the container will enable the PHP configuration from that volume if it exists. By default, and if the configuration volume does not exist, the configuration files will be regenerated each time the container is created. Users wanting to apply custom PHP configuration files are advised to mount a volume for the configuration at `/opt/bitnami/php/conf`, or mount specific configuration files individually. +* Enabling custom Apache certificates by placing them at `/opt/bitnami/apache/certs` has been deprecated, and support for this functionality will be dropped in the near future. Users wanting to enable custom certificates are advised to mount their certificate files on top of the preconfigured ones at `/certs`. ### 7.10.10-debian-9-r18 and 7.10.10-ol-7-r24 -- Due to several broken SuiteCRM features and plugins, the entire `htdocs` directory is now being persisted (instead of a select number of files and directories). Because of this, upgrades will not work and a full migration needs to be performed. Upgrade instructions have been updated to reflect these changes. +* Due to several broken SuiteCRM features and plugins, the entire `htdocs` directory is now being persisted (instead of a select number of files and directories). Because of this, upgrades will not work and a full migration needs to be performed. Upgrade instructions have been updated to reflect these changes. ## Contributing @@ -555,7 +556,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/supabase-postgres-meta/README.md b/bitnami/supabase-postgres-meta/README.md index ae68cd660836..f284340eb739 100644 --- a/bitnami/supabase-postgres-meta/README.md +++ b/bitnami/supabase-postgres-meta/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name supabase-postgres-meta bitnami/supabase-postgres-meta +docker run -it --name supabase-postgres-meta bitnami/supabase-postgres-meta ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-postgres-meta/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-postgres-meta/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Supabase postgres-meta Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/supabase-postgres-meta). ```console -$ docker pull bitnami/supabase-postgres-meta:latest +docker pull bitnami/supabase-postgres-meta:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/supabase-postgres-meta/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/supabase-postgres-meta:[TAG] +docker pull bitnami/supabase-postgres-meta:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Supabase postgres-meta, including securi #### Step 1: Get the updated image ```console -$ docker pull bitnami/supabase-postgres-meta:latest +docker pull bitnami/supabase-postgres-meta:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/supabase-postgres-meta:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v supabase-postgres-meta +docker rm -v supabase-postgres-meta ``` or using Docker Compose: ```console -$ docker-compose rm -v supabase-postgres-meta +docker-compose rm -v supabase-postgres-meta ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v supabase-postgres-meta Re-create your container from the new image. ```console -$ docker run --name supabase-postgres-meta bitnami/supabase-postgres-meta:latest +docker run --name supabase-postgres-meta bitnami/supabase-postgres-meta:latest ``` or using Docker Compose: ```console -$ docker-compose up supabase-postgres-meta +docker-compose up supabase-postgres-meta ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up supabase-postgres-meta To run commands inside this container you can use `docker run`, for example to execute `npm --help` you can follow the example below: ```console -$ docker run --rm --name supabase-postgres-meta bitnami/supabase-postgres-meta:latest --help +docker run --rm --name supabase-postgres-meta bitnami/supabase-postgres-meta:latest --help ``` Check the [official Supabase postgres-meta documentation](https://github.com/supabase/postgres-meta) for more information about how to use Supabase postgres-meta. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/supabase-postgres/README.md b/bitnami/supabase-postgres/README.md index faa543fe7919..ee15c0b2d5e3 100644 --- a/bitnami/supabase-postgres/README.md +++ b/bitnami/supabase-postgres/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name supabase-postgres bitnami/supabase-postgres +docker run -it --name supabase-postgres bitnami/supabase-postgres ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-postgres/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-postgres/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Supabase Postgres Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/supabase-postgres). ```console -$ docker pull bitnami/supabase-postgres:latest +docker pull bitnami/supabase-postgres:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/supabase-postgres/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/supabase-postgres:[TAG] +docker pull bitnami/supabase-postgres:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Supabase Postgres, including security pa #### Step 1: Get the updated image ```console -$ docker pull bitnami/supabase-postgres:latest +docker pull bitnami/supabase-postgres:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/supabase-postgres:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v supabase-postgres +docker rm -v supabase-postgres ``` or using Docker Compose: ```console -$ docker-compose rm -v supabase-postgres +docker-compose rm -v supabase-postgres ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v supabase-postgres Re-create your container from the new image. ```console -$ docker run --name supabase-postgres bitnami/supabase-postgres:latest +docker run --name supabase-postgres bitnami/supabase-postgres:latest ``` or using Docker Compose: ```console -$ docker-compose up supabase-postgres +docker-compose up supabase-postgres ``` ## Configuration @@ -120,7 +120,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/supabase-realtime/README.md b/bitnami/supabase-realtime/README.md index 2117afaec8f0..ba022eea89c7 100644 --- a/bitnami/supabase-realtime/README.md +++ b/bitnami/supabase-realtime/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name supabase-realtime bitnami/supabase-realtime +docker run -it --name supabase-realtime bitnami/supabase-realtime ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-realtime/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-realtime/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Supabase Realtime Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/supabase-realtime). ```console -$ docker pull bitnami/supabase-realtime:latest +docker pull bitnami/supabase-realtime:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/supabase-realtime/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/supabase-realtime:[TAG] +docker pull bitnami/supabase-realtime:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Supabase Realtime, including security pa #### Step 1: Get the updated image ```console -$ docker pull bitnami/supabase-realtime:latest +docker pull bitnami/supabase-realtime:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/supabase-realtime:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v supabase-realtime +docker rm -v supabase-realtime ``` or using Docker Compose: ```console -$ docker-compose rm -v supabase-realtime +docker-compose rm -v supabase-realtime ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v supabase-realtime Re-create your container from the new image. ```console -$ docker run --name supabase-realtime bitnami/supabase-realtime:latest +docker run --name supabase-realtime bitnami/supabase-realtime:latest ``` or using Docker Compose: ```console -$ docker-compose up supabase-realtime +docker-compose up supabase-realtime ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up supabase-realtime To run commands inside this container you can use `docker run`, for example to execute `supabase-realtime --help` you can follow the example below: ```console -$ docker run --rm --name supabase-realtime bitnami/supabase-realtime:latest --help +docker run --rm --name supabase-realtime bitnami/supabase-realtime:latest --help ``` Check the [official Supabase Realtime documentation](https://github.com/supabase/realtime) for more information about how to use Supabase Realtime. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/supabase-storage/README.md b/bitnami/supabase-storage/README.md index 65e510aba514..dde6b6e2a9d4 100644 --- a/bitnami/supabase-storage/README.md +++ b/bitnami/supabase-storage/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name supabase-storage bitnami/supabase-storage +docker run -it --name supabase-storage bitnami/supabase-storage ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-storage/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-storage/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Supabase Storage Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/supabase-storage). ```console -$ docker pull bitnami/supabase-storage:latest +docker pull bitnami/supabase-storage:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/supabase-storage/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/supabase-storage:[TAG] +docker pull bitnami/supabase-storage:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Supabase Storage, including security pat #### Step 1: Get the updated image ```console -$ docker pull bitnami/supabase-storage:latest +docker pull bitnami/supabase-storage:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/supabase-storage:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v supabase-storage +docker rm -v supabase-storage ``` or using Docker Compose: ```console -$ docker-compose rm -v supabase-storage +docker-compose rm -v supabase-storage ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v supabase-storage Re-create your container from the new image. ```console -$ docker run --name supabase-storage bitnami/supabase-storage:latest +docker run --name supabase-storage bitnami/supabase-storage:latest ``` or using Docker Compose: ```console -$ docker-compose up supabase-storage +docker-compose up supabase-storage ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up supabase-storage To run commands inside this container you can use `docker run`, for example to execute `supabase-storage --help` you can follow the example below: ```console -$ docker run --rm --name supabase-storage bitnami/supabase-storage:latest --help +docker run --rm --name supabase-storage bitnami/supabase-storage:latest --help ``` Check the [official Supabase Storage documentation](https://github.com/supabase/storage-api) for more information about how to use Supabase Storage. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/supabase-studio/README.md b/bitnami/supabase-studio/README.md index c8166b3b5b88..555fcebdcc89 100644 --- a/bitnami/supabase-studio/README.md +++ b/bitnami/supabase-studio/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run -it --name supabase-studio bitnami/supabase-studio +docker run -it --name supabase-studio bitnami/supabase-studio ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-studio/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/supabase-studio/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -43,21 +43,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Supabase Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/supabase-studio). ```console -$ docker pull bitnami/supabase-studio:latest +docker pull bitnami/supabase-studio:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/supabase-studio/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/supabase-studio:[TAG] +docker pull bitnami/supabase-studio:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Maintenance @@ -69,7 +69,7 @@ Bitnami provides up-to-date versions of Supabase, including security patches, so #### Step 1: Get the updated image ```console -$ docker pull bitnami/supabase-studio:latest +docker pull bitnami/supabase-studio:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/supabase-studio:latest`. @@ -77,13 +77,13 @@ or if you're using Docker Compose, update the value of the image property to `bi #### Step 2: Remove the currently running container ```console -$ docker rm -v supabase-studio +docker rm -v supabase-studio ``` or using Docker Compose: ```console -$ docker-compose rm -v supabase-studio +docker-compose rm -v supabase-studio ``` #### Step 3: Run the new image @@ -91,13 +91,13 @@ $ docker-compose rm -v supabase-studio Re-create your container from the new image. ```console -$ docker run --name supabase-studio bitnami/supabase-studio:latest +docker run --name supabase-studio bitnami/supabase-studio:latest ``` or using Docker Compose: ```console -$ docker-compose up supabase-studio +docker-compose up supabase-studio ``` ## Configuration @@ -107,7 +107,7 @@ $ docker-compose up supabase-studio To run commands inside this container you can use `docker run`, for example to execute `supabase-studio --help` you can follow the example below: ```console -$ docker run --rm --name supabase-studio bitnami/supabase-studio:latest --help +docker run --rm --name supabase-studio bitnami/supabase-studio:latest --help ``` Check the [official Supabase documentation](https://supabase.com/) for more information about how to use Supabase. @@ -128,7 +128,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/symfony/README.md b/bitnami/symfony/README.md index 280b95f0f2ce..edcaf7d4a379 100644 --- a/bitnami/symfony/README.md +++ b/bitnami/symfony/README.md @@ -13,9 +13,9 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ### Local workspace ```console -$ mkdir ~/myapp && cd ~/myapp -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/symfony/docker-compose.yml -$ docker-compose up +mkdir ~/myapp && cd ~/myapp +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/symfony/docker-compose.yml +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options for the [MariaDB container](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#readme) for a more secure deployment. @@ -52,14 +52,14 @@ The quickest way to get started with the Bitnami Symfony Development Container i Begin by creating a directory for your Symfony application: ```console -$ mkdir ~/myapp -$ cd ~/myapp +mkdir ~/myapp +cd ~/myapp ``` Download the [docker-compose.yml](https://raw.githubusercontent.com/bitnami/containers/main/bitnami/symfony/docker-compose.yml) file in the application directory: ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/symfony/docker-compose.yml +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/symfony/docker-compose.yml ``` Set a few environment variables in the `docker-compose.yml`: @@ -95,7 +95,7 @@ services: Finally launch the Symfony application development environment using: ```console -$ docker-compose up +docker-compose up ``` The above command creates a container service for Symfony development and bootstraps a new Symfony application, named `myapp` in working directory. You can use your favorite IDE for developing the application. @@ -113,22 +113,23 @@ Commands can be launched inside the `myapp` Symfony Development Container with ` The general structure of the `exec` command is: ```console -$ docker-compose exec +docker-compose exec ``` + where `` is the name of the container service as described in the `docker-compose.yml` file and `` is the command you want to launch inside the service. Following are a few examples: -- Create a new project named `foo`: +* Create a new project named `foo`: ```console - $ docker-compose run myapp nami execute symfony createProject foo + docker-compose run myapp nami execute symfony createProject foo ``` -- Create a new project named `bar` which uses Symfony version `2.5.0` +* Create a new project named `bar` which uses Symfony version `2.5.0` ```console - $ docker-compose run myapp nami execute symfony createProject "bar 2.5.0" + docker-compose run myapp nami execute symfony createProject "bar 2.5.0" ``` Note: In the above two examples the `docker-compose.yml` file should be updated so that the `SYMFONY_PROJECT_NAME` specifies the project name that should be served my the PHP application server. @@ -137,11 +138,11 @@ Following are a few examples: If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/blob/main/bitnami/symfony/issues/new). Be sure to include the following information in your issue: -- Host OS and version -- Docker version (`docker version`) -- Output of `docker info` -- Version of this container -- The command you used to run the container, and any relevant output you saw (masking any sensitive information) +* Host OS and version +* Docker version (`docker version`) +* Output of `docker info` +* Version of this container +* The command you used to run the container, and any relevant output you saw (masking any sensitive information) ### Community supported solution diff --git a/bitnami/telegraf/README.md b/bitnami/telegraf/README.md index ced8c468ab3b..c626b7edf5e0 100644 --- a/bitnami/telegraf/README.md +++ b/bitnami/telegraf/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name telegraf bitnami/telegraf:latest +docker run --name telegraf bitnami/telegraf:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami telegraf Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/telegraf). ```console -$ docker pull bitnami/telegraf:latest +docker pull bitnami/telegraf:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/telegraf/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/telegraf:[TAG] +docker pull bitnami/telegraf:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +60,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `telegraf --version` you can follow the example below: ```console -$ docker run --rm --name telegraf bitnami/telegraf:latest -- telegraf --version +docker run --rm --name telegraf bitnami/telegraf:latest -- telegraf --version ``` Check the [official Telegraf documentation](https://docs.influxdata.com/telegraf) for a list of the available parameters. @@ -81,7 +81,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/tensorflow-resnet/README.md b/bitnami/tensorflow-resnet/README.md index b830e1441bed..d9c4d9e8af61 100644 --- a/bitnami/tensorflow-resnet/README.md +++ b/bitnami/tensorflow-resnet/README.md @@ -13,17 +13,17 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema Before running the docker image you first need to download the ResNet model training checkpoint so it will be available for the TensorFlow Serving server. ```console -$ mkdir -p /tmp/model-data/1 -$ cd /tmp/model-data -$ curl -o resnet_50_classification_1.tar.gz https://storage.googleapis.com/tfhub-modules/tensorflow/resnet_50/classification/1.tar.gz -$ tar xzf resnet_50_classification_1.tar.gz -C 1 +mkdir -p /tmp/model-data/1 +cd /tmp/model-data +curl -o resnet_50_classification_1.tar.gz https://storage.googleapis.com/tfhub-modules/tensorflow/resnet_50/classification/1.tar.gz +tar xzf resnet_50_classification_1.tar.gz -C 1 ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/tensorflow-resnet/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/tensorflow-resnet/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -62,8 +62,8 @@ Running TensorFlow ResNet client with the TensorFlow Serving server is the recom The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/tensorflow-resnet/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/tensorflow-resnet/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/tensorflow-resnet/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` #### Run the application manually @@ -72,58 +72,58 @@ If you want to run the application manually instead of using docker-compose, the 1. Create a new network for the application and the database: - ```console - $ docker network create tensorflow-tier - ``` + ```console + docker network create tensorflow-tier + ``` 2. Start a Tensorflow Serving server in the network generated: - ```console - $ docker run -d -v /tmp/model-data:/bitnami/model-data -e TENSORFLOW_SERVING_MODEL_NAME=resnet -p 8500:8500 -p 8501:8501 --name tensorflow-serving --net tensorflow-tier bitnami/tensorflow-serving:latest - ``` + ```console + docker run -d -v /tmp/model-data:/bitnami/model-data -e TENSORFLOW_SERVING_MODEL_NAME=resnet -p 8500:8500 -p 8501:8501 --name tensorflow-serving --net tensorflow-tier bitnami/tensorflow-serving:latest + ``` - *Note:* You need to give the container a name in order to TensorFlow ResNet client to resolve the host + *Note:* You need to give the container a name in order to TensorFlow ResNet client to resolve the host 3. Run the TensorFlow ResNet client container: - ```console - $ docker run -d -v /tmp/model-data:/bitnami/model-data --name tensorflow-resnet --net tensorflow-tier bitnami/tensorflow-resnet:latest - ``` + ```console + docker run -d -v /tmp/model-data:/bitnami/model-data --name tensorflow-resnet --net tensorflow-tier bitnami/tensorflow-resnet:latest + ``` ## Upgrade this application -Bitnami provides up-to-date versions of Tensorflow-Serving and TensorFlow ResNet client, 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 TensorFlow ResNet client container. For the Tensorflow-Serving upgrade see https://github.com/bitnami/containers/blob/main/bitnami/tensorflow-serving/blob/master/README.md#upgrade-this-image +Bitnami provides up-to-date versions of Tensorflow-Serving and TensorFlow ResNet client, 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 TensorFlow ResNet client container. For the Tensorflow-Serving upgrade see 1. Get the updated images: - ```console - $ docker pull bitnami/tensorflow-resnet:latest - ``` + ```console + docker pull bitnami/tensorflow-resnet:latest + ``` 2. Stop your container - * For docker-compose: `$ docker-compose stop tensorflow-resnet` - * For manual execution: `$ docker stop tensorflow-resnet` + * For docker-compose: `docker-compose stop tensorflow-resnet` + * For manual execution: `docker stop tensorflow-resnet` 3. Take a snapshot of the application state -```console -$ rsync -a tensorflow-resnet-persistence tensorflow-resnet-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) -``` + ```console + rsync -a tensorflow-resnet-persistence tensorflow-resnet-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) + ``` -Additionally, [snapshot the TensorFlow Serving data](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#step-2-stop-and-backup-the-currently-running-container) + Additionally, [snapshot the TensorFlow Serving data](https://github.com/bitnami/containers/blob/main/bitnami/mariadb#step-2-stop-and-backup-the-currently-running-container) -You can use these snapshots to restore the application state should the upgrade fail. + You can use these snapshots to restore the application state should the upgrade fail. 4. Remove the currently running container - * For docker-compose: `$ docker-compose rm tensorflow-resnet` - * For manual execution: `$ docker rm tensorflow-resnet` + * For docker-compose: `docker-compose rm tensorflow-resnet` + * For manual execution: `docker rm tensorflow-resnet` 5. Run the new image - * For docker-compose: `$ docker-compose up tensorflow-resnet` - * For manual execution ([mount](#mount-persistent-folders-manually) the directories if needed): `docker run --name tensorflow-resnet bitnami/tensorflow-resnet:latest` + * For docker-compose: `docker-compose up tensorflow-resnet` + * For manual execution (mount the directories if needed): `docker run --name tensorflow-resnet bitnami/tensorflow-resnet:latest` ## Configuration @@ -134,41 +134,41 @@ Once you have deployed both the TensorFlow Serving and TensorFlow ResNet contain 1. Exec into the TensorFlow ResNet container. 2. Download an image: -```console -curl -L --output cat.jpeg https://tensorflow.org/images/blogs/serving/cat.jpg -``` + ```console + curl -L --output cat.jpeg https://tensorflow.org/images/blogs/serving/cat.jpg + ``` 3. Send the image to the TensorFlow Serving server. -```console -resnet_client_cc --server_port=tensorflow-serving:8500 --image_file=./cat.jpg -``` + ```console + resnet_client_cc --server_port=tensorflow-serving:8500 --image_file=./cat.jpg + ``` 4. The model says the image belongs to the category 286. You can check the [imagenet classes index](https://s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json) to see how the category 286 correspond to a cougar. -```console -calling predict using file: cat.jpg ... -call predict ok -outputs size is 2 -the result tensor[0] is: -[2.41628254e-06 1.90121955e-06 2.72477027e-05 4.4263885e-07 8.98362089e-07 6.84422412e-06 1.66555201e-05 3.4298439e-06 5.25692e-06 2.66782135e-05...]... -the result tensor[1] is: -286 -Done. -``` + ```console + calling predict using file: cat.jpg ... + call predict ok + outputs size is 2 + the result tensor[0] is: + [2.41628254e-06 1.90121955e-06 2.72477027e-05 4.4263885e-07 8.98362089e-07 6.84422412e-06 1.66555201e-05 3.4298439e-06 5.25692e-06 2.66782135e-05...]... + the result tensor[1] is: + 286 + Done. + ``` ### Environment variables Tensorflow Resnet can be customized by specifying environment variables on the first run. The following environment values are provided to custom Tensorflow: -- `TF_RESNET_SERVING_PORT_NUMBER`: TensorFlow Serving Port. Default: **8500** -- `TF_RESNET_SERVING_HOST`: TensorFlow Serving server name. Default: **tensorflow-serving** +* `TF_RESNET_SERVING_PORT_NUMBER`: TensorFlow Serving Port. Default: **8500** +* `TF_RESNET_SERVING_HOST`: TensorFlow Serving server name. Default: **tensorflow-serving** ## Notable Changes ### 2.4.1-debian-10-r87 -- The container initialization logic is now using bash. +* The container initialization logic is now using bash. ## Contributing diff --git a/bitnami/tensorflow-serving/README.md b/bitnami/tensorflow-serving/README.md index 4bca7a5ff2ef..27db7ff72dbe 100644 --- a/bitnami/tensorflow-serving/README.md +++ b/bitnami/tensorflow-serving/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name tensorflow-serving bitnami/tensorflow-serving:latest +docker run --name tensorflow-serving bitnami/tensorflow-serving:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/tensorflow-serving/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/tensorflow-serving/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the available configuration options in the [Environment Variables](#environment-variables) section. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami TensorFlow Serving Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/tensorflow-serving). ```console -$ docker pull bitnami/tensorflow-serving:latest +docker pull bitnami/tensorflow-serving:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/tensorflow-serving/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/tensorflow-serving:[TAG] +docker pull bitnami/tensorflow-serving:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your configuration @@ -73,7 +73,7 @@ If you remove the container all your data and configurations will be lost, and t For persistence you should mount a volume at the `/bitnami` path for the TensorFlow Serving data and configurations. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run -v /path/to/tensorflow-serving-persistence:/bitnami bitnami/tensorflow-serving:latest +docker run -v /path/to/tensorflow-serving-persistence:/bitnami bitnami/tensorflow-serving:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/tensorflow-serving/docker-compose.yml) file present in this repository: @@ -102,16 +102,16 @@ In this example, we will create a TensorFlow ResNet client instance that will co #### Step 1: Download the ResNet trained data ```console -$ mkdir -p /tmp/model-data/1 -$ cd /tmp/model-data -$ curl -o resnet_50_classification_1.tar.gz https://storage.googleapis.com/tfhub-modules/tensorflow/resnet_50/classification/1.tar.gz -$ tar xzf resnet_50_classification_1.tar.gz -C 1 +mkdir -p /tmp/model-data/1 +cd /tmp/model-data +curl -o resnet_50_classification_1.tar.gz https://storage.googleapis.com/tfhub-modules/tensorflow/resnet_50/classification/1.tar.gz +tar xzf resnet_50_classification_1.tar.gz -C 1 ``` #### Step 2: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 3: Launch the TensorFlow Serving server instance @@ -119,7 +119,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the TensorFlow Serving container to the `app-tier` network. ```console -$ docker run -d --name tensorflow-serving \ +docker run -d --name tensorflow-serving \ --volume /tmp/model-data:/bitnami/model-data \ --network app-tier \ bitnami/tensorflow-serving:latest @@ -130,7 +130,7 @@ $ docker run -d --name tensorflow-serving \ Run the `tensorflow-resnet` container in background mode to export the data model that you have already downloaded. ```console -$ docker run -d --name tensorflow-resnet \ +docker run -d --name tensorflow-resnet \ --volume /tmp/model-data:/bitnami/model-data \ --network app-tier \ bitnami/tensorflow-resnet:latest @@ -139,7 +139,7 @@ $ docker run -d --name tensorflow-resnet \ Monitor the logs of tensorflow-serving until it shows the message `Successfully loaded servable version`. That will mean it is serving the model: ```console -$ docker logs tensorflow-serving -f +docker logs tensorflow-serving -f ``` #### Step 5: Launch your TensorFlow ResNet client instance @@ -147,7 +147,7 @@ $ docker logs tensorflow-serving -f Finally we create a new container instance to launch the TensorFlow Serving client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --volume /tmp/model-data:/bitnami/model-data \ --network app-tier \ bitnami/tensorflow-resnet:latest resnet_client_cc --server_port=tensorflow-serving:8500 --image_file=path/to/image.jpg @@ -183,7 +183,7 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration @@ -192,22 +192,22 @@ $ docker-compose up -d Tensorflow Serving can be customized by specifying environment variables on the first run. The following environment values are provided to custom Tensorflow: -- `TENSORFLOW_SERVING_PORT_NUMBER`: TensorFlow Serving Port. Default: **8500** -- `TENSORFLOW_SERVING_REST_API_PORT_NUMBER`: TensorFlow Serving Rest API Port. Default: **8501** -- `TENSORFLOW_SERVING_MODEL_NAME`: TensorFlow Model to serve. Default: **resnet** -- `TENSORFLOW_SERVING_ENABLE_MONITORING`: Expose Prometheus metrics. Default: **no** -- `TENSORFLOW_SERVING_MONITORING_PATH`: The API path where the metrics can be scraped. Default: **/monitoring/prometheus/metrics** +* `TENSORFLOW_SERVING_PORT_NUMBER`: TensorFlow Serving Port. Default: **8500** +* `TENSORFLOW_SERVING_REST_API_PORT_NUMBER`: TensorFlow Serving Rest API Port. Default: **8501** +* `TENSORFLOW_SERVING_MODEL_NAME`: TensorFlow Model to serve. Default: **resnet** +* `TENSORFLOW_SERVING_ENABLE_MONITORING`: Expose Prometheus metrics. Default: **no** +* `TENSORFLOW_SERVING_MONITORING_PATH`: The API path where the metrics can be scraped. Default: **/monitoring/prometheus/metrics** ### Configuration file -The image looks for configurations in `/bitnami/tensorflow-serving/conf/`. As mentioned in [Persisting your configuation](#persisting-your-configuation) you can mount a volume at `/bitnami` and copy/edit the configurations in the `/path/to/tensorflow-serving-persistence/tensorflow-serving/conf/`. The default configurations will be populated to the `conf/` directory if it's empty. +The image looks for configurations in `/bitnami/tensorflow-serving/conf/`. As mentioned in [Persisting your configuation](#persisting-your-configuration) you can mount a volume at `/bitnami` and copy/edit the configurations in the `/path/to/tensorflow-serving-persistence/tensorflow-serving/conf/`. The default configurations will be populated to the `conf/` directory if it's empty. #### Step 1: Run the TensorFlow Serving image Run the TensorFlow Serving image, mounting a directory from your host. ```console -$ docker run --name tensorflow-serving -v /path/to/tensorflow-serving-persistence:/bitnami bitnami/tensorflow-serving:latest +docker run --name tensorflow-serving -v /path/to/tensorflow-serving-persistence:/bitnami bitnami/tensorflow-serving:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/tensorflow-serving/docker-compose.yml) file present in this repository: @@ -226,7 +226,7 @@ services: Edit the configuration on your host using your favorite editor. ```console -$ vi /path/to/tensorflow-serving-persistence/conf/tensorflow-serving.conf +vi /path/to/tensorflow-serving-persistence/conf/tensorflow-serving.conf ``` #### Step 3: Restart TensorFlow Serving @@ -234,13 +234,13 @@ $ vi /path/to/tensorflow-serving-persistence/conf/tensorflow-serving.conf After changing the configuration, restart your TensorFlow Serving container for changes to take effect. ```console -$ docker restart tensorflow-serving +docker restart tensorflow-serving ``` or using Docker Compose: ```console -$ docker-compose restart tensorflow-serving +docker-compose restart tensorflow-serving ``` ## Logging @@ -248,13 +248,13 @@ $ docker-compose restart tensorflow-serving The Bitnami TensorFlow Serving Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs tensorflow-serving +docker logs tensorflow-serving ``` or using Docker Compose: ```console -$ docker-compose logs tensorflow-serving +docker-compose logs tensorflow-serving ``` The logs are also stored inside the container in the /opt/bitnami/tensorflow-serving/logs/tensorflow-serving.log file. @@ -270,7 +270,7 @@ Bitnami provides up-to-date versions of TensorFlow Serving, including security p #### Step 1: Get the updated image ```console -$ docker pull bitnami/tensorflow-serving:latest +docker pull bitnami/tensorflow-serving:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -281,19 +281,19 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop tensorflow-serving +docker stop tensorflow-serving ``` or using Docker Compose: ```console -$ docker-compose stop tensorflow-serving +docker-compose stop tensorflow-serving ``` Next, take a snapshot of the persistent volume `/path/to/tensorflow-serving-persistence` using: ```console -$ rsync -a /path/to/tensorflow-serving-persistence /path/to/tensorflow-serving-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/tensorflow-serving-persistence /path/to/tensorflow-serving-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` You can use this snapshot to restore the database state should the upgrade fail. @@ -301,43 +301,43 @@ You can use this snapshot to restore the database state should the upgrade fail. #### Step 3: Remove the currently running container ```console -$ docker rm -v tensorflow-serving +docker rm -v tensorflow-serving ``` or using Docker Compose: ```console -$ docker-compose rm -v tensorflow-serving +docker-compose rm -v tensorflow-serving ``` #### Step 4: Run the new image -Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. +Re-create your container from the new image, restoring your backup if necessary. ```console -$ docker run --name tensorflow-serving bitnami/tensorflow-serving:latest +docker run --name tensorflow-serving bitnami/tensorflow-serving:latest ``` or using Docker Compose: ```console -$ docker-compose start tensorflow-serving +docker-compose start tensorflow-serving ``` ## Notable Changes ### 2.5.1-debian-10-r12 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the rootfs/ folder. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the rootfs/ folder. ### 1.12.0-r34 -- The TensorFlow Serving container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the TensorFlow Serving daemon was started as the `tensorflow` user. From now on, both the container and the TensorFlow Serving daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The TensorFlow Serving container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the TensorFlow Serving daemon was started as the `tensorflow` user. From now on, both the container and the TensorFlow Serving daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 1.8.0-r12, 1.8.0-debian-9-r1, 1.8.0-ol-7-r11 -- The default serving port has changed from 9000 to 8500. +* The default serving port has changed from 9000 to 8500. ## Contributing @@ -355,7 +355,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/thanos/README.md b/bitnami/thanos/README.md index 7d697e39a933..5cd74769b264 100644 --- a/bitnami/thanos/README.md +++ b/bitnami/thanos/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name thanos bitnami/thanos:latest +docker run --name thanos bitnami/thanos:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/thanos/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/thanos/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -56,13 +56,13 @@ Containers attached to the same network can communicate with each other using th #### Step 1: Create a network ```console -$ docker network create thanos-network --driver bridge +docker network create thanos-network --driver bridge ``` #### Step 2: Create a volume for Prometheus data ```console -$ docker volume create --name prometheus_data +docker volume create --name prometheus_data ``` #### Step 3: Launch a Prometheus container within your network @@ -85,11 +85,11 @@ scrape_configs: Use the `docker run` command to launch the Prometheus containers using the arguments below: -- `--network ` argument to attach the container to the `thanos-network` network. -- `--volume [host-src:]container-dest[:]` argument to mount the configuration file for Prometheus and a data volume to avoid loss of data. As this is a non-root container, the mounted files and directories must have the proper permissions for the UID `1001`. +* `--network ` argument to attach the container to the `thanos-network` network. +* `--volume [host-src:]container-dest[:]` argument to mount the configuration file for Prometheus and a data volume to avoid loss of data. As this is a non-root container, the mounted files and directories must have the proper permissions for the UID `1001`. ```console -$ docker run -d --name "prometheus" \ +docker run -d --name "prometheus" \ --network "thanos-network" \ --volume "$(pwd)/prometheus.yml:/opt/bitnami/prometheus/conf/prometheus.yml:ro" \ --volume "prometheus_data:/opt/bitnami/prometheus/data" \ @@ -100,11 +100,11 @@ $ docker run -d --name "prometheus" \ Use the `docker run` command to launch the Thanos sidecar container using the argument below and overwriting the default command: -- `--network ` argument to attach the container to the `thanos-network` network. -- `--volume [host-src:]container-dest[:]` argument to mount the Prometheus data volume. +* `--network ` argument to attach the container to the `thanos-network` network. +* `--volume [host-src:]container-dest[:]` argument to mount the Prometheus data volume. ```console -$ docker run -d --name "thanos-sidecar" \ +docker run -d --name "thanos-sidecar" \ --network "thanos-network" \ --volume "prometheus_data:/data" \ bitnami/thanos sidecar --tsdb.path=/data --prometheus.url=http://prometheus:9090 --grpc-address=0.0.0.0:10901 @@ -114,11 +114,11 @@ $ docker run -d --name "thanos-sidecar" \ Use the `docker run` command to launch the Thanos Query container using the argument below and overwriting the default command: -- `--network ` argument to attach the container to the `thanos-network` network. -- `--expose [hostPort:containerPort]` argument to expose the port `9090`. +* `--network ` argument to attach the container to the `thanos-network` network. +* `--expose [hostPort:containerPort]` argument to expose the port `9090`. ```console -$ docker run -d --name "thanos-query" \ +docker run -d --name "thanos-query" \ --network "thanos-network" \ --expose "9090:9090" \ bitnami/thanos query --grpc-address=0.0.0.0:10901 --http-address=0.0.0.0:9090 --store=thanos-sidecar:10901 @@ -130,7 +130,7 @@ Then you can access your Thanos Query UI at `http://localhost:9090/` You can use the **docker-compose-cluster.yml** available on this repository to deploy an architecture like the one below: -``` +```text ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Node │ │ Thanos │───────────▶ │ Thanos Store │ │ Thanos │ │ Exporter │ │ Query │──┐ │ Gateway │ │ Compactor │ @@ -153,20 +153,20 @@ The unique "mandatory" components are Prometheus, Thanos Sidecar and Thanos Quer To do so, run the commands below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/minio/master/docker-compose-cluster.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/minio/master/docker-compose-cluster.yml > docker-compose.yml +docker-compose up -d ``` ## Configuration Thanos can be configured via command-line flags and, depending on them, the same container image can be used to create components with differentes roles: -- Sidecar: connects to Prometheus, reads its data for query and/or uploads it to cloud storage. -- Store Gateway: serves metrics inside of a cloud storage bucket. -- Compactor: compacts, downsamples and applies retention on the data stored in cloud storage bucket. -- Receiver: receives data from Prometheus’ remote-write WAL, exposes it and/or upload it to cloud storage. -- Ruler/Rule: evaluates recording and alerting rules against data in Thanos for exposition and/or upload. -- Querier/Query: implements Prometheus' v1 API to aggregate data from the underlying components. +* Sidecar: connects to Prometheus, reads its data for query and/or uploads it to cloud storage. +* Store Gateway: serves metrics inside of a cloud storage bucket. +* Compactor: compacts, downsamples and applies retention on the data stored in cloud storage bucket. +* Receiver: receives data from Prometheus’ remote-write WAL, exposes it and/or upload it to cloud storage. +* Ruler/Rule: evaluates recording and alerting rules against data in Thanos for exposition and/or upload. +* Querier/Query: implements Prometheus' v1 API to aggregate data from the underlying components. For further documentation, please check [Thanos documentation](https://github.com/thanos-io/thanos/tree/master/docs). @@ -175,7 +175,7 @@ For further documentation, please check [Thanos documentation](https://github.co The Bitnami Thanos Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs thanos +docker logs thanos ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -196,7 +196,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/tomcat/README.md b/bitnami/tomcat/README.md index 7ac5e58fe96e..3c5aa5dea539 100644 --- a/bitnami/tomcat/README.md +++ b/bitnami/tomcat/README.md @@ -11,8 +11,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/tomcat/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/tomcat/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` You can find the default credentials and available configuration options in the [Environment Variables](#environment-variables) section. @@ -49,21 +49,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Apache Tomcat Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/tomcat). ```console -$ docker pull bitnami/tomcat:latest +docker pull bitnami/tomcat:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/tomcat/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/tomcat:[TAG] +docker pull bitnami/tomcat:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -73,7 +73,7 @@ If you remove the container all your data and configurations will be lost, and t For persistence you should mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run -v /path/to/tomcat-persistence:/bitnami bitnami/tomcat:latest +docker run -v /path/to/tomcat-persistence:/bitnami bitnami/tomcat:latest ``` Alternatively, modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/tomcat/docker-compose.yml) file present in this repository: @@ -96,7 +96,7 @@ The `/bitnami/tomcat/data` directory is configured as the Apache Tomcat webapps Additionally a helper symlink `/app` is present that points to the webapps deployment directory which enables us to deploy applications on a running Apache Tomcat instance by simply doing: ```console -$ docker cp /path/to/app.war tomcat:/app +docker cp /path/to/app.war tomcat:/app ``` In case you want to create a custom image that already contains your application war file, you need to add it to the `/opt/bitnami/tomcat/webapps` folder. In the example below we create a forked image with an extra `.war` file. @@ -111,27 +111,27 @@ You can also deploy web applications on a running Apache Tomcat instance using t **Further Reading:** - - [Apache Tomcat Web Application Deployment](https://tomcat.apache.org/tomcat-7.0-doc/deployer-howto.html) +* [Apache Tomcat Web Application Deployment](https://tomcat.apache.org/tomcat-7.0-doc/deployer-howto.html) ## Accessing your Apache Tomcat server from the host To access your web server from your host machine you can ask Docker to map a random port on your host to port `8080` exposed in the container. ```console -$ docker run --name tomcat -P bitnami/tomcat:latest +docker run --name tomcat -P bitnami/tomcat:latest ``` Run `docker port` to determine the random ports Docker assigned. ```console -$ docker port tomcat +docker port tomcat 8080/tcp -> 0.0.0.0:32768 ``` You can also manually specify the ports you want forwarded from your host to the container. ```console -$ docker run -p 8080:8080 bitnami/tomcat:latest +docker run -p 8080:8080 bitnami/tomcat:latest ``` Access your web server in the browser by navigating to `http://localhost:8080`. @@ -142,16 +142,16 @@ Access your web server in the browser by navigating to `http://localhost:8080`. The Apache Tomcat instance can be customized by specifying environment variables on the first run. The following environment values are provided to custom Apache Tomcat: -- `TOMCAT_SHUTDOWN_PORT_NUMBER`: Apache Tomcat shutdown port. Default: **8005** -- `TOMCAT_HTTP_PORT_NUMBER`: Apache Tomcat HTTP port. Default: **8080** -- `TOMCAT_AJP_PORT_NUMBER`: Apache Tomcat AJP port. Default: **8009** -- `TOMCAT_USERNAME`: Apache Tomcat user. Default: **manager** -- `TOMCAT_PASSWORD`: Apache Tomcat password. No defaults. -- `TOMCAT_ALLOW_REMOTE_MANAGEMENT`: Whether to allow connections from remote addresses to the Apache Tomcat manager application. Default: **no** -- `TOMCAT_ENABLE_AUTH`: Whether to enable authentication for Apache Tomcat manager application. Default: **yes** -- `TOMCAT_ENABLE_AJP`: Whether to enable the Apache Tomcat AJP connector. Default: **no** -- `TOMCAT_EXTRA_JAVA_OPTS`: Additional Java settings for Apache Tomcat. No defaults. -- `TOMCAT_INSTALL_DEFAULT_WEBAPPS`: Whether to add default webapps (ROOT, manager, host-manager, etc.) for deployment. Default: **yes** +* `TOMCAT_SHUTDOWN_PORT_NUMBER`: Apache Tomcat shutdown port. Default: **8005** +* `TOMCAT_HTTP_PORT_NUMBER`: Apache Tomcat HTTP port. Default: **8080** +* `TOMCAT_AJP_PORT_NUMBER`: Apache Tomcat AJP port. Default: **8009** +* `TOMCAT_USERNAME`: Apache Tomcat user. Default: **manager** +* `TOMCAT_PASSWORD`: Apache Tomcat password. No defaults. +* `TOMCAT_ALLOW_REMOTE_MANAGEMENT`: Whether to allow connections from remote addresses to the Apache Tomcat manager application. Default: **no** +* `TOMCAT_ENABLE_AUTH`: Whether to enable authentication for Apache Tomcat manager application. Default: **yes** +* `TOMCAT_ENABLE_AJP`: Whether to enable the Apache Tomcat AJP connector. Default: **no** +* `TOMCAT_EXTRA_JAVA_OPTS`: Additional Java settings for Apache Tomcat. No defaults. +* `TOMCAT_INSTALL_DEFAULT_WEBAPPS`: Whether to add default webapps (ROOT, manager, host-manager, etc.) for deployment. Default: **yes** #### Creating a custom user @@ -176,7 +176,7 @@ services: #### Specifying Environment variables on the Docker command line ```console -$ docker run --name tomcat \ +docker run --name tomcat \ -e TOMCAT_USERNAME=my_user \ -e TOMCAT_PASSWORD=my_password \ bitnami/tomcat:latest @@ -187,7 +187,7 @@ $ docker run --name tomcat \ During the initialization of the container, the default Apache Tomcat configuration files are modified with the basic options defined through [environment variables](#environment-variables). If you want to add more specific configuration options, you can always mount your own configuration files under `/opt/bitnami/tomcat/conf/` to override the existing ones. Please note that those files should be writable by the system user of the container. ```console -$ docker run --name tomcat -v /path/to/config/server.xml:/opt/bitnami/tomcat/conf/server.xml bitnami/tomcat:latest +docker run --name tomcat -v /path/to/config/server.xml:/opt/bitnami/tomcat/conf/server.xml bitnami/tomcat:latest ``` or using Docker Compose: @@ -208,13 +208,13 @@ Refer to the [Apache Tomcat configuration](https://tomcat.apache.org/tomcat-7.0- The Bitnami Apache Tomcat Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs tomcat +docker logs tomcat ``` or using Docker Compose: ```console -$ docker-compose logs tomcat +docker-compose logs tomcat ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -228,7 +228,7 @@ Bitnami provides up-to-date versions of Apache Tomcat, including security patche #### Step 1: Get the updated image ```console -$ docker pull bitnami/tomcat:latest +docker pull bitnami/tomcat:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -239,31 +239,31 @@ or if you're using Docker Compose, update the value of the image property to Stop the currently running container using the command ```console -$ docker stop tomcat +docker stop tomcat ``` or using Docker Compose: ```console -$ docker-compose stop tomcat +docker-compose stop tomcat ``` Next, take a snapshot of the persistent volume `/path/to/tomcat-persistence` using: ```console -$ rsync -a /path/to/tomcat-persistence /path/to/tomcat-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/tomcat-persistence /path/to/tomcat-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v tomcat +docker rm -v tomcat ``` or using Docker Compose: ```console -$ docker-compose rm -v tomcat +docker-compose rm -v tomcat ``` #### Step 4: Run the new image @@ -271,33 +271,33 @@ $ docker-compose rm -v tomcat Re-create your container from the new image. ```console -$ docker run --name tomcat bitnami/tomcat:latest +docker run --name tomcat bitnami/tomcat:latest ``` or using Docker Compose: ```console -$ docker-compose up tomcat +docker-compose up tomcat ``` ## Notable Changes ### Debian: 9.0.26-r0, 8.5.46-r0, 8.0.53-r382, 7.0.96-r50. Oracle: 9.0.24-ol-7-r35, 8.5.45-ol-7-r34, 8.0.53-ol-7-r426, 7.0.96-ol-7-r61 -- Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. +* Decrease the size of the container. The configuration logic is now based on Bash scripts in the `rootfs/` folder. ### 9.0.13-r27 , 8.5.35-r26, 8.0.53-r131 & 7.0.92-r20 -- The Apache Tomcat container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Apache Tomcat daemon was started as the `tomcat` user. From now on, both the container and the Apache Tomcat daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The Apache Tomcat container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the Apache Tomcat daemon was started as the `tomcat` user. From now on, both the container and the Apache Tomcat daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 8.0.35-r3 -- `TOMCAT_USER` parameter has been renamed to `TOMCAT_USERNAME`. +* `TOMCAT_USER` parameter has been renamed to `TOMCAT_USERNAME`. ### 8.0.35-r0 -- All volumes have been merged at `/bitnami/tomcat`. Now you only need to mount a single volume at `/bitnami/tomcat` for persistence. -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* All volumes have been merged at `/bitnami/tomcat`. Now you only need to mount a single volume at `/bitnami/tomcat` for persistence. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ## Contributing @@ -315,7 +315,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/trivy/README.md b/bitnami/trivy/README.md index 572d23a8bfd4..ee09acc2c54f 100644 --- a/bitnami/trivy/README.md +++ b/bitnami/trivy/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name trivy bitnami/trivy:latest +docker run --name trivy bitnami/trivy:latest ``` ## Why use Bitnami Images? @@ -36,21 +36,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami trivy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/trivy). ```console -$ docker pull bitnami/trivy:latest +docker pull bitnami/trivy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/trivy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/trivy:[TAG] +docker pull bitnami/trivy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +64,7 @@ Non-root container images add an extra layer of security and are generally recom To run Trivy commands inside this container you can use `docker run` since this container uses the `trivy` binary as entrypoint. For example to execute `trivy --version` you can follow the example below: ```console -$ docker run --rm --name trivy bitnami/trivy:latest --version +docker run --rm --name trivy bitnami/trivy:latest --version ``` Check the [official Trivy documentation](https://github.com/aquasecurity/trivy#usage) for a list of the available parameters. @@ -85,7 +85,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/wavefront-hpa-adapter/README.md b/bitnami/wavefront-hpa-adapter/README.md index b2e7a5c1746d..53c3fea60764 100644 --- a/bitnami/wavefront-hpa-adapter/README.md +++ b/bitnami/wavefront-hpa-adapter/README.md @@ -6,12 +6,10 @@ [Overview of Wavefront HPA Adapter for Kubernetes](https://github.com/wavefrontHQ/wavefront-kubernetes-adapter) - - ## TL;DR ```console -$ docker run --name wavefront-hpa-adapter bitnami/wavefront-hpa-adapter:latest +docker run --name wavefront-hpa-adapter bitnami/wavefront-hpa-adapter:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami wavefront-hpa-adapter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/wavefront-hpa-adapter). ```console -$ docker pull bitnami/wavefront-hpa-adapter:latest +docker pull bitnami/wavefront-hpa-adapter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/wavefront-hpa-adapter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/wavefront-hpa-adapter:[TAG] +docker pull bitnami/wavefront-hpa-adapter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +62,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `wavefront-adapter --wavefront-url example.wavefront.com` you can follow the example below: ```console -$ docker run --rm --name wavefront-hpa-adapter bitnami/wavefront-hpa-adapter:latest -- --wavefront-url example.wavefront.com +docker run --rm --name wavefront-hpa-adapter bitnami/wavefront-hpa-adapter:latest -- --wavefront-url example.wavefront.com ``` Check the [official Wavefront HPA Adapter for Kubernetes documentation](https://github.com/wavefrontHQ/wavefront-kubernetes-adapter/blob/master/docs/configuration.md) for a list of the available parameters. @@ -85,7 +83,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/wavefront-kubernetes-collector/README.md b/bitnami/wavefront-kubernetes-collector/README.md index 96a70bacd4ad..9d3dedece674 100644 --- a/bitnami/wavefront-kubernetes-collector/README.md +++ b/bitnami/wavefront-kubernetes-collector/README.md @@ -6,12 +6,10 @@ [Overview of Wavefront](https://github.com/wavefrontHQ/wavefront-collector-for-kubernetes) - - ## TL;DR ```console -$ docker run --name wavefront-kubernetes-collector bitnami/wavefront-kubernetes-collector:latest +docker run --name wavefront-kubernetes-collector bitnami/wavefront-kubernetes-collector:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami wavefront-kubernetes-collector Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/wavefront-kubernetes-collector). ```console -$ docker pull bitnami/wavefront-kubernetes-collector:latest +docker pull bitnami/wavefront-kubernetes-collector:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/wavefront-kubernetes-collector/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/wavefront-kubernetes-collector:[TAG] +docker pull bitnami/wavefront-kubernetes-collector:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +58,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `wavefront-collector --version` you can follow the example below: ```console -$ docker run --rm --name wavefront-kubernetes-collector bitnami/wavefront-kubernetes-collector:latest -- wavefront-collector --version +docker run --rm --name wavefront-kubernetes-collector bitnami/wavefront-kubernetes-collector:latest -- wavefront-collector --version ``` ## Contributing @@ -79,7 +77,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/wavefront-prometheus-storage-adapter/README.md b/bitnami/wavefront-prometheus-storage-adapter/README.md index 376b92438bf5..285f21eedbb0 100644 --- a/bitnami/wavefront-prometheus-storage-adapter/README.md +++ b/bitnami/wavefront-prometheus-storage-adapter/README.md @@ -6,12 +6,10 @@ [Overview of Wavefront Prometheus Adapter](https://github.com/wavefrontHQ/prometheus-storage-adapter) - - ## TL;DR ```console -$ docker run --name wavefront-prometheus-storage-adapter bitnami/wavefront-prometheus-storage-adapter:latest +docker run --name wavefront-prometheus-storage-adapter bitnami/wavefront-prometheus-storage-adapter:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami wavefront-prometheus-storage-adapter Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/wavefront-prometheus-storage-adapter). ```console -$ docker pull bitnami/wavefront-prometheus-storage-adapter:latest +docker pull bitnami/wavefront-prometheus-storage-adapter:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/wavefront-prometheus-storage-adapter/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/wavefront-prometheus-storage-adapter:[TAG] +docker pull bitnami/wavefront-prometheus-storage-adapter:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Why use a non-root container? @@ -64,7 +62,7 @@ Non-root container images add an extra layer of security and are generally recom To run commands inside this container you can use `docker run`, for example to execute `wavefront-prometheus-storage-adapter --version` you can follow the example below: ```console -$ docker run --rm --name wavefront-prometheus-storage-adapter bitnami/wavefront-prometheus-storage-adapter:latest -- wavefront-prometheus-storage-adapter --version +docker run --rm --name wavefront-prometheus-storage-adapter bitnami/wavefront-prometheus-storage-adapter:latest -- wavefront-prometheus-storage-adapter --version ``` Check the [official Wavefront Storage Adapter for Prometheus documentation](https://github.com/wavefrontHQ/prometheus-storage-adapter#configuration) for a list of the available parameters. @@ -85,7 +83,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/wavefront-proxy/README.md b/bitnami/wavefront-proxy/README.md index e674e3ee1784..7241a0302f70 100644 --- a/bitnami/wavefront-proxy/README.md +++ b/bitnami/wavefront-proxy/README.md @@ -6,12 +6,10 @@ [Overview of Wavefront Proxy](https://github.com/wavefrontHQ/wavefront-proxy) - - ## TL;DR ```console -$ docker run --name wavefront-proxy bitnami/wavefront-proxy:latest +docker run --name wavefront-proxy bitnami/wavefront-proxy:latest ``` ## Why use Bitnami Images? @@ -36,21 +34,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami wavefront-proxy Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/wavefront-proxy). ```console -$ docker pull bitnami/wavefront-proxy:latest +docker pull bitnami/wavefront-proxy:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/wavefront-proxy/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/wavefront-proxy:[TAG] +docker pull bitnami/wavefront-proxy:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Configuration @@ -60,7 +58,7 @@ $ docker build -t bitnami/APP:latest . To run commands inside this container you can use `docker run`, for example to execute `java -jar /opt/bitnami/wavefront-proxy/bin/wavefront-proxy.jar --version` you can follow the example below: ```console -$ docker run --rm --name wavefront-proxy bitnami/wavefront-proxy:latest -- java -jar /opt/bitnami/wavefront-proxy/bin/wavefront-proxy.jar --version +docker run --rm --name wavefront-proxy bitnami/wavefront-proxy:latest -- java -jar /opt/bitnami/wavefront-proxy/bin/wavefront-proxy.jar --version ``` ## Contributing @@ -79,7 +77,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/wildfly/README.md b/bitnami/wildfly/README.md index ddaddedc13c2..61b674c377db 100644 --- a/bitnami/wildfly/README.md +++ b/bitnami/wildfly/README.md @@ -11,14 +11,14 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name wildfly bitnami/wildfly:latest +docker run --name wildfly bitnami/wildfly:latest ``` ### Docker Compose ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wildfly/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wildfly/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ## Why use Bitnami Images? @@ -53,21 +53,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami WildFly Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/wildfly). ```console -$ docker pull bitnami/wildfly:latest +docker pull bitnami/wildfly:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/wildfly/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/wildfly:[TAG] +docker pull bitnami/wildfly:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your application @@ -77,7 +77,7 @@ If you remove the container all your data and configurations will be lost, and t For persistence you should mount a directory at the `/bitnami/wildfly` path. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run -p 8080:8080 -p 9990:9990 \ +docker run -p 8080:8080 -p 9990:9990 \ -v /path/to/wildfly-persistence:/bitnami/wildfly \ bitnami/wildfly:latest ``` @@ -102,7 +102,7 @@ The Bitnami WildFly image launches WildFLy in standalone mode. Therefore, you ca Additionally a helper symlink `/app` is present that points to the deployments directory which enables us to deploy applications on a running WildFly instance by simply doing: ```console -$ docker cp /path/to/app.war wildfly:/app +docker cp /path/to/app.war wildfly:/app ``` Find more information about the directory structue at [WildFly official documentation](https://docs.wildfly.org/23/Getting_Started_Guide.html#standalone-directory-structure) @@ -114,13 +114,13 @@ Find more information about the directory structue at [WildFly official document The Bitnami WildFly image exposes the application server on port `8080` and the management console on port `9990`. To access your web server from your host machine you can ask Docker to map random ports on your host to the ports `8080` and `9990` of the container. ```console -$ docker run --name wildfly -P bitnami/wildfly:latest +docker run --name wildfly -P bitnami/wildfly:latest ``` Run `docker port` to determine the random ports Docker assigned. ```console -$ docker port wildfly +docker port wildfly 8080/tcp -> 0.0.0.0:32775 9990/tcp -> 0.0.0.0:32774 ``` @@ -128,7 +128,7 @@ $ docker port wildfly You can also manually specify the ports you want forwarded from your host to the container. ```console -$ docker run -p 8080:8080 -p 9990:9990 bitnami/wildfly:latest +docker run -p 8080:8080 -p 9990:9990 bitnami/wildfly:latest ``` Access your web server in the browser by navigating to `http://localhost:8080` to access the application server and `http://localhost:9990/console` to access the management console. @@ -144,7 +144,7 @@ The command line management tool `jboss-cli.sh` allows a user to connect to the #### Step 1: Create a network ```console -$ docker network create wildfly-tier --driver bridge +docker network create wildfly-tier --driver bridge ``` #### Step 2: Launch the WildFly server instance @@ -152,7 +152,7 @@ $ docker network create wildfly-tier --driver bridge Use the `--network wildfly-tier` argument to the `docker run` command to attach the WildFly container to the `wildfly-tier` network. ```console -$ docker run -d --name wildfly-server \ +docker run -d --name wildfly-server \ --network wildfly-tier \ bitnami/wildfly:latest ``` @@ -162,7 +162,7 @@ $ docker run -d --name wildfly-server \ Finally we create a new container instance to launch the WildFly client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network wildfly-tier \ bitnami/wildfly:latest \ jboss-cli.sh --controller=wildfly-server:9990 --connect @@ -171,7 +171,7 @@ $ docker run -it --rm \ You can also run the client in the same container as the server using the Docker [exec](https://docs.docker.com/reference/commandline/cli/#exec) command. ```console -$ docker exec -it wildfly-server \ +docker exec -it wildfly-server \ jboss-cli.sh --controller=wildfly-server:9990 --connect ``` @@ -184,7 +184,7 @@ By default, a management user named `user` is created with the default password Additionally you can specify a user name for the management user using the `WILDFLY_USERNAME` environment variable. When not specified, the `WILDFLY_PASSWORD` configuration is applied on the default user (`user`). ```console -$ docker run --name wildfly \ +docker run --name wildfly \ -e WILDFLY_USERNAME=my_user \ -e WILDFLY_PASSWORD=my_password \ bitnami/wildfly:latest @@ -207,7 +207,7 @@ services: The image looks for configurations (e.g. `standalone.xml`) in the `/bitnami/wildfly/configuration/` directory, this directory can be changed by setting the `WILDFLY_MOUNTED_CONF_DIR` environment variable. ```console -$ docker run --name wildfly \ +docker run --name wildfly \ -v /path/to/standalone.xml:/bitnami/wildfly/configuration/standalone.xml \ bitnami/wildfly:latest ``` @@ -230,13 +230,13 @@ After that, your changes will be taken into account in the server's behaviour. The Bitnami WildFly Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs wildfly +docker logs wildfly ``` or using Docker Compose: ```console -$ docker-compose logs wildfly +docker-compose logs wildfly ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -250,7 +250,7 @@ Bitnami provides up-to-date versions of WildFly, including security patches, soo #### Step 1: Get the updated image ```console -$ docker pull bitnami/wildfly:latest +docker pull bitnami/wildfly:latest ``` or if you're using Docker Compose, update the value of the image property to `bitnami/wildfly:latest`. @@ -260,31 +260,31 @@ or if you're using Docker Compose, update the value of the image property to `bi Stop the currently running container using the command ```console -$ docker stop wildfly +docker stop wildfly ``` or using Docker Compose: ```console -$ docker-compose stop wildfly +docker-compose stop wildfly ``` Next, take a snapshot of the persistent volume `/path/to/wildfly-persistence` using: ```console -$ rsync -a /path/to/wildfly-persistence /path/to/wildfly-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +rsync -a /path/to/wildfly-persistence /path/to/wildfly-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) ``` #### Step 3: Remove the currently running container ```console -$ docker rm -v wildfly +docker rm -v wildfly ``` or using Docker Compose: ```console -$ docker-compose rm -v wildfly +docker-compose rm -v wildfly ``` #### Step 4: Run the new image @@ -292,39 +292,39 @@ $ docker-compose rm -v wildfly Re-create your container from the new image. ```console -$ docker run --name wildfly bitnami/wildfly:latest +docker run --name wildfly bitnami/wildfly:latest ``` or using Docker Compose: ```console -$ docker-compose up wildfly +docker-compose up wildfly ``` ## Notable Changes ### 22.0.1-debian-10-r68 and 23.0.1-debian-10-r8 release -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- The configuration is no longer persisted, instead it's adapted based on environment variables during the container initialization on every container restart. You can also mount custom configuration files and skip the configuration based on environment variables as it's detailed in [this section](#full-configuration). +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* The configuration is no longer persisted, instead it's adapted based on environment variables during the container initialization on every container restart. You can also mount custom configuration files and skip the configuration based on environment variables as it's detailed in [this section](#full-configuration). Consequences: -- Backwards compatibility should be possible, but it is highly recommended to backup your application data before upgrading. +* Backwards compatibility should be possible, but it is highly recommended to backup your application data before upgrading. ### 14.0.1-r75 -- The WildFly container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the WildFly daemon was started as the `wildfly` user. From now on, both the container and the WildFly daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. +* The WildFly container has been migrated to a non-root user approach. Previously the container ran as the `root` user and the WildFly daemon was started as the `wildfly` user. From now on, both the container and the WildFly daemon run as user `1001`. As a consequence, the data directory must be writable by that user. You can revert this behavior by changing `USER 1001` to `USER root` in the Dockerfile. ### 10.0.0-r3 -- `WILDFLY_USER` parameter has been renamed to `WILDFLY_USERNAME`. +* `WILDFLY_USER` parameter has been renamed to `WILDFLY_USERNAME`. ### 10.0.0-r0 -- All volumes have been merged at `/bitnami/wildfly`. Now you only need to mount a single volume at `/bitnami/wildfly` for persistence. -- The logs are always sent to the `stdout` and are no longer collected in the volume. +* All volumes have been merged at `/bitnami/wildfly`. Now you only need to mount a single volume at `/bitnami/wildfly` for persistence. +* The logs are always sent to the `stdout` and are no longer collected in the volume. ## Contributing @@ -342,7 +342,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/wordpress-nginx/README.md b/bitnami/wordpress-nginx/README.md index bc64d009b525..c42490b2467a 100644 --- a/bitnami/wordpress-nginx/README.md +++ b/bitnami/wordpress-nginx/README.md @@ -6,13 +6,11 @@ [Overview of WordPress with NGINX](http://www.wordpress.org) - - ## TL;DR ```console -$ curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress-nginx/docker-compose.yml -$ docker-compose up +curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress-nginx/docker-compose.yml +docker-compose up ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -43,21 +41,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami WordPress with NGINX Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/wordpress-nginx). ```console -$ docker pull bitnami/wordpress-nginx:latest +docker pull bitnami/wordpress-nginx:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/wordpress-nginx/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/wordpress-nginx:[TAG] +docker pull bitnami/wordpress-nginx:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -69,8 +67,8 @@ WordPress requires access to a MySQL or MariaDB database to store information. W The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/wordpress/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress/docker-compose.yml > docker-compose.yml -$ docker-compose up +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress/docker-compose.yml > docker-compose.yml +docker-compose up ``` ### Using the Docker Command Line @@ -80,14 +78,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create wordpress-network +docker network create wordpress-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_wordpress \ --env MARIADB_PASSWORD=bitnami \ @@ -100,8 +98,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for WordPress persistence and launch the container ```console -$ docker volume create --name wordpress_data -$ docker run -d --name wordpress \ +docker volume create --name wordpress_data +docker run -d --name wordpress \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env WORDPRESS_DATABASE_USER=bn_wordpress \ @@ -155,13 +153,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create wordpress-network +docker network create wordpress-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_wordpress \ --env MARIADB_PASSWORD=bitnami \ @@ -176,7 +174,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the WordPress container with host volumes ```console -$ docker run -d --name wordpress \ +docker run -d --name wordpress \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env WORDPRESS_DATABASE_USER=bn_wordpress \ @@ -208,7 +206,7 @@ When you start the WordPress image, you can adjust the configuration of the inst - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name wordpress -p 80:8080 -p 443:8443 \ + docker run -d --name wordpress -p 80:8080 -p 443:8443 \ --env WORDPRESS_PASSWORD=my_password \ --network wordpress-tier \ --volume /path/to/wordpress-persistence:/bitnami \ @@ -217,7 +215,7 @@ When you start the WordPress image, you can adjust the configuration of the inst Available environment variables: -##### User and Site configuration +#### User and Site configuration - `NGINX_HTTP_PORT_NUMBER`: Port used by NGINX for HTTP. Default: **8080** - `NGINX_HTTPS_PORT_NUMBER`: Port used by NGINX for HTTPS. Default: **8443** @@ -329,7 +327,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name wordpress -p 80:8080 -p 443:8443 \ + docker run -d --name wordpress -p 80:8080 -p 443:8443 \ --env WORDPRESS_DATABASE_USER=bn_wordpress \ --env WORDPRESS_DATABASE_NAME=bitnami_wordpress \ --env WORDPRESS_SMTP_HOST=smtp.gmail.com \ @@ -364,7 +362,7 @@ The Bitnami WordPress container supports connecting the WordPress application to - For manual execution: ```console - $ docker run -d --name wordpress\ + docker run -d --name wordpress\ -p 8080:8080 -p 8443:8443 \ --network wordpress-network \ --env WORDPRESS_DATABASE_HOST=mariadb_host \ @@ -384,16 +382,16 @@ The Bitnami WordPress container includes the command line interface **wp-cli** t This would be an example of using **wp-cli** to display the help menu: -* Using `docker-compose` command: +- Using `docker-compose` command: ```console -$ docker-compose exec wordpress wp help +docker-compose exec wordpress wp help ``` -* Using `docker` command: +- Using `docker` command: ```console -$ docker exec wordpress wp help +docker exec wordpress wp help ``` Find more information about parameters available in the tool in the [official documentation](https://make.wordpress.org/cli/handbook/config/). @@ -403,13 +401,13 @@ Find more information about parameters available in the tool in the [official do The Bitnami WordPress Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs wordpress +docker logs wordpress ``` Or using Docker Compose: ```console -$ docker-compose logs wordpress +docker-compose logs wordpress ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -423,13 +421,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop wordpress +docker stop wordpress ``` Or using Docker Compose: ```console -$ docker-compose stop wordpress +docker-compose stop wordpress ``` #### Step 2: Run the backup command @@ -437,7 +435,7 @@ $ docker-compose stop wordpress We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/wordpress-backups:/backups --volumes-from wordpress busybox \ +docker run --rm -v /path/to/wordpress-backups:/backups --volumes-from wordpress busybox \ cp -a /bitnami/wordpress /backups/latest ``` @@ -448,7 +446,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -458,7 +456,7 @@ For the MariaDB database container: For the WordPress container: ```diff - $ docker run -d --name wordpress \ + docker run -d --name wordpress \ ... - --volume /path/to/wordpress-persistence:/bitnami/wordpress \ + --volume /path/to/wordpress-backups/latest:/bitnami/wordpress \ @@ -467,14 +465,14 @@ For the WordPress container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and WordPress, 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 WordPress container. For the MariaDB upgrade see https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and WordPress, 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 WordPress container. For the MariaDB upgrade see The `bitnami/wordpress-nginx:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/wordpress-nginx:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/wordpress-nginx/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/wordpress-nginx:latest +docker pull bitnami/wordpress-nginx:latest ``` #### Step 2: Stop the running container @@ -482,7 +480,7 @@ $ docker pull bitnami/wordpress-nginx:latest Stop the currently running container using the command ```console -$ docker-compose stop wordpress +docker-compose stop wordpress ``` #### Step 3: Take a snapshot of the application state @@ -502,7 +500,7 @@ docker-compose rm -v wordpress Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -619,7 +617,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/wordpress/README.md b/bitnami/wordpress/README.md index cc0e5ac6a879..ef918eb7a604 100644 --- a/bitnami/wordpress/README.md +++ b/bitnami/wordpress/README.md @@ -6,13 +6,11 @@ [Overview of WordPress](http://www.wordpress.org) - - ## TL;DR ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` **Warning**: This quick setup is only intended for development environments. You are encouraged to change the insecure default credentials and check out the available configuration options in the [Environment Variables](#environment-variables) section for a more secure deployment. @@ -26,7 +24,7 @@ $ docker-compose up -d - All Bitnami images available in Docker Hub are signed with [Docker Content Trust (DCT)](https://docs.docker.com/engine/security/trust/content_trust/). You can use `DOCKER_CONTENT_TRUST=1` to verify the integrity of the images. - Bitnami container images are released on a regular basis with the latest distribution packages available. -# How to deploy WordPress in Kubernetes? +## How to deploy WordPress in Kubernetes? Deploying Bitnami applications as Helm Charts is the easiest way to get started with our applications on Kubernetes. Read more about the installation in the [Bitnami WordPress Chart GitHub repository](https://github.com/bitnami/charts/tree/master/bitnami/wordpress). @@ -49,21 +47,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami WordPress Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/wordpress). ```console -$ docker pull bitnami/wordpress:latest +docker pull bitnami/wordpress:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/wordpress/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/wordpress:[TAG] +docker pull bitnami/wordpress:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## How to use this image @@ -75,8 +73,8 @@ WordPress requires access to a MySQL or MariaDB database to store information. W The main folder of this repository contains a functional [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/wordpress/docker-compose.yml) file. Run the application using it as shown below: ```console -$ curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress/docker-compose.yml > docker-compose.yml -$ docker-compose up -d +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress/docker-compose.yml > docker-compose.yml +docker-compose up -d ``` ### Using the Docker Command Line @@ -86,14 +84,14 @@ If you want to run the application manually instead of using `docker-compose`, t #### Step 1: Create a network ```console -$ docker network create wordpress-network +docker network create wordpress-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 \ +docker volume create --name mariadb_data +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_wordpress \ --env MARIADB_PASSWORD=bitnami \ @@ -106,8 +104,8 @@ $ docker run -d --name mariadb \ #### Step 3: Create volumes for WordPress persistence and launch the container ```console -$ docker volume create --name wordpress_data -$ docker run -d --name wordpress \ +docker volume create --name wordpress_data +docker run -d --name wordpress \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env WORDPRESS_DATABASE_USER=bn_wordpress \ @@ -161,13 +159,13 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi #### Step 1: Create a network (if it does not exist) ```console -$ docker network create wordpress-network +docker network create wordpress-network ``` #### Step 2. Create a MariaDB container with host volume ```console -$ docker run -d --name mariadb \ +docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_wordpress \ --env MARIADB_PASSWORD=bitnami \ @@ -182,7 +180,7 @@ $ docker run -d --name mariadb \ #### Step 3. Create the WordPress container with host volumes ```console -$ docker run -d --name wordpress \ +docker run -d --name wordpress \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env WORDPRESS_DATABASE_USER=bn_wordpress \ @@ -214,7 +212,7 @@ When you start the WordPress image, you can adjust the configuration of the inst - For manual execution add a `--env` option with each variable and value: ```console - $ docker run -d --name wordpress -p 80:8080 -p 443:8443 \ + docker run -d --name wordpress -p 80:8080 -p 443:8443 \ --env WORDPRESS_PASSWORD=my_password \ --network wordpress-tier \ --volume /path/to/wordpress-persistence:/bitnami \ @@ -223,7 +221,7 @@ When you start the WordPress image, you can adjust the configuration of the inst Available environment variables: -##### User and Site configuration +#### User and Site configuration - `APACHE_HTTP_PORT_NUMBER`: Port used by Apache for HTTP. Default: **8080** - `APACHE_HTTPS_PORT_NUMBER`: Port used by Apache for HTTPS. Default: **8443** @@ -348,7 +346,7 @@ This would be an example of SMTP configuration using a Gmail account: - For manual execution: ```console - $ docker run -d --name wordpress -p 80:8080 -p 443:8443 \ + docker run -d --name wordpress -p 80:8080 -p 443:8443 \ --env WORDPRESS_DATABASE_USER=bn_wordpress \ --env WORDPRESS_DATABASE_NAME=bitnami_wordpress \ --env WORDPRESS_SMTP_HOST=smtp.gmail.com \ @@ -383,7 +381,7 @@ The Bitnami WordPress container supports connecting the WordPress application to - For manual execution: ```console - $ docker run -d --name wordpress\ + docker run -d --name wordpress\ -p 8080:8080 -p 8443:8443 \ --network wordpress-network \ --env WORDPRESS_DATABASE_HOST=mariadb_host \ @@ -403,16 +401,16 @@ The Bitnami WordPress container includes the command line interface **wp-cli** t This would be an example of using **wp-cli** to display the help menu: -* Using `docker-compose` command: +- Using `docker-compose` command: ```console -$ docker-compose exec wordpress wp help +docker-compose exec wordpress wp help ``` -* Using `docker` command: +- Using `docker` command: ```console -$ docker exec wordpress wp help +docker exec wordpress wp help ``` Find more information about parameters available in the tool in the [official documentation](https://make.wordpress.org/cli/handbook/config/). @@ -422,13 +420,13 @@ Find more information about parameters available in the tool in the [official do The Bitnami WordPress Docker image sends the container logs to `stdout`. To view the logs: ```console -$ docker logs wordpress +docker logs wordpress ``` Or using Docker Compose: ```console -$ docker-compose logs wordpress +docker-compose logs wordpress ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -442,13 +440,13 @@ To backup your data, configuration and logs, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop wordpress +docker stop wordpress ``` Or using Docker Compose: ```console -$ docker-compose stop wordpress +docker-compose stop wordpress ``` #### Step 2: Run the backup command @@ -456,7 +454,7 @@ $ docker-compose stop wordpress We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/wordpress-backups:/backups --volumes-from wordpress busybox \ +docker run --rm -v /path/to/wordpress-backups:/backups --volumes-from wordpress busybox \ cp -a /bitnami/wordpress /backups/latest ``` @@ -467,7 +465,7 @@ Restoring a backup is as simple as mounting the backup as volumes in the contain For the MariaDB database container: ```diff - $ docker run -d --name mariadb \ + docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ @@ -477,7 +475,7 @@ For the MariaDB database container: For the WordPress container: ```diff - $ docker run -d --name wordpress \ + docker run -d --name wordpress \ ... - --volume /path/to/wordpress-persistence:/bitnami/wordpress \ + --volume /path/to/wordpress-backups/latest:/bitnami/wordpress \ @@ -486,14 +484,14 @@ For the WordPress container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB and WordPress, 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 WordPress container. For the MariaDB upgrade see https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image +Bitnami provides up-to-date versions of MariaDB and WordPress, 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 WordPress container. For the MariaDB upgrade see The `bitnami/wordpress:latest` tag always points to the most recent release. To get the most recent release you can simple repull the `latest` tag from the Docker Hub with `docker pull bitnami/wordpress:latest`. However it is recommended to use [tagged versions](https://hub.docker.com/r/bitnami/wordpress/tags/). #### Step 1: Get the updated image ```console -$ docker pull bitnami/wordpress:latest +docker pull bitnami/wordpress:latest ``` #### Step 2: Stop the running container @@ -501,7 +499,7 @@ $ docker pull bitnami/wordpress:latest Stop the currently running container using the command ```console -$ docker-compose stop wordpress +docker-compose stop wordpress ``` #### Step 3: Take a snapshot of the application state @@ -521,7 +519,7 @@ docker-compose rm -v wordpress Update the image tag in `docker-compose.yml` and re-create your container with the new image: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Customize this image @@ -643,7 +641,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/bitnami/zookeeper/README.md b/bitnami/zookeeper/README.md index d1301d716776..a88a6c3fe992 100644 --- a/bitnami/zookeeper/README.md +++ b/bitnami/zookeeper/README.md @@ -11,7 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema ## TL;DR ```console -$ docker run --name zookeeper bitnami/zookeeper:latest +docker run --name zookeeper bitnami/zookeeper:latest ``` ### Docker Compose @@ -58,21 +58,21 @@ Subscribe to project updates by watching the [bitnami/containers GitHub repo](ht The recommended way to get the Bitnami Apache ZooKeeper Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/zookeeper). ```console -$ docker pull bitnami/zookeeper:latest +docker pull bitnami/zookeeper:latest ``` To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/zookeeper/tags/) in the Docker Hub Registry. ```console -$ docker pull bitnami/zookeeper:[TAG] +docker pull bitnami/zookeeper:[TAG] ``` If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the `docker build` command. Remember to replace the `APP`, `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values. ```console -$ git clone https://github.com/bitnami/containers.git -$ cd bitnami/APP/VERSION/OPERATING-SYSTEM -$ docker build -t bitnami/APP:latest . +git clone https://github.com/bitnami/containers.git +cd bitnami/APP/VERSION/OPERATING-SYSTEM +docker build -t bitnami/APP:latest . ``` ## Persisting your data @@ -86,7 +86,7 @@ If you have already started using Apache ZooKeeper, follow the steps on The image exposes a volume at `/bitnami/zookeeper` for the Apache ZooKeeper data. For persistence you can mount a directory at this location from your host. If the mounted directory is empty, it will be initialized on the first run. ```console -$ docker run -v /path/to/zookeeper-persistence:/bitnami/zookeeper bitnami/zookeeper:latest +docker run -v /path/to/zookeeper-persistence:/bitnami/zookeeper bitnami/zookeeper:latest ``` or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/zookeeper/docker-compose.yml) file present in this repository: @@ -115,7 +115,7 @@ In this example, we will create an Apache ZooKeeper client instance that will co #### Step 1: Create a network ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 2: Launch the Apache ZooKeeper server instance @@ -123,7 +123,7 @@ $ docker network create app-tier --driver bridge Use the `--network app-tier` argument to the `docker run` command to attach the Apache ZooKeeper container to the `app-tier` network. ```console -$ docker run -d --name zookeeper-server \ +docker run -d --name zookeeper-server \ --network app-tier \ bitnami/zookeeper:latest ``` @@ -133,7 +133,7 @@ $ docker run -d --name zookeeper-server \ Finally we create a new container instance to launch the Apache ZooKeeper client and connect to the server created in the previous step: ```console -$ docker run -it --rm \ +docker run -it --rm \ --network app-tier \ bitnami/zookeeper:latest zkCli.sh -server zookeeper-server:2181 get / ``` @@ -168,61 +168,61 @@ services: Launch the containers using: ```console -$ docker-compose up -d +docker-compose up -d ``` ## Configuration The configuration can easily be setup with the Bitnami Apache ZooKeeper Docker image using the following environment variables: - - `ZOO_PORT_NUMBER`: Apache ZooKeeper client port. Default: **2181** - - `ZOO_SERVER_ID`: ID of the server in the ensemble. Default: **1** - - `ZOO_TICK_TIME`: Basic time unit in milliseconds used by Apache ZooKeeper for heartbeats. Default: **2000** - - `ZOO_PRE_ALLOC_SIZE`': Block size for transaction log file. Default: **65536** - - `ZOO_SNAPCOUNT`: The number of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled). Default: **100000** - - `ZOO_INIT_LIMIT`: Apache ZooKeeper uses to limit the length of time the Apache ZooKeeper servers in quorum have to connect to a leader. Default: **10** - - `ZOO_SYNC_LIMIT`: How far out of date a server can be from a leader. Default: **5** - - `ZOO_MAX_CNXNS`: Limits the total number of concurrent connections that can be made to an Apache ZooKeeper server. Setting it to 0 entirely removes the limit. Default: **0** - - `ZOO_MAX_CLIENT_CNXNS`: Limits the number of concurrent connections that a single client may make to a single member of the Apache ZooKeeper ensemble. Default: **60** - - `ZOO_4LW_COMMANDS_WHITELIST`: List of whitelisted [4LW](https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_4lw) commands. Default: **srvr, mntr** - - `ZOO_SERVERS`: Comma, space or semi-colon separated list of servers. Example: zoo1:2888:3888,zoo2:2888:3888 or if specifying server IDs zoo1:2888:3888::1,zoo2:2888:3888::2. Default: No defaults. - - `ZOO_CLIENT_USER`: User that will use Apache ZooKeeper clients to auth. Default: No defaults. - - `ZOO_CLIENT_PASSWORD`: Password that will use Apache ZooKeeper clients to auth. Default: No defaults. - - `ZOO_CLIENT_PASSWORD_FILE`: Absolute path to a file that contains the password that will be used by Apache ZooKeeper clients to perform authentication. Default: No defaults. - - `ZOO_SERVER_USERS`: Comma, semicolon or whitespace separated list of user to be created. Example: user1,user2,admin. Default: No defaults - - `ZOO_SERVER_PASSWORDS`: Comma, semicolon or whitespace separated list of passwords to assign to users when created. Example: pass4user1, pass4user2, pass4admin. Default: No defaults - - `ZOO_SERVER_PASSWORDS_FILE`: Absolute path to a file that contains a comma, semicolon or whitespace separated list of passwords to assign to users when created. Example: pass4user1, pass4user2, pass4admin. Default: No defaults - - `ZOO_ENABLE_AUTH`: Enable Apache ZooKeeper auth. It uses SASL/Digest-MD5. Default: **no** - - `ZOO_RECONFIG_ENABLED`: Enable Apache ZooKeeper Dynamic Reconfiguration. Default: **no** - - `ZOO_LISTEN_ALLIPS_ENABLED`: Listen for connections from its peers on all available IP addresses. Default: **no** - - `ZOO_AUTOPURGE_INTERVAL`: The time interval in hours for which the autopurge task is triggered. Set to a positive integer (1 and above) to enable auto purging of old snapshots and log files. Default: **0** - - `ZOO_MAX_SESSION_TIMEOUT`: Maximum session timeout in milliseconds that the server will allow the client to negotiate. Default: **40000** - - `ZOO_AUTOPURGE_RETAIN_COUNT`: When auto purging is enabled, Apache ZooKeeper retains the most recent snapshots and the corresponding transaction logs in the dataDir and dataLogDir respectively to this number and deletes the rest. Minimum value is 3. Default: **3** - - `ZOO_HEAP_SIZE`: Size in MB for the Java Heap options (Xmx and XMs). This env var is ignored if Xmx an Xms are configured via `JVMFLAGS`. Default: **1024** - - `ZOO_ENABLE_PROMETHEUS_METRICS`: Expose Prometheus metrics. Default: **no** - - `ZOO_PROMETHEUS_METRICS_PORT_NUMBER`: Port where a Jetty server will expose Prometheus metrics. Default: **7000** - - `ALLOW_ANONYMOUS_LOGIN`: If set to true, Allow to accept connections from unauthenticated users. Default: **no** - - `ZOO_LOG_LEVEL`: Apache ZooKeeper log level. Available levels are: `ALL`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, `OFF`, `TRACE`. Default: **INFO** - - `JVMFLAGS`: Default JVMFLAGS for the Apache ZooKeeper process. Default: No defaults - - `ZOO_TLS_CLIENT_ENABLE`: Enable tls for client communication. Default: **false** - - `ZOO_TLS_PORT_NUMBER`: Zookeeper TLS port. Default: 3181 - - `ZOO_TLS_CLIENT_KEYSTORE_FILE`: KeyStore file: Default: No Defaults - - `ZOO_TLS_CLIENT_KEYSTORE_PASSWORD`: KeyStore file password. This can be an environment variable. It will be evaluated by bash. Default: No Defaults - - `ZOO_TLS_CLIENT_TRUSTSTORE_FILE`: TrustStore file: Default: No Defaults - - `ZOO_TLS_CLIENT_TRUSTSTORE_PASSWORD`: TrustStore file password. This can be an environment variable. It will be evaluated by bash. Default: No Defaults - - `ZOO_TLS_CLIENT_AUTH`: Specifies options to authenticate TLS connections from clients. Available values are: `none`, `want`, `need`. Default: **need** - - `ZOO_TLS_QUORUM_ENABLE`: Enable tls for quorum communication. Default: **false** - - `ZOO_TLS_QUORUM_KEYSTORE_FILE`: KeyStore file: Default: No Defaults - - `ZOO_TLS_QUORUM_KEYSTORE_PASSWORD`: KeyStore file password. This can be an environment variable. It will be evaluated by bash. Default: No Defaults - - `ZOO_TLS_QUORUM_TRUSTSTORE_FILE`: TrustStore file: Default: No Defaults - - `ZOO_TLS_QUORUM_TRUSTSTORE_PASSWORD`: TrustStore file password. This can be an environment variable. It will be evaluated by bash. Default: No Defaults - - `ZOO_TLS_QUORUM_CLIENT_AUTH`: Specifies options to authenticate TLS connections from clients. Available values are: `none`, `want`, `need`. Default: **need** - - `ZOO_ENABLE_ADMIN_SERVER`: Enable [admin server](https://zookeeper.apache.org/doc/r3.5.7/zookeeperAdmin.html#sc_adminserver). Default: **yes** - - `ZOO_ADMIN_SERVER_PORT_NUMBER`: [Admin server](https://zookeeper.apache.org/doc/r3.5.7/zookeeperAdmin.html#sc_adminserver) port. Default: **8080** - - `ZOO_PEER_TYPE`: Zookeeper Node [Peer type](https://zookeeper.apache.org/doc/r3.6.3/zookeeperObservers.html). Default: No Defaults +* `ZOO_PORT_NUMBER`: Apache ZooKeeper client port. Default: **2181** +* `ZOO_SERVER_ID`: ID of the server in the ensemble. Default: **1** +* `ZOO_TICK_TIME`: Basic time unit in milliseconds used by Apache ZooKeeper for heartbeats. Default: **2000** +* `ZOO_PRE_ALLOC_SIZE`': Block size for transaction log file. Default: **65536** +* `ZOO_SNAPCOUNT`: The number of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled). Default: **100000** +* `ZOO_INIT_LIMIT`: Apache ZooKeeper uses to limit the length of time the Apache ZooKeeper servers in quorum have to connect to a leader. Default: **10** +* `ZOO_SYNC_LIMIT`: How far out of date a server can be from a leader. Default: **5** +* `ZOO_MAX_CNXNS`: Limits the total number of concurrent connections that can be made to an Apache ZooKeeper server. Setting it to 0 entirely removes the limit. Default: **0** +* `ZOO_MAX_CLIENT_CNXNS`: Limits the number of concurrent connections that a single client may make to a single member of the Apache ZooKeeper ensemble. Default: **60** +* `ZOO_4LW_COMMANDS_WHITELIST`: List of whitelisted [4LW](https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_4lw) commands. Default: **srvr, mntr** +* `ZOO_SERVERS`: Comma, space or semi-colon separated list of servers. Example: zoo1:2888:3888,zoo2:2888:3888 or if specifying server IDs zoo1:2888:3888::1,zoo2:2888:3888::2. Default: No defaults. +* `ZOO_CLIENT_USER`: User that will use Apache ZooKeeper clients to auth. Default: No defaults. +* `ZOO_CLIENT_PASSWORD`: Password that will use Apache ZooKeeper clients to auth. Default: No defaults. +* `ZOO_CLIENT_PASSWORD_FILE`: Absolute path to a file that contains the password that will be used by Apache ZooKeeper clients to perform authentication. Default: No defaults. +* `ZOO_SERVER_USERS`: Comma, semicolon or whitespace separated list of user to be created. Example: user1,user2,admin. Default: No defaults +* `ZOO_SERVER_PASSWORDS`: Comma, semicolon or whitespace separated list of passwords to assign to users when created. Example: pass4user1, pass4user2, pass4admin. Default: No defaults +* `ZOO_SERVER_PASSWORDS_FILE`: Absolute path to a file that contains a comma, semicolon or whitespace separated list of passwords to assign to users when created. Example: pass4user1, pass4user2, pass4admin. Default: No defaults +* `ZOO_ENABLE_AUTH`: Enable Apache ZooKeeper auth. It uses SASL/Digest-MD5. Default: **no** +* `ZOO_RECONFIG_ENABLED`: Enable Apache ZooKeeper Dynamic Reconfiguration. Default: **no** +* `ZOO_LISTEN_ALLIPS_ENABLED`: Listen for connections from its peers on all available IP addresses. Default: **no** +* `ZOO_AUTOPURGE_INTERVAL`: The time interval in hours for which the autopurge task is triggered. Set to a positive integer (1 and above) to enable auto purging of old snapshots and log files. Default: **0** +* `ZOO_MAX_SESSION_TIMEOUT`: Maximum session timeout in milliseconds that the server will allow the client to negotiate. Default: **40000** +* `ZOO_AUTOPURGE_RETAIN_COUNT`: When auto purging is enabled, Apache ZooKeeper retains the most recent snapshots and the corresponding transaction logs in the dataDir and dataLogDir respectively to this number and deletes the rest. Minimum value is 3. Default: **3** +* `ZOO_HEAP_SIZE`: Size in MB for the Java Heap options (Xmx and XMs). This env var is ignored if Xmx an Xms are configured via `JVMFLAGS`. Default: **1024** +* `ZOO_ENABLE_PROMETHEUS_METRICS`: Expose Prometheus metrics. Default: **no** +* `ZOO_PROMETHEUS_METRICS_PORT_NUMBER`: Port where a Jetty server will expose Prometheus metrics. Default: **7000** +* `ALLOW_ANONYMOUS_LOGIN`: If set to true, Allow to accept connections from unauthenticated users. Default: **no** +* `ZOO_LOG_LEVEL`: Apache ZooKeeper log level. Available levels are: `ALL`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, `OFF`, `TRACE`. Default: **INFO** +* `JVMFLAGS`: Default JVMFLAGS for the Apache ZooKeeper process. Default: No defaults +* `ZOO_TLS_CLIENT_ENABLE`: Enable tls for client communication. Default: **false** +* `ZOO_TLS_PORT_NUMBER`: Zookeeper TLS port. Default: 3181 +* `ZOO_TLS_CLIENT_KEYSTORE_FILE`: KeyStore file: Default: No Defaults +* `ZOO_TLS_CLIENT_KEYSTORE_PASSWORD`: KeyStore file password. This can be an environment variable. It will be evaluated by bash. Default: No Defaults +* `ZOO_TLS_CLIENT_TRUSTSTORE_FILE`: TrustStore file: Default: No Defaults +* `ZOO_TLS_CLIENT_TRUSTSTORE_PASSWORD`: TrustStore file password. This can be an environment variable. It will be evaluated by bash. Default: No Defaults +* `ZOO_TLS_CLIENT_AUTH`: Specifies options to authenticate TLS connections from clients. Available values are: `none`, `want`, `need`. Default: **need** +* `ZOO_TLS_QUORUM_ENABLE`: Enable tls for quorum communication. Default: **false** +* `ZOO_TLS_QUORUM_KEYSTORE_FILE`: KeyStore file: Default: No Defaults +* `ZOO_TLS_QUORUM_KEYSTORE_PASSWORD`: KeyStore file password. This can be an environment variable. It will be evaluated by bash. Default: No Defaults +* `ZOO_TLS_QUORUM_TRUSTSTORE_FILE`: TrustStore file: Default: No Defaults +* `ZOO_TLS_QUORUM_TRUSTSTORE_PASSWORD`: TrustStore file password. This can be an environment variable. It will be evaluated by bash. Default: No Defaults +* `ZOO_TLS_QUORUM_CLIENT_AUTH`: Specifies options to authenticate TLS connections from clients. Available values are: `none`, `want`, `need`. Default: **need** +* `ZOO_ENABLE_ADMIN_SERVER`: Enable [admin server](https://zookeeper.apache.org/doc/r3.5.7/zookeeperAdmin.html#sc_adminserver). Default: **yes** +* `ZOO_ADMIN_SERVER_PORT_NUMBER`: [Admin server](https://zookeeper.apache.org/doc/r3.5.7/zookeeperAdmin.html#sc_adminserver) port. Default: **8080** +* `ZOO_PEER_TYPE`: Zookeeper Node [Peer type](https://zookeeper.apache.org/doc/r3.6.3/zookeeperObservers.html). Default: No Defaults ```console -$ docker run --name zookeeper -e ZOO_SERVER_ID=1 bitnami/zookeeper:latest +docker run --name zookeeper -e ZOO_SERVER_ID=1 bitnami/zookeeper:latest ``` or modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/zookeeper/docker-compose.yml) file present in this repository: @@ -236,11 +236,12 @@ services: ... ``` -### Configuration +### ZooKeeper configuration + The image looks for configuration in the `conf/` directory of `/opt/bitnami/zookeeper`. ```console -$ docker run --name zookeeper -v /path/to/zoo.cfg:/opt/bitnami/zookeeper/conf/zoo.cfg bitnami/zookeeper:latest +docker run --name zookeeper -v /path/to/zoo.cfg:/opt/bitnami/zookeeper/conf/zoo.cfg bitnami/zookeeper:latest ``` After that, your changes will be taken into account in the server's behaviour. @@ -250,7 +251,7 @@ After that, your changes will be taken into account in the server's behaviour. Run the Apache ZooKeeper image, mounting a directory from your host. ```console -$ docker run --name zookeeper -v /path/to/zoo.cfg:/opt/bitnami/zookeeper/conf/zoo.cfg bitnami/zookeeper:latest +docker run --name zookeeper -v /path/to/zoo.cfg:/opt/bitnami/zookeeper/conf/zoo.cfg bitnami/zookeeper:latest ``` or using Docker Compose: @@ -280,13 +281,13 @@ vi /path/to/zoo.cfg After changing the configuration, restart your Apache ZooKeeper container for changes to take effect. ```console -$ docker restart zookeeper +docker restart zookeeper ``` or using Docker Compose: ```console -$ docker-compose restart zookeeper +docker-compose restart zookeeper ``` ### Security @@ -299,7 +300,7 @@ be able to login. `ZOO_CLIENT_USER` and `ZOO_CLIENT_PASSWORD` environment variables too. ```console -$ docker run -it -e ZOO_ENABLE_AUTH=yes \ +docker run -it -e ZOO_ENABLE_AUTH=yes \ -e ZOO_SERVER_USERS=user1,user2 \ -e ZOO_SERVER_PASSWORDS=pass4user1,pass4user2 \ -e ZOO_CLIENT_USER=user1 \ @@ -324,13 +325,13 @@ services: ### Setting up an Apache ZooKeeper ensemble -A Apache ZooKeeper (https://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html) cluster can easily be setup with the Bitnami Apache ZooKeeper Docker image using the following environment variables: +A Apache ZooKeeper () cluster can easily be setup with the Bitnami Apache ZooKeeper Docker image using the following environment variables: - - `ZOO_SERVERS`: Comma, space or semi-colon separated list of servers. This can be done with or without specifying the ID of the server in the ensemble. No defaults. Examples: - - without Server ID - zoo1:2888:3888,zoo2:2888:3888 - - with Server ID - zoo1:2888:3888::1,zoo2:2888:3888::2 - - without Server ID and Observers - zoo1:2888:3888,zoo2:2888:3888:observer - - with Server ID and Observers - zoo1:2888:3888::1,zoo2:2888:3888:observer::2 +* `ZOO_SERVERS`: Comma, space or semi-colon separated list of servers. This can be done with or without specifying the ID of the server in the ensemble. No defaults. Examples: +* without Server ID - zoo1:2888:3888,zoo2:2888:3888 +* with Server ID - zoo1:2888:3888::1,zoo2:2888:3888::2 +* without Server ID and Observers - zoo1:2888:3888,zoo2:2888:3888:observer +* with Server ID and Observers - zoo1:2888:3888::1,zoo2:2888:3888:observer::2 For reliable Apache ZooKeeper service, you should deploy Apache ZooKeeper in a cluster known as an ensemble. As long as a majority of the ensemble are up, the service will be available. Because Apache ZooKeeper requires a majority, it is best to use an odd number of machines. For example, with four machines Apache ZooKeeper can only handle the failure of a single machine; if two machines fail, the remaining two machines do not constitute a majority. However, with five machines Apache ZooKeeper can handle the failure of two machines. @@ -341,7 +342,7 @@ See below: Create a Docker network to enable visibility to each other via the docker container name ```console -$ docker network create app-tier --driver bridge +docker network create app-tier --driver bridge ``` #### Step 1: Create the first node @@ -349,7 +350,7 @@ $ docker network create app-tier --driver bridge The first step is to create one Apache ZooKeeper instance. ```console -$ docker run --name zookeeper1 \ +docker run --name zookeeper1 \ --network app-tier \ -e ZOO_SERVER_ID=1 \ -e ZOO_SERVERS=0.0.0.0:2888:3888,zookeeper2:2888:3888,zookeeper3:2888:3888 \ @@ -364,7 +365,7 @@ $ docker run --name zookeeper1 \ Next we start a new Apache ZooKeeper container. ```console -$ docker run --name zookeeper2 \ +docker run --name zookeeper2 \ --network app-tier \ -e ZOO_SERVER_ID=2 \ -e ZOO_SERVERS=zookeeper1:2888:3888,0.0.0.0:2888:3888,zookeeper3:2888:3888 \ @@ -379,7 +380,7 @@ $ docker run --name zookeeper2 \ Next we start another new Apache ZooKeeper container. ```console -$ docker run --name zookeeper3 \ +docker run --name zookeeper3 \ --network app-tier \ -e ZOO_SERVER_ID=3 \ -e ZOO_SERVERS=zookeeper1:2888:3888,zookeeper2:2888:3888,0.0.0.0:2888:3888 \ @@ -388,6 +389,7 @@ $ docker run --name zookeeper3 \ -p 3888:3888 \ bitnami/zookeeper:latest ``` + You now have a two node Apache ZooKeeper cluster up and running. You can scale the cluster by adding/removing slaves without incurring any downtime. With Docker Compose the ensemble can be setup using: @@ -433,7 +435,7 @@ services: ### Start Zookeeper with TLS -``` +```console docker run --name zookeeper \ -v /path/to/domain.key:/bitnami/zookeeper/certs/domain.key:ro -v /path/to/domain.crs:/bitnami/zookeeper/certs/domain.crs:ro @@ -449,13 +451,13 @@ docker run --name zookeeper \ The Bitnami Apache ZooKeeper Docker image sends the container logs to the `stdout`. To view the logs: ```console -$ docker logs zookeeper +docker logs zookeeper ``` or using Docker Compose: ```console -$ docker-compose logs zookeeper +docker-compose logs zookeeper ``` You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. @@ -469,13 +471,13 @@ To backup your data, follow these simple steps: #### Step 1: Stop the currently running container ```console -$ docker stop zookeeper +docker stop zookeeper ``` or using Docker Compose: ```console -$ docker-compose stop zookeeper +docker-compose stop zookeeper ``` #### Step 2: Run the backup command @@ -483,14 +485,14 @@ $ docker-compose stop zookeeper We need to mount two volumes in a container we will use to create the backup: a directory on your host to store the backup in, and the volumes from the container we just stopped so we can access the data. ```console -$ docker run --rm -v /path/to/zookeeper-backups:/backups --volumes-from zookeeper busybox \ +docker run --rm -v /path/to/zookeeper-backups:/backups --volumes-from zookeeper busybox \ cp -a /bitnami/zookeeper /backups/latest ``` or using Docker Compose: ```console -$ docker run --rm -v /path/to/zookeeper-backups:/backups --volumes-from `docker-compose ps -q zookeeper` busybox \ +docker run --rm -v /path/to/zookeeper-backups:/backups --volumes-from `docker-compose ps -q zookeeper` busybox \ cp -a /bitnami/zookeeper /backups/latest ``` @@ -499,7 +501,7 @@ $ docker run --rm -v /path/to/zookeeper-backups:/backups --volumes-from `docker- Restoring a backup is as simple as mounting the backup as volumes in the container. ```console -$ docker run -v /path/to/zookeeper-backups/latest:/bitnami/zookeeper bitnami/zookeeper:latest +docker run -v /path/to/zookeeper-backups/latest:/bitnami/zookeeper bitnami/zookeeper:latest ``` or using Docker Compose: @@ -523,7 +525,7 @@ Bitnami provides up-to-date versions of Apache ZooKeeper, including security pat #### Step 1: Get the updated image ```console -$ docker pull bitnami/zookeeper:latest +docker pull bitnami/zookeeper:latest ``` or if you're using Docker Compose, update the value of the image property to @@ -538,14 +540,13 @@ Follow the steps on [creating a backup](#backing-up-your-container). #### Step 3: Remove the currently running container ```console -$ docker rm -v zookeeper +docker rm -v zookeeper ``` or using Docker Compose: - ```console -$ docker-compose rm -v zookeeper +docker-compose rm -v zookeeper ``` #### Step 4: Run the new image @@ -553,33 +554,33 @@ $ docker-compose rm -v zookeeper Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. ```console -$ docker run --name zookeeper bitnami/zookeeper:latest +docker run --name zookeeper bitnami/zookeeper:latest ``` or using Docker Compose: ```console -$ docker-compose up zookeeper +docker-compose up zookeeper ``` ## Notable Changes ### 3.5.5-r95 -- Apache ZooKeeper configuration moved to bash scripts in the rootfs/ folder. +* Apache ZooKeeper configuration moved to bash scripts in the rootfs/ folder. ### 3.4.12-r25 -- Configuration is not persisted, it is regenerated each time the container is created or it is used as volume. +* Configuration is not persisted, it is regenerated each time the container is created or it is used as volume. ### 3.4.10-r4 -- The zookeeper container has been migrated to a non-root container approach. Previously the container run as `root` user and the zookeeper daemon was started as `zookeeper` user. From now own, both the container and the zookeeper daemon run as user `1001`. +* The zookeeper container has been migrated to a non-root container approach. Previously the container run as `root` user and the zookeeper daemon was started as `zookeeper` user. From now own, both the container and the zookeeper daemon run as user `1001`. As a consequence, the configuration files are writable by the user running the zookeeper process. ### 3.4.10-r0 -- New release +* New release ## Contributing @@ -597,7 +598,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,