Ensure that mysql database remains on the same node; if it goes down add the label to another node and hope that the databases have been replicated properly
58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
services:
|
|
ghost:
|
|
image: ghost:latest
|
|
container_name: ghost
|
|
deploy:
|
|
# placement:
|
|
# constraints: [node.role == worker]
|
|
replicas: 1
|
|
restart: always
|
|
ports:
|
|
- 2368:2368
|
|
environment:
|
|
# see https://ghost.org/docs/config/#configuration-options
|
|
database__client: mysql
|
|
database__connection__host: mysql
|
|
database__connection__user: ghost
|
|
database__connection__password: Carrot
|
|
database__connection__database: ghostdb
|
|
url: https://ghost.johnsnexus.click
|
|
#
|
|
mail__transport: "SMTP"
|
|
mail__options__host: "smtp.gmail.com"
|
|
# mail__options__host: "smtp.mailgun.org"
|
|
mail__options__port: "587"
|
|
mail__options__secureConnection: "false"
|
|
mail__options__auth__user: "revjohndanderson@gmail.com"
|
|
mail__options__auth__pass: "sorc lxqh araw lppf"
|
|
# contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explic>
|
|
#NODE_ENV: development
|
|
depends_on:
|
|
- mysql
|
|
volumes:
|
|
- /mnt/cephfs/docker/ghost/data:/var/lib/ghost/content
|
|
# networks:
|
|
# - caddy_net
|
|
|
|
mysql:
|
|
image: mysql:8.4.6 # latest or last version of version 8; Ghost doesn't recognise version 9
|
|
container_name: mysql
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
- node.labels.database == here
|
|
restart: always
|
|
volumes:
|
|
- /mnt/cephfs/docker/ghost/mysql:/var/lib/mysql:rw
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: Vegetable
|
|
MYSQL_DATABASE: ghostdb
|
|
MYSQL_USER: ghost
|
|
MYSQL_PASSWORD: Carrot
|
|
# networks:
|
|
# - caddy_net
|
|
|
|
#networks:
|
|
# caddy_net:
|
|
# external: true
|