Przeglądaj źródła

Merge pull request #2177 from infosiftr/ghost-sqlite

Adjust ghost docs to use "development" mode to use sqlite
Tianon Gravi 3 lat temu
rodzic
commit
6ae508e800
2 zmienionych plików z 12 dodań i 13 usunięć
  1. 12 10
      ghost/content.md
  2. 0 3
      ghost/stack.yml

+ 12 - 10
ghost/content.md

@@ -8,10 +8,10 @@ Ghost is a free and open source blogging platform written in JavaScript and dist
 
 
 # How to use this image
 # How to use this image
 
 
-This will start a Ghost instance listening on the default Ghost port of 2368.
+This will start a Ghost development instance listening on the default Ghost port of 2368.
 
 
 ```console
 ```console
-$ docker run -d --name some-ghost %%IMAGE%%
+$ docker run -d --name some-ghost -e NODE_ENV=development %%IMAGE%%
 ```
 ```
 
 
 ## Custom port
 ## Custom port
@@ -19,7 +19,7 @@ $ docker run -d --name some-ghost %%IMAGE%%
 If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used:
 If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used:
 
 
 ```console
 ```console
-$ docker run -d --name some-ghost -e url=http://localhost:3001 -p 3001:2368 %%IMAGE%%
+$ docker run -d --name some-ghost -e NODE_ENV=development -e url=http://localhost:3001 -p 3001:2368 %%IMAGE%%
 ```
 ```
 
 
 If all goes well, you'll be able to access your new site on `http://localhost:3001` and `http://localhost:3001/ghost` to access Ghost Admin (or `http://host-ip:3001` and `http://host-ip:3001/ghost`, respectively).
 If all goes well, you'll be able to access your new site on `http://localhost:3001` and `http://localhost:3001/ghost` to access Ghost Admin (or `http://host-ip:3001` and `http://host-ip:3001/ghost`, respectively).
@@ -35,7 +35,7 @@ For upgrading your Ghost container you will want to mount your data to the appro
 Mount your existing content. In this example we also use the Alpine base image.
 Mount your existing content. In this example we also use the Alpine base image.
 
 
 ```console
 ```console
-$ docker run -d --name some-ghost -p 3001:2368 -v /path/to/ghost/blog:/var/lib/ghost/content %%IMAGE%%:alpine
+$ docker run -d --name some-ghost -e NODE_ENV=development -p 3001:2368 -v /path/to/ghost/blog:/var/lib/ghost/content %%IMAGE%%:alpine
 ```
 ```
 
 
 ### Docker Volume
 ### Docker Volume
@@ -43,19 +43,15 @@ $ docker run -d --name some-ghost -p 3001:2368 -v /path/to/ghost/blog:/var/lib/g
 Alternatively you can use a named [docker volume](https://docs.docker.com/storage/volumes/) instead of a direct host path for `/var/lib/ghost/content`:
 Alternatively you can use a named [docker volume](https://docs.docker.com/storage/volumes/) instead of a direct host path for `/var/lib/ghost/content`:
 
 
 ```console
 ```console
-$ docker run -d --name some-ghost -v some-ghost-data:/var/lib/ghost/content %%IMAGE%%
+$ docker run -d --name some-ghost -e NODE_ENV=development -v some-ghost-data:/var/lib/ghost/content %%IMAGE%%
 ```
 ```
 
 
-### SQLite Database
-
-This Docker image for Ghost uses SQLite. There is nothing special to configure.
-
 ## Configuration
 ## Configuration
 
 
 All Ghost configuration parameters (such as `url`) can be specified via environment variables. See [the Ghost documentation](https://ghost.org/docs/concepts/config/#running-ghost-with-config-env-variables) for details about what configuration is allowed and how to convert a nested configuration key into the appropriate environment variable name:
 All Ghost configuration parameters (such as `url`) can be specified via environment variables. See [the Ghost documentation](https://ghost.org/docs/concepts/config/#running-ghost-with-config-env-variables) for details about what configuration is allowed and how to convert a nested configuration key into the appropriate environment variable name:
 
 
 ```console
 ```console
-$ docker run -d --name some-ghost -e url=http://some-ghost.example.com %%IMAGE%%
+$ docker run -d --name some-ghost -e NODE_ENV=development -e url=http://some-ghost.example.com %%IMAGE%%
 ```
 ```
 
 
 (There are further configuration examples in the `stack.yml` listed below.)
 (There are further configuration examples in the `stack.yml` listed below.)
@@ -73,6 +69,12 @@ $ docker exec <container-id> node --version
 
 
 While the Docker images do have Ghost-CLI available and do use some of its commands to set up the base Ghost image, many of the other Ghost-CLI commands won't work correctly, and really aren't designed/intended to. For more info see [docker-library/ghost#156 (comment)](https://github.com/docker-library/ghost/issues/156#issuecomment-428159861)
 While the Docker images do have Ghost-CLI available and do use some of its commands to set up the base Ghost image, many of the other Ghost-CLI commands won't work correctly, and really aren't designed/intended to. For more info see [docker-library/ghost#156 (comment)](https://github.com/docker-library/ghost/issues/156#issuecomment-428159861)
 
 
+## Production mode
+
+To run Ghost for production you'll also need to be running with MySQL 8, https, and a reverse proxy configured with appropriate `X-Forwarded-For`, `X-Forwared-Host`, and `X-Forwarded-Proto` (`https`) headers.
+
+The following example demonstrates some of the necessary configuration for running with MySQL. For more detail, see [Ghost's "Configuration options" documentation](https://ghost.org/docs/config/#configuration-options).
+
 ## %%STACK%%
 ## %%STACK%%
 
 
 Run `docker stack deploy -c stack.yml %%REPO%%` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://swarm-ip:8080`, `http://localhost:8080`, or `http://host-ip:8080` (as appropriate).
 Run `docker stack deploy -c stack.yml %%REPO%%` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://swarm-ip:8080`, `http://localhost:8080`, or `http://host-ip:8080` (as appropriate).

+ 0 - 3
ghost/stack.yml

@@ -1,6 +1,3 @@
-# by default, the Ghost image will use SQLite (and thus requires no separate database container)
-# we have used MySQL here merely for demonstration purposes (especially environment-variable-based configuration)
-
 version: '3.1'
 version: '3.1'
 
 
 services:
 services: