From e69920368b12a5052ecea3f159a941e211259b60 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Wed, 17 Jan 2024 15:46:42 +0100 Subject: [PATCH] [bitnami/ghost] Release 5.76.0-debian-11-r0 (#54840) Signed-off-by: Bitnami Containers --- bitnami/ghost/5/debian-11/Dockerfile | 10 +- .../opt/bitnami/.bitnami_components.json | 2 +- bitnami/ghost/5/debian-11/tags-info.yaml | 2 +- bitnami/ghost/README.md | 134 ++++++++---------- 4 files changed, 66 insertions(+), 82 deletions(-) diff --git a/bitnami/ghost/5/debian-11/Dockerfile b/bitnami/ghost/5/debian-11/Dockerfile index 9a29e19a2824..3693b77a14ff 100644 --- a/bitnami/ghost/5/debian-11/Dockerfile +++ b/bitnami/ghost/5/debian-11/Dockerfile @@ -7,13 +7,13 @@ ARG TARGETARCH LABEL com.vmware.cp.artifact.flavor="sha256:1e1b4657a77f0d47e9220f0c37b9bf7802581b93214fff7d1bd2364c8bf22e8e" \ org.opencontainers.image.base.name="docker.io/bitnami/minideb:bullseye" \ - org.opencontainers.image.created="2024-01-05T16:15:46Z" \ + org.opencontainers.image.created="2024-01-17T13:24:43Z" \ org.opencontainers.image.description="Application packaged by VMware, Inc" \ org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.ref.name="5.75.3-debian-11-r0" \ + org.opencontainers.image.ref.name="5.76.0-debian-11-r0" \ org.opencontainers.image.title="ghost" \ org.opencontainers.image.vendor="VMware, Inc." \ - org.opencontainers.image.version="5.75.3" + org.opencontainers.image.version="5.76.0" ENV HOME="/" \ OS_ARCH="${TARGETARCH:-amd64}" \ @@ -29,7 +29,7 @@ RUN mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ ; \ "python-3.11.7-2-linux-${OS_ARCH}-debian-11" \ "node-18.19.0-0-linux-${OS_ARCH}-debian-11" \ "mysql-client-10.11.6-1-linux-${OS_ARCH}-debian-11" \ - "ghost-5.75.3-0-linux-${OS_ARCH}-debian-11" \ + "ghost-5.76.0-0-linux-${OS_ARCH}-debian-11" \ ) ; \ for COMPONENT in "${COMPONENTS[@]}"; do \ if [ ! -f "${COMPONENT}.tar.gz" ]; then \ @@ -47,7 +47,7 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/ghost/postunpack.sh RUN /opt/bitnami/scripts/mysql-client/postunpack.sh -ENV APP_VERSION="5.75.3" \ +ENV APP_VERSION="5.76.0" \ BITNAMI_APP_NAME="ghost" \ PATH="/opt/bitnami/python/bin:/opt/bitnami/node/bin:/opt/bitnami/mysql/bin:/opt/bitnami/ghost/bin:$PATH" 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 ee61aea15c00..24106c5017b1 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 @@ -3,7 +3,7 @@ "arch": "amd64", "distro": "debian-11", "type": "NAMI", - "version": "5.75.3-0" + "version": "5.76.0-0" }, "mysql-client": { "arch": "amd64", diff --git a/bitnami/ghost/5/debian-11/tags-info.yaml b/bitnami/ghost/5/debian-11/tags-info.yaml index b1ab1af7578f..091efed20da3 100644 --- a/bitnami/ghost/5/debian-11/tags-info.yaml +++ b/bitnami/ghost/5/debian-11/tags-info.yaml @@ -1,5 +1,5 @@ rolling-tags: - "5" - 5-debian-11 -- 5.75.3 +- 5.76.0 - latest diff --git a/bitnami/ghost/README.md b/bitnami/ghost/README.md index f9f70068c9c7..ae2e615764e5 100644 --- a/bitnami/ghost/README.md +++ b/bitnami/ghost/README.md @@ -10,11 +10,11 @@ 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 +docker run --name ghost bitnami/ghost:latest ``` -**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. +**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 d +eployment. ## Why use Bitnami Images? @@ -71,19 +71,8 @@ docker build -t bitnami/APP:latest . Ghost requires access to a MySQL or MariaDB database to store information. We'll use the [Bitnami Docker Image for MySQL](https://github.com/bitnami/containers/tree/main/bitnami/mysql) 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/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 -``` - ### Using the Docker Command Line -If you want to run the application manually instead of using `docker-compose`, these are the basic steps you need to run: - #### Step 1: Create a network ```console @@ -121,6 +110,17 @@ docker run -d --name ghost \ Access your application at `http://your-ip/` +### Run the application using Docker Compose + +```console +curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/ghost/docker-compose.yml > docker-compose.yml +docker-compose up -d +``` + +Please be aware this file has not undergone internal testing. Consequently, we advise its use exclusively for development or testing purposes. For production-ready deployments, we highly recommend utilizing its associated [Bitnami Helm chart](https://github.com/bitnami/charts/tree/main/bitnami/ghost). + +If you detect any issue in the `docker-compose.yaml` file, feel free to report it or contribute with a fix by following our [Contributing Guidelines](https://github.com/bitnami/containers/blob/main/CONTRIBUTING.md). + ## Persisting your application If you remove the container all your data will be lost, and the next time you run the image the database will be reinitialized. To avoid this loss of data, you should mount a volume that will persist even after the container is removed. @@ -196,9 +196,44 @@ docker run -d --name ghost \ ### Environment variables +#### Customizable environment variables + +| Name | Description | Default Value | +|------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|----------------------------------| +| `GHOST_DATA_TO_PERSIST` | Files to persist relative to the Ghost installation directory. To provide multiple values, separate them with a whitespace. | `content config.production.json` | +| `GHOST_ENABLE_HTTPS` | Whether to enable HTTPS for Ghost by default. | `no` | +| `GHOST_EXTERNAL_HTTP_PORT_NUMBER` | External HTTP port for Ghost. | `80` | +| `GHOST_EXTERNAL_HTTPS_PORT_NUMBER` | External HTTPS port for Ghost. | `443` | +| `GHOST_HOST` | Ghost host name. | `localhost` | +| `GHOST_BLOG_TITLE` | Ghost blog title. | `"User's blog"` | +| `GHOST_USERNAME` | Ghost user name. | `user` | +| `GHOST_PASSWORD` | Ghost user password. | `bitnami123` | +| `GHOST_EMAIL` | Ghost user e-mail address. | `user@example.com` | +| `GHOST_DATABASE_HOST` | Database server host. | `$GHOST_DEFAULT_DATABASE_HOST` | +| `GHOST_DATABASE_PORT_NUMBER` | Database server port. | `3306` | +| `GHOST_DATABASE_NAME` | Database name. | `bitnami_ghost` | +| `GHOST_DATABASE_USER` | Database user name. | `bn_ghost` | +| `GHOST_DATABASE_ENABLE_SSL` | Whether to enable SSL for database connection | `no` | + +#### Read-only environment variables + +| Name | Description | Value | +|-------------------------------|----------------------------------------------------|--------------------------------------------| +| `GHOST_BASE_DIR` | Ghost installation directory. | `${BITNAMI_ROOT_DIR}/ghost` | +| `GHOST_BIN_DIR` | Ghost bin directory. | `${GHOST_BASE_DIR}/bin` | +| `GHOST_LOG_FILE` | Ghost log file. | `${GHOST_BASE_DIR}/content/logs/ghost.log` | +| `GHOST_CONF_FILE` | Configuration file for Ghost. | `${GHOST_BASE_DIR}/config.production.json` | +| `GHOST_PID_FILE` | Path to the Ghost PID file. | `${GHOST_BASE_DIR}/.ghostpid` | +| `GHOST_VOLUME_DIR` | Ghost directory for mounted configuration files. | `${BITNAMI_VOLUME_DIR}/ghost` | +| `GHOST_DAEMON_USER` | Ghost system user. | `ghost` | +| `GHOST_DAEMON_GROUP` | Ghost system group. | `ghost` | +| `GHOST_DEFAULT_PORT_NUMBER` | Default Ghost port number to enable at build time. | `2368` | +| `GHOST_DEFAULT_DATABASE_HOST` | Default database server host. | `mysql` | +| `GHOST_DEFAULT_DATABASE_HOST` | Default database server host. | `127.0.0.1` | + When you start the Ghost 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/ghost/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/ghost/docker-compose.yml) file present in this repository: ```yaml ghost: @@ -208,7 +243,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: +* For manual execution add a `--env` option with each variable and value: ```console $ docker run -d --name ghost -p 80:8080 -p 443:8443 \ @@ -218,64 +253,13 @@ When you start the Ghost image, you can adjust the configuration of the instance bitnami/ghost:latest ``` -Available environment variables: - -#### User and Site configuration - -- `GHOST_USERNAME`: Ghost application username. Default: **user** -- `GHOST_PASSWORD`: Ghost application password. Default: **bitnami123** -- `GHOST_EMAIL`: Ghost application email. Default: **user@example.com** -- `GHOST_BLOG_TITLE`: Ghost blog name. Default: **User's blog** -- `GHOST_HOST`: Hostname used by Ghost to form URLs. Default: **localhost** -- `GHOST_PORT_NUMBER`: Port used by Ghost to listen for connections. Default: **2368** -- `GHOST_ENABLE_HTTPS`: Enable serving Ghost through HTTPS instead of HTTP. Default: **no** -- `GHOST_EXTERNAL_HTTP_PORT_NUMBER`: Port to used by Ghost to generate URLs and links when accessing using HTTP. Default: **80** -- `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 - -- `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** -- `GHOST_DATABASE_PASSWORD`: Database password that Ghost will use to connect with the database. No default. -- `GHOST_DATABASE_ENABLE_SSL`: It can be used to enable database SSL configuration. Default: **no** -- `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 - -- `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. -- `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No default. -- `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No default. -- `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No default. -- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No default. -- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No default. -- `MYSQL_CLIENT_ENABLE_SSL`: Whether to enable SSL connections for the new database. Default: **no** -- `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 - -To configure Ghost to send email using SMTP you can set the following environment variables: - -- `GHOST_SMTP_HOST`: SMTP host. No default. -- `GHOST_SMTP_PORT`: SMTP port. No default. -- `GHOST_SMTP_USER`: SMTP account user. No default. -- `GHOST_SMTP_PASSWORD`: SMTP account password. No default. -- `GHOST_SMTP_PROTOCOL`: SMTP protocol to use. Allowed values: *tls*, *ssl*. No default. - #### Examples ##### SMTP configuration using a Gmail account 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/ghost/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/ghost/docker-compose.yml) file present in this repository: ```yaml ghost: @@ -292,7 +276,7 @@ This would be an example of SMTP configuration using a Gmail account: ... ``` -- For manual execution: +* For manual execution: ```console $ docker run -d --name ghost -p 80:8080 -p 443:8443 \ @@ -312,7 +296,7 @@ This would be an example of SMTP configuration using a Gmail account: The Bitnami Ghost container supports connecting the Ghost application to an external database. This would be an example of using an external database for Ghost. -- Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/ghost/docker-compose.yml) file present in this repository: +* Modify the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/ghost/docker-compose.yml) file present in this repository: ```diff ghost: @@ -328,7 +312,7 @@ The Bitnami Ghost container supports connecting the Ghost application to an exte ... ``` -- For manual execution: +* For manual execution: ```console $ docker run -d --name ghost\ @@ -516,13 +500,13 @@ Finally, build the container and set the required environment variables to confi ### 3.42.5-debian-10-r67 and 4.8.4-debian-10-r7 -- The size of the container image has been decreased. -- The configuration logic is now based on Bash scripts in the *rootfs/* folder. -- It is now possible to import existing Ghost databases from other installations. In order to do this, use the environment variable `GHOST_SKIP_BOOTSTRAP`, which forces the container not to run the initial Ghost setup wizard. +* The size of the container image has been decreased. +* The configuration logic is now based on Bash scripts in the *rootfs/* folder. +* It is now possible to import existing Ghost databases from other installations. In order to do this, use the environment variable `GHOST_SKIP_BOOTSTRAP`, which forces the container not to run the initial Ghost setup wizard. ### 0.11.10-r2 -- The ghost container has been migrated to a non-root container approach. Previously the container run as `root` user and the ghost daemon was started as `ghost` user. From now own, both the container and the ghost daemon run as user `1001`. As a consequence, the configuration files are writable by the user running the ghost process. +* The ghost container has been migrated to a non-root container approach. Previously the container run as `root` user and the ghost daemon was started as `ghost` user. From now own, both the container and the ghost daemon run as user `1001`. As a consequence, the configuration files are writable by the user running the ghost process. ## Contributing