diff --git a/bitnami/ghost/5/debian-11/Dockerfile b/bitnami/ghost/5/debian-11/Dockerfile index b795015dd441..368c579dbde5 100644 --- a/bitnami/ghost/5/debian-11/Dockerfile +++ b/bitnami/ghost/5/debian-11/Dockerfile @@ -9,7 +9,7 @@ ENV HOME="/" \ COPY prebuildfs / # Install required system packages and dependencies RUN install_packages acl ca-certificates curl gzip jq libaudit1 libbz2-1.0 libc6 libcap-ng0 libcom-err2 libcrypt1 libffi7 libgcc-s1 libgssapi-krb5-2 libicu67 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblzma5 libncurses6 libncursesw6 libnsl2 libpam0g libreadline8 libsqlite3-0 libssl1.1 libstdc++6 libtinfo6 libtirpc3 libxml2 procps tar zlib1g -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "python" "3.8.13-1" --checksum 79af9dcbaa89c4047d2d24b4a4c2ae17b771fe94972734379b9e50ef3dec3442 +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "python" "3.8.13-2" --checksum 79af9dcbaa89c4047d2d24b4a4c2ae17b771fe94972734379b9e50ef3dec3442 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "node" "14.19.3-0" --checksum 97cffecfb637e5758197e4eb14d50b42048768eba242da4b534f1d8bacbd6958 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "mysql-client" "10.6.8-0" --checksum b47e1015fc1c9ce456f134ffd5b6ac6960c3f369c96fcd37319e9289b29a1047 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-0" --checksum da4a2f759ccc57c100d795b71ab297f48b31c4dd7578d773d963bbd49c42bd7b diff --git a/bitnami/ghost/5/debian-11/docker-compose.yml b/bitnami/ghost/5/debian-11/docker-compose.yml index dac9ab841846..238a0ba69ecd 100644 --- a/bitnami/ghost/5/debian-11/docker-compose.yml +++ b/bitnami/ghost/5/debian-11/docker-compose.yml @@ -1,14 +1,14 @@ version: '2' services: - mariadb: - image: docker.io/bitnami/mariadb:10.6 + mysql: + image: docker.io/bitnami/mysql:8.0 volumes: - - 'mariadb_data:/bitnami/mariadb' + - 'mysql_data:/bitnami/mysql' environment: # ALLOW_EMPTY_PASSWORD is recommended only for development. - ALLOW_EMPTY_PASSWORD=yes - - MARIADB_USER=bn_ghost - - MARIADB_DATABASE=bitnami_ghost + - MYSQL_USER=bn_ghost + - MYSQL_DATABASE=bitnami_ghost ghost: image: docker.io/bitnami/ghost:5 ports: @@ -16,16 +16,16 @@ services: volumes: - 'ghost_data:/bitnami/ghost' depends_on: - - mariadb + - mysql environment: # ALLOW_EMPTY_PASSWORD is recommended only for development. - ALLOW_EMPTY_PASSWORD=yes - - GHOST_DATABASE_HOST=mariadb + - GHOST_DATABASE_HOST=mysql - GHOST_DATABASE_PORT_NUMBER=3306 - GHOST_DATABASE_USER=bn_ghost - GHOST_DATABASE_NAME=bitnami_ghost volumes: - mariadb_data: + mysql_data: driver: local ghost_data: driver: local diff --git a/bitnami/ghost/5/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/ghost/5/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json index 87393f49dc18..49d8dbae7605 100644 --- a/bitnami/ghost/5/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/ghost/5/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json @@ -32,6 +32,6 @@ "digest": "79af9dcbaa89c4047d2d24b4a4c2ae17b771fe94972734379b9e50ef3dec3442", "distro": "debian-11", "type": "NAMI", - "version": "3.8.13-1" + "version": "3.8.13-2" } } \ No newline at end of file diff --git a/bitnami/ghost/5/debian-11/rootfs/opt/bitnami/scripts/ghost-env.sh b/bitnami/ghost/5/debian-11/rootfs/opt/bitnami/scripts/ghost-env.sh index 8e715309049b..673c71a04d93 100644 --- a/bitnami/ghost/5/debian-11/rootfs/opt/bitnami/scripts/ghost-env.sh +++ b/bitnami/ghost/5/debian-11/rootfs/opt/bitnami/scripts/ghost-env.sh @@ -52,11 +52,11 @@ ghost_env_vars=( SMTP_USER SMTP_PASSWORD SMTP_PROTOCOL - MARIADB_HOST - MARIADB_PORT_NUMBER - MARIADB_DATABASE_NAME - MARIADB_DATABASE_USER - MARIADB_DATABASE_PASSWORD + MYSQL_HOST + MYSQL_PORT_NUMBER + MYSQL_DATABASE_NAME + MYSQL_DATABASE_USER + MYSQL_DATABASE_PASSWORD ) for env_var in "${ghost_env_vars[@]}"; do file_env_var="${env_var}_FILE" @@ -117,16 +117,16 @@ GHOST_SMTP_PROTOCOL="${GHOST_SMTP_PROTOCOL:-"${SMTP_PROTOCOL:-}"}" export GHOST_SMTP_PROTOCOL="${GHOST_SMTP_PROTOCOL:-}" # only used during the first initialization # Database configuration -export GHOST_DEFAULT_DATABASE_HOST="mariadb" # only used at build time -GHOST_DATABASE_HOST="${GHOST_DATABASE_HOST:-"${MARIADB_HOST:-}"}" +export GHOST_DEFAULT_DATABASE_HOST="mysql" # only used at build time +GHOST_DATABASE_HOST="${GHOST_DATABASE_HOST:-"${MYSQL_HOST:-}"}" export GHOST_DATABASE_HOST="${GHOST_DATABASE_HOST:-$GHOST_DEFAULT_DATABASE_HOST}" # only used during the first initialization -GHOST_DATABASE_PORT_NUMBER="${GHOST_DATABASE_PORT_NUMBER:-"${MARIADB_PORT_NUMBER:-}"}" +GHOST_DATABASE_PORT_NUMBER="${GHOST_DATABASE_PORT_NUMBER:-"${MYSQL_PORT_NUMBER:-}"}" export GHOST_DATABASE_PORT_NUMBER="${GHOST_DATABASE_PORT_NUMBER:-3306}" # only used during the first initialization -GHOST_DATABASE_NAME="${GHOST_DATABASE_NAME:-"${MARIADB_DATABASE_NAME:-}"}" +GHOST_DATABASE_NAME="${GHOST_DATABASE_NAME:-"${MYSQL_DATABASE_NAME:-}"}" export GHOST_DATABASE_NAME="${GHOST_DATABASE_NAME:-bitnami_ghost}" # only used during the first initialization -GHOST_DATABASE_USER="${GHOST_DATABASE_USER:-"${MARIADB_DATABASE_USER:-}"}" +GHOST_DATABASE_USER="${GHOST_DATABASE_USER:-"${MYSQL_DATABASE_USER:-}"}" export GHOST_DATABASE_USER="${GHOST_DATABASE_USER:-bn_ghost}" # only used during the first initialization -GHOST_DATABASE_PASSWORD="${GHOST_DATABASE_PASSWORD:-"${MARIADB_DATABASE_PASSWORD:-}"}" +GHOST_DATABASE_PASSWORD="${GHOST_DATABASE_PASSWORD:-"${MYSQL_DATABASE_PASSWORD:-}"}" export GHOST_DATABASE_PASSWORD="${GHOST_DATABASE_PASSWORD:-}" # only used during the first initialization export GHOST_DATABASE_ENABLE_SSL="${GHOST_DATABASE_ENABLE_SSL:-no}" # only used during the first initialization export GHOST_DATABASE_SSL_CA_FILE="${GHOST_DATABASE_SSL_CA_FILE:-}" # only used during the first initialization diff --git a/bitnami/ghost/README.md b/bitnami/ghost/README.md index 2b83e0c6d301..62ad79b567e1 100644 --- a/bitnami/ghost/README.md +++ b/bitnami/ghost/README.md @@ -30,7 +30,7 @@ $ docker-compose up -d 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). -Bitnami containers can be used with [Kubeapps](https://kubeapps.com/) for deployment and management of Helm Charts in clusters. +Bitnami containers can be used with [Kubeapps](https://kubeapps.dev/) for deployment and management of Helm Charts in clusters. ## Why use a non-root container? @@ -41,7 +41,7 @@ Non-root container images add an extra layer of security and are generally recom 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/). -- [`5`, `5-debian-11`, `5.2.2`, `5.2.2-debian-11-r0`, `latest` (5/debian-11/Dockerfile)](https://github.com/bitnami/bitnami-docker-ghost/blob/5.2.2-debian-11-r0/5/debian-11/Dockerfile) +- [`5`, `5-debian-11`, `5.2.2`, `5.2.2-debian-11-r1`, `latest` (5/debian-11/Dockerfile)](https://github.com/bitnami/bitnami-docker-ghost/blob/5.2.2-debian-11-r1/5/debian-11/Dockerfile) - [`4`, `4-debian-11`, `4.48.1`, `4.48.1-debian-11-r0` (4/debian-11/Dockerfile)](https://github.com/bitnami/bitnami-docker-ghost/blob/4.48.1-debian-11-r0/4/debian-11/Dockerfile) Subscribe to project updates by watching the [bitnami/ghost GitHub repo](https://github.com/bitnami/bitnami-docker-ghost). @@ -68,7 +68,7 @@ $ docker build -t bitnami/ghost:latest 'https://github.com/bitnami/bitnami-docke ## How to use this image -Ghost requires access to a MySQL or MariaDB database to store information. We'll use the [Bitnami Docker Image for MariaDB](https://www.github.com/bitnami/bitnami-docker-mariadb) for the database requirements. +Ghost requires access to a MySQL or MariaDB database to store information. We'll use the [Bitnami Docker Image for MySQL](https://www.github.com/bitnami/bitnami-docker-mysql) for the database requirements. ### Run the application using Docker Compose @@ -89,18 +89,18 @@ If you want to run the application manually instead of using `docker-compose`, t $ docker network create ghost-network ``` -#### Step 2: Create a volume for MariaDB persistence and create a MariaDB container +#### Step 2: Create a volume for MySQL persistence and create a MySQL container ```console -$ docker volume create --name mariadb_data -$ docker run -d --name mariadb \ +$ docker volume create --name mysql_data +$ docker run -d --name mysql \ --env ALLOW_EMPTY_PASSWORD=yes \ - --env MARIADB_USER=bn_ghost \ - --env MARIADB_PASSWORD=bitnami \ - --env MARIADB_DATABASE=bitnami_ghost \ + --env MYSQL_USER=bn_ghost \ + --env MYSQL_PASSWORD=bitnami \ + --env MYSQL_DATABASE=bitnami_ghost \ --network ghost-network \ - --volume mariadb_data:/bitnami/mariadb \ - bitnami/mariadb:latest + --volume mysql_data:/bitnami/mysql \ + bitnami/mysql:latest ``` #### Step 3: Create volumes for Ghost persistence and launch the container @@ -124,9 +124,9 @@ Access your application at `http://your-ip/` 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/ghost` path. If the mounted directory is empty, it will be initialized on the first run. Additionally you should [mount a volume for persistence of the MariaDB data](https://github.com/bitnami/bitnami-docker-mariadb#persisting-your-database). +For persistence you should mount a directory at the `/bitnami/ghost` path. If the mounted directory is empty, it will be initialized on the first run. Additionally you should [mount a volume for persistence of the MySQL data](https://github.com/bitnami/bitnami-docker-mysql#persisting-your-database). -The above examples define the Docker volumes named `mariadb_data` and `ghost_data`. The Ghost application state will persist as long as volumes are not removed. +The above examples define the Docker volumes named `mysql_data` and `ghost_data`. The Ghost application state will persist as long as volumes are not removed. To avoid inadvertent removal of volumes, you can [mount host directories as data volumes](https://docs.docker.com/engine/tutorials/dockervolumes/). Alternatively you can make use of volume plugins to host the volume data. @@ -135,11 +135,11 @@ To avoid inadvertent removal of volumes, you can [mount host directories as data This requires a minor change to the [`docker-compose.yml`](https://github.com/bitnami/bitnami-docker-ghost/blob/master/docker-compose.yml) file present in this repository: ```diff - mariadb: + mysql: ... volumes: -- - 'mariadb_data:/bitnami/mariadb' -+ - /path/to/mariadb-persistence:/bitnami/mariadb +- - 'mysql_data:/bitnami/mysql' ++ - /path/to/mysql-persistence:/bitnami/mysql ... ghost: ... @@ -148,7 +148,7 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi + - /path/to/ghost-persistence:/bitnami/ghost ... -volumes: -- mariadb_data: +- mysql_data: - driver: local - ghost_data: - driver: local @@ -164,17 +164,17 @@ This requires a minor change to the [`docker-compose.yml`](https://github.com/bi $ docker network create ghost-network ``` -#### Step 2. Create a MariaDB container with host volume +#### Step 2. Create a MySQL container with host volume ```console -$ docker run -d --name mariadb \ +$ docker run -d --name mysql \ --env ALLOW_EMPTY_PASSWORD=yes \ - --env MARIADB_USER=bn_ghost \ - --env MARIADB_PASSWORD=bitnami \ - --env MARIADB_DATABASE=bitnami_ghost \ + --env MYSQL_USER=bn_ghost \ + --env MYSQL_PASSWORD=bitnami \ + --env MYSQL_DATABASE=bitnami_ghost \ --network ghost-network \ - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ - bitnami/mariadb:latest + --volume /path/to/mysql-persistence:/bitnami/mysql \ + bitnami/mysql:latest ``` #### Step 3. Create the Ghost container with host volumes @@ -234,7 +234,7 @@ Available environment variables: ##### Database connection configuration -- `GHOST_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** +- `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** - `GHOST_DATABASE_NAME`: Database name that Ghost will use to connect with the database. Default: **bitnami_ghost** - `GHOST_DATABASE_USER`: Database user that Ghost will use to connect with the database. Default: **bn_ghost** @@ -245,7 +245,7 @@ Available environment variables: ##### Create a database for Ghost using mysql-client -- `MYSQL_CLIENT_DATABASE_HOST`: Hostname for the MariaDB or MySQL server. Default: **mariadb** +- `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** - `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** - `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No default. @@ -317,8 +317,8 @@ The Bitnami Ghost container supports connecting the Ghost application to an exte ghost: ... environment: - - - GHOST_DATABASE_HOST=mariadb - + - GHOST_DATABASE_HOST=mariadb_host + - - GHOST_DATABASE_HOST=mysql + + - GHOST_DATABASE_HOST=mysql_host - GHOST_DATABASE_PORT_NUMBER=3306 - GHOST_DATABASE_NAME=ghost_db - GHOST_DATABASE_USER=ghost_user @@ -333,7 +333,7 @@ The Bitnami Ghost container supports connecting the Ghost application to an exte $ docker run -d --name ghost\ -p 8080:8080 -p 8443:8443 \ --network ghost-network \ - --env GHOST_DATABASE_HOST=mariadb_host \ + --env GHOST_DATABASE_HOST=mysql_host \ --env GHOST_DATABASE_PORT_NUMBER=3306 \ --env GHOST_DATABASE_NAME=ghost_db \ --env GHOST_DATABASE_USER=ghost_user \ @@ -391,14 +391,14 @@ $ docker run --rm -v /path/to/ghost-backups:/backups --volumes-from ghost busybo Restoring a backup is as simple as mounting the backup as volumes in the containers. -For the MariaDB database container: +For the MySQL database container: ```diff - $ docker run -d --name mariadb \ + $ docker run -d --name mysql \ ... -- --volume /path/to/mariadb-persistence:/bitnami/mariadb \ -+ --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ - bitnami/mariadb:latest +- --volume /path/to/mysql-persistence:/bitnami/mysql \ ++ --volume /path/to/mysql-backups/latest:/bitnami/mysql \ + bitnami/mysql:latest ``` For the Ghost container: @@ -413,7 +413,7 @@ For the Ghost container: ### Upgrade this image -Bitnami provides up-to-date versions of MariaDB 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 MariaDB upgrade see: https://github.com/bitnami/bitnami-docker-mariadb/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: https://github.com/bitnami/bitnami-docker-mysql/blob/master/README.md#upgrade-this-image 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/).