mirror of
https://github.com/bitnami/containers.git
synced 2026-03-29 16:27:49 +08:00
[bitnami/ghost] Release 6.19.2-debian-12-r0 (#91021)
Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
@@ -7,13 +7,13 @@ ARG DOWNLOADS_URL="downloads.bitnami.com/files/stacksmith"
|
||||
ARG TARGETARCH
|
||||
|
||||
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
|
||||
org.opencontainers.image.created="2026-02-19T01:29:40Z" \
|
||||
org.opencontainers.image.created="2026-02-20T17:46:55Z" \
|
||||
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
|
||||
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/ghost/README.md" \
|
||||
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/ghost" \
|
||||
org.opencontainers.image.title="ghost" \
|
||||
org.opencontainers.image.vendor="Broadcom, Inc." \
|
||||
org.opencontainers.image.version="6.19.1"
|
||||
org.opencontainers.image.version="6.19.2"
|
||||
|
||||
ENV HOME="/" \
|
||||
OS_ARCH="${TARGETARCH:-amd64}" \
|
||||
@@ -29,10 +29,10 @@ RUN --mount=type=secret,id=downloads_url,env=SECRET_DOWNLOADS_URL \
|
||||
mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ || exit 1 ; \
|
||||
COMPONENTS=( \
|
||||
"nss-wrapper-1.1.16-0-linux-${OS_ARCH}-debian-12" \
|
||||
"python-3.12.12-16-linux-${OS_ARCH}-debian-12" \
|
||||
"python-3.12.12-17-linux-${OS_ARCH}-debian-12" \
|
||||
"node-22.22.0-1-linux-${OS_ARCH}-debian-12" \
|
||||
"mysql-client-12.2.2-0-linux-${OS_ARCH}-debian-12" \
|
||||
"ghost-6.19.1-0-linux-${OS_ARCH}-debian-12" \
|
||||
"ghost-6.19.2-0-linux-${OS_ARCH}-debian-12" \
|
||||
) ; \
|
||||
for COMPONENT in "${COMPONENTS[@]}"; do \
|
||||
if [ ! -f "${COMPONENT}.tar.gz" ]; then \
|
||||
@@ -51,9 +51,9 @@ RUN find / -perm /6000 -type f -exec chmod a-s {} \; || true
|
||||
COPY rootfs /
|
||||
RUN /opt/bitnami/scripts/ghost/postunpack.sh
|
||||
RUN /opt/bitnami/scripts/mysql-client/postunpack.sh
|
||||
ENV APP_VERSION="6.19.1" \
|
||||
ENV APP_VERSION="6.19.2" \
|
||||
BITNAMI_APP_NAME="ghost" \
|
||||
IMAGE_REVISION="1" \
|
||||
IMAGE_REVISION="0" \
|
||||
PATH="/opt/bitnami/common/bin:/opt/bitnami/python/bin:/opt/bitnami/node/bin:/opt/bitnami/mysql/bin:/opt/bitnami/ghost/bin:$PATH"
|
||||
|
||||
EXPOSE 2368 3000
|
||||
|
||||
@@ -71,56 +71,10 @@ 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.
|
||||
|
||||
### Using the Docker Command Line
|
||||
|
||||
#### Step 1: Create a network
|
||||
|
||||
```console
|
||||
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 \
|
||||
--env ALLOW_EMPTY_PASSWORD=yes \
|
||||
--env MYSQL_USER=bn_ghost \
|
||||
--env MYSQL_PASSWORD=bitnami \
|
||||
--env MYSQL_DATABASE=bitnami_ghost \
|
||||
--network ghost-network \
|
||||
--volume mysql_data:/bitnami/mysql \
|
||||
bitnami/mysql:latest
|
||||
```
|
||||
|
||||
#### Step 3: Create volumes for Ghost persistence and launch the container
|
||||
|
||||
```console
|
||||
$ 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 \
|
||||
--env GHOST_DATABASE_PASSWORD=bitnami \
|
||||
--env GHOST_DATABASE_NAME=bitnami_ghost \
|
||||
--network ghost-network \
|
||||
--volume ghost_data:/bitnami/ghost \
|
||||
bitnami/ghost:latest
|
||||
```
|
||||
|
||||
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.
|
||||
@@ -131,67 +85,8 @@ The above examples define the Docker volumes named `mysql_data` and `ghost_data`
|
||||
|
||||
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.
|
||||
|
||||
### Mount host directories as data volumes with Docker Compose
|
||||
|
||||
This requires a minor change to the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/ghost/docker-compose.yml) file present in this repository:
|
||||
|
||||
```diff
|
||||
mysql:
|
||||
...
|
||||
volumes:
|
||||
- - mysql_data:/bitnami/mysql
|
||||
+ - /path/to/mysql-persistence:/bitnami/mysql
|
||||
...
|
||||
ghost:
|
||||
...
|
||||
volumes:
|
||||
- - ghost_data:/bitnami/ghost
|
||||
+ - /path/to/ghost-persistence:/bitnami/ghost
|
||||
...
|
||||
-volumes:
|
||||
- mysql_data:
|
||||
- driver: local
|
||||
- ghost_data:
|
||||
- driver: local
|
||||
```
|
||||
|
||||
> NOTE: As this is a non-root container, the mounted files and directories must have the proper permissions for the UID `1001`.
|
||||
|
||||
### Mount host directories as data volumes using the Docker command line
|
||||
|
||||
#### Step 1: Create a network (if it does not exist)
|
||||
|
||||
```console
|
||||
docker network create ghost-network
|
||||
```
|
||||
|
||||
#### Step 2. Create a MySQL container with host volume
|
||||
|
||||
```console
|
||||
docker run -d --name mysql \
|
||||
--env ALLOW_EMPTY_PASSWORD=yes \
|
||||
--env MYSQL_USER=bn_ghost \
|
||||
--env MYSQL_PASSWORD=bitnami \
|
||||
--env MYSQL_DATABASE=bitnami_ghost \
|
||||
--network ghost-network \
|
||||
--volume /path/to/mysql-persistence:/bitnami/mysql \
|
||||
bitnami/mysql:latest
|
||||
```
|
||||
|
||||
#### Step 3. Create the Ghost container with host volumes
|
||||
|
||||
```console
|
||||
docker run -d --name ghost \
|
||||
-p 8080:8080 -p 8443:8443 \
|
||||
--env ALLOW_EMPTY_PASSWORD=yes \
|
||||
--env GHOST_DATABASE_USER=bn_ghost \
|
||||
--env GHOST_DATABASE_PASSWORD=bitnami \
|
||||
--env GHOST_DATABASE_NAME=bitnami_ghost \
|
||||
--network ghost-network \
|
||||
--volume /path/to/ghost-persistence:/bitnami/ghost \
|
||||
bitnami/ghost:latest
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment variables
|
||||
@@ -240,103 +135,17 @@ docker run -d --name ghost \
|
||||
| `GHOST_DEFAULT_PORT_NUMBER` | Default Ghost port number to enable at build time. | `2368` |
|
||||
| `GHOST_DEFAULT_DATABASE_HOST` | Default database server host. | `mysql` |
|
||||
|
||||
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:
|
||||
|
||||
```yaml
|
||||
ghost:
|
||||
...
|
||||
environment:
|
||||
- GHOST_PASSWORD=my_password
|
||||
...
|
||||
```
|
||||
|
||||
- For manual execution add a `--env` option with each variable and value:
|
||||
|
||||
```console
|
||||
$ 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 \
|
||||
bitnami/ghost:latest
|
||||
```
|
||||
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.
|
||||
|
||||
#### Examples
|
||||
|
||||
##### SMTP configuration using a Gmail account
|
||||
##### SMTP configuration
|
||||
|
||||
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:
|
||||
|
||||
```yaml
|
||||
ghost:
|
||||
...
|
||||
environment:
|
||||
- GHOST_DATABASE_USER=bn_ghost
|
||||
- GHOST_DATABASE_NAME=bitnami_ghost
|
||||
- ALLOW_EMPTY_PASSWORD=yes
|
||||
- GHOST_SMTP_HOST=smtp.gmail.com
|
||||
- GHOST_SMTP_PORT=587
|
||||
- GHOST_SMTP_USER=your_email@gmail.com
|
||||
- GHOST_SMTP_PASSWORD=your_password
|
||||
- GHOST_SMTP_FROM_ADDRESS=ghost@blog.com
|
||||
...
|
||||
```
|
||||
|
||||
- For manual execution:
|
||||
|
||||
```console
|
||||
$ 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 \
|
||||
--env GHOST_SMTP_PORT=587 \
|
||||
--env GHOST_SMTP_USER=your_email@gmail.com \
|
||||
--env GHOST_SMTP_PASSWORD=your_password \
|
||||
--env GHOST_SMTP_FROM_ADDRESS=ghost@blog.com \
|
||||
--network ghost-tier \
|
||||
--volume /path/to/ghost-persistence:/bitnami \
|
||||
bitnami/ghost:latest
|
||||
```
|
||||
The `GHOST_SMTP_*` environment variables allows you configure the SMTP settings in the application. Please take a look at the environment variables information above for more information.
|
||||
|
||||
##### Connect Ghost container to an existing database
|
||||
|
||||
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:
|
||||
|
||||
```diff
|
||||
ghost:
|
||||
...
|
||||
environment:
|
||||
- - GHOST_DATABASE_HOST=mysql
|
||||
+ - GHOST_DATABASE_HOST=mysql_host
|
||||
- GHOST_DATABASE_PORT_NUMBER=3306
|
||||
- GHOST_DATABASE_NAME=ghost_db
|
||||
- GHOST_DATABASE_USER=ghost_user
|
||||
- - ALLOW_EMPTY_PASSWORD=yes
|
||||
+ - GHOST_DATABASE_PASSWORD=ghost_password
|
||||
...
|
||||
```
|
||||
|
||||
- For manual execution:
|
||||
|
||||
```console
|
||||
$ docker run -d --name ghost\
|
||||
-p 8080:8080 -p 8443:8443 \
|
||||
--network ghost-network \
|
||||
--env GHOST_DATABASE_HOST=mysql_host \
|
||||
--env GHOST_DATABASE_PORT_NUMBER=3306 \
|
||||
--env GHOST_DATABASE_NAME=ghost_db \
|
||||
--env GHOST_DATABASE_USER=ghost_user \
|
||||
--env GHOST_DATABASE_PASSWORD=ghost_password \
|
||||
--volume ghost_data:/bitnami/ghost \
|
||||
bitnami/ghost:latest
|
||||
```
|
||||
|
||||
In case the database already contains data from a previous Ghost installation, you need to set the variable `GHOST_SKIP_BOOTSTRAP` to `yes`. Otherwise, the container would execute the installation wizard and could modify the existing data in the database. Note that, when setting `GHOST_SKIP_BOOTSTRAP` to `yes`, values for environment variables such as `GHOST_USERNAME`, `GHOST_PASSWORD` or `GHOST_EMAIL` will be ignored.
|
||||
The Bitnami Ghost container supports connecting the Ghost application to an external database. In case the database already contains data from a previous Ghost installation, you need to set the variable `GHOST_SKIP_BOOTSTRAP` to `yes`. Otherwise, the container would execute the installation wizard and could modify the existing data in the database. Note that, when setting `GHOST_SKIP_BOOTSTRAP` to `yes`, values for environment variables such as `GHOST_USERNAME`, `GHOST_PASSWORD` or `GHOST_EMAIL` will be ignored.
|
||||
|
||||
### FIPS configuration in Bitnami Secure Images
|
||||
|
||||
@@ -411,46 +220,6 @@ For the Ghost container:
|
||||
bitnami/ghost:latest
|
||||
```
|
||||
|
||||
### 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/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/).
|
||||
|
||||
#### Step 1: Get the updated image
|
||||
|
||||
```console
|
||||
docker pull bitnami/ghost:latest
|
||||
```
|
||||
|
||||
#### Step 2: Stop the running container
|
||||
|
||||
Stop the currently running container using the command
|
||||
|
||||
```console
|
||||
docker-compose stop ghost
|
||||
```
|
||||
|
||||
#### Step 3: Take a snapshot of the application state
|
||||
|
||||
Follow the steps in [Backing up your container](#backing-up-your-container) to take a snapshot of the current application state.
|
||||
|
||||
#### Step 4: Remove the currently running container
|
||||
|
||||
Remove the currently running container by executing the following command:
|
||||
|
||||
```console
|
||||
docker-compose rm -v ghost
|
||||
```
|
||||
|
||||
#### Step 5: Run the new image
|
||||
|
||||
Update the image tag in `docker-compose.yml` and re-create your container with the new image:
|
||||
|
||||
```console
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Customize this image
|
||||
|
||||
The Bitnami Ghost Docker image is designed to be extended so it can be used as the base image for your custom web applications.
|
||||
|
||||
Reference in New Issue
Block a user