Bladeren bron

Merge pull request #1018 from infosiftr/ghost-stack

Add initial ghost/stack.yml which demonstrates environment-variable-based configuration
yosifkit 8 jaren geleden
bovenliggende
commit
5091a86bc0
2 gewijzigde bestanden met toevoegingen van 32 en 5 verwijderingen
  1. 9 5
      ghost/content.md
  2. 23 0
      ghost/stack.yml

+ 9 - 5
ghost/content.md

@@ -14,7 +14,7 @@ This will start a Ghost instance listening on the default Ghost port of 2368.
 $ docker run -d --name some-ghost ghost
 ```
 
-### Custom port
+## Custom port
 
 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:
 
@@ -24,7 +24,7 @@ $ docker run -d --name some-ghost -p 3001:2368 ghost
 
 Then, access it via `http://localhost:3001` or `http://host-ip:3001` in a browser.
 
-# Stateful
+## Stateful
 
 Mount your existing content. In this example we also use the Alpine base image.
 
@@ -47,11 +47,11 @@ If you want to run Ghost 0.11.xx, be aware of the container's path difference:
 -	Ghost 1.x.x is: `/var/lib/ghost/content`
 -	Ghost 0.11.x is: `/var/lib/ghost`
 
-# SQLite Database
+### SQLite Database
 
 This Docker image for Ghost uses SQLite. There is nothing special to configure.
 
-# Docker Volume
+### Docker Volume
 
 Alternatively you can use a [data container](http://docs.docker.com/engine/tutorials/dockervolumes/) that has a volume that points to `/var/lib/ghost/content` (or /var/lib/ghost for 0.11.x) and then reference it:
 
@@ -59,7 +59,7 @@ Alternatively you can use a [data container](http://docs.docker.com/engine/tutor
 $ docker run -d --name some-ghost --volumes-from some-ghost-data ghost
 ```
 
-# What is the Node.js version?
+## What is the Node.js version?
 
 When opening a ticket at https://github.com/TryGhost/Ghost/issues it becomes necessary to know the version of Node.js in use:
 
@@ -67,3 +67,7 @@ When opening a ticket at https://github.com/TryGhost/Ghost/issues it becomes nec
 $ docker exec <container-id> node --version
 v6.11.2
 ```
+
+## %%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).

+ 23 - 0
ghost/stack.yml

@@ -0,0 +1,23 @@
+# 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'
+
+services:
+
+  ghost:
+    image: ghost:1-alpine
+    ports:
+      - 8080:2368
+    environment:
+      # see https://docs.ghost.org/docs/config#section-running-ghost-with-config-env-variables
+      database__client: mysql
+      database__connection__host: db
+      database__connection__user: root
+      database__connection__password: example
+      database__connection__database: ghost
+
+  db:
+    image: mysql:5.7
+    environment:
+      MYSQL_ROOT_PASSWORD: example