Docker and Ghost CMS overhaul

This commit is contained in:
Marwolf
2018-08-18 01:10:09 -04:00
parent 399e5ea342
commit 4dd84332d5
105 changed files with 1289 additions and 337 deletions

View File

@@ -2,34 +2,24 @@ version: '3.1'
services:
nginx:
image: nginx:latest
image: bitnami/nginx:latest
container_name: nginx
volumes:
- "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf"
#- "./Website:/var/www/html/public"
- "./etc/nginx/default.template.conf:/etc/nginx/conf.d/default.template"
- "./etc/logs/nginx:/var/log/nginx"
- "./etc/logs/letsencrypt:/var/log/letsencrypt"
- "./etc/letsencrypt/certs:/etc/letsencrypt"
- "./etc/letsencrypt/data:/data/letsencrypt"
- "./etc/nginx:/opt/bitnami/nginx/conf/vhosts"
- "./Website:/opt/bitnami/nginx/html"
- "./etc/logs/nginx:/opt/bitnami/nginx/logs"
#- "./etc/logs/letsencrypt:/var/log/letsencrypt"
#- "./etc/letsencrypt/certs:/etc/letsencrypt"
#- "./etc/letsencrypt/data:/data/letsencrypt"
ports:
- "80:80"
- "80:8080"
- "443:443"
environment:
- NGINX_HOST=${NGINX_HOST}
command: /bin/sh -c "envsubst '$$NGINX_HOST' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
#- VIRTUAL_HOST=localhost
#- LETSENCRYPT_HOST=localhost
#- LETSENCRYPT_EMAIL=your.email@here.com
restart: always
depends_on:
- mysqldb
- tomcat
# logging:
# driver: splunk
# options:
# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008"
# splunk-url: "https://127.0.0.1:8088"
# splunk-insecureskipverify: "true"
# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
# labels: "Nginx"
myadmin:
image: phpmyadmin/phpmyadmin
@@ -42,40 +32,28 @@ services:
restart: always
depends_on:
- mysqldb
# logging:
# driver: splunk
# options:
# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008"
# splunk-url: "https://127.0.0.1:8088"
# splunk-insecureskipverify: "true"
# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
# labels: "PHPMyAdmin"
mysqldb:
image: mariadb:10.3.8
image: bitnami/mariadb:latest
container_name: mysql
restart: always
env_file:
- ".env"
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_ROOT_USER=${MYSQL_ROOT_USER}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MARIADB_DATABASE=${MARIADB_DATABASE}
- MARIADB_ROOT_USER=${MARIADB_ROOT_USER}
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- ALLOW_EMPTY_PASSWORD=no
- MARIADB_USER=${MARIADB_USER}
- MARIADB_PASSWORD=${MARIADB_PASS}
- MARIADB_DATABASE=bitnami_ghost
ports:
- "127.0.0.1:3306:3306"
volumes:
- "./data/db/mysql:/var/lib/mysql"
- "./etc/mariadb/innodb.cnf:/etc/mysql/conf.d/innodb.cnf:ro"
# logging:
# driver: splunk
# options:
# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008"
# splunk-url: "https://127.0.0.1:8088"
# splunk-insecureskipverify: "true"
# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
# labels: "MySQL"
- "./data/db/mysql:/bitnami/mariadb"
- "./etc/mariadb/innodb.cnf:/bitnami/mariadb/conf/innodb.cnf:ro"
depends_on:
- nginx
tomcat:
image: tomcat:latest
@@ -86,36 +64,47 @@ services:
volumes:
- "./Website:/usr/local/tomcat/webapps/ROOT"
- "./etc/tomcat:/usr/local/tomcat/conf"
# logging:
# driver: splunk
# options:
# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008"
# splunk-url: "https://127.0.0.1:8088"
# splunk-insecureskipverify: "true"
# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
# labels: "Tomcat"
depends_on:
- nginx
ghost:
image: ghost:latest
image: bitnami/ghost:latest
container_name: ghost
ports:
- "127.0.0.1:2368:2368"
restart: always
volumes:
- "./etc/ghost:/var/lib/ghost/content"
depends_on:
- nginx
- "./etc:/bitnami"
env_file:
- ".env"
environment:
NODE_ENV: production
privacy__useUpdateCheck: 0
url: ${URL}
# logging:
# driver: splunk
# options:
# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008"
# splunk-url: "https://127.0.0.1:8088"
# splunk-insecureskipverify: "true"
# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
# labels: "Ghost"
- MARIADB_HOST=mysql
- MARIADB_PORT_NUMBER=3306
- GHOST_DATABASE_USER=${MARIADB_ROOT_USER}
- GHOST_DATABASE_PASSWORD=${MARIADB_ROOT_PASSWORD}
- GHOST_DATABASE_NAME=${GHOST_DATABASE_NAME}
- ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD}
- GHOST_HOST=${GHOST_HOST}
- GHOST_EMAIL=${GHOST_EMAIL}
- GHOST_PASSWORD=${GHOST_PASSWORD}
depends_on:
- mysqldb
- nginx
php:
image: bitnami/php-fpm:latest
container_name: php
restart: always
ports:
- "9001:9000"
volumes:
- "./etc/php/php.ini:/opt/bitnami/php/etc/conf.d/php.ini"
- "./Website:/app"
depends_on:
- nginx
volumes:
mariadb_data:
driver: local
ghost_data:
driver: local