mirror of
https://github.com/bdnugget/warden.git
synced 2026-11-07 08:57:27 +00:00
[FTR] Sprit environment configs to separate files (#davidalger/warden/issues/98)
This commit is contained in:
21 files changed
+303
-154
No files matched your search
@@ -1,2 +1,3 @@
|
||||
/.sync
|
||||
/Icon?
|
||||
/.idea
|
||||
@@ -5,6 +5,11 @@ source "${WARDEN_DIR}/utils/env.sh"
|
||||
WARDEN_ENV_PATH="$(locateEnvPath)" || exit $?
|
||||
loadEnvConfig "${WARDEN_ENV_PATH}" || exit $?
|
||||
|
||||
if [[ ${WARDEN_MARIADB} -eq 0 ]]; then
|
||||
echo -e "\033[33mDatabase environment is not used."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if (( ${#WARDEN_PARAMS[@]} == 0 )); then
|
||||
echo -e "\033[33mThis command has required params, please use --help for details."
|
||||
exit 1
|
||||
|
||||
@@ -27,6 +27,10 @@ EOF
|
||||
if [[ "${WARDEN_ENV_TYPE}" == "magento1" ]]; then
|
||||
cat >> "${WARDEN_ENV_PATH}/.env" <<-EOT
|
||||
|
||||
WARDEN_MARIADB=1
|
||||
WARDEN_REDIS=1
|
||||
WARDEN_MAILHOG=1
|
||||
|
||||
MARIADB_VERSION=10.3
|
||||
NODE_VERSION=10
|
||||
PHP_VERSION=7.2
|
||||
@@ -46,6 +50,13 @@ fi
|
||||
if [[ "${WARDEN_ENV_TYPE}" == "magento2" ]]; then
|
||||
cat >> "${WARDEN_ENV_PATH}/.env" <<-EOT
|
||||
|
||||
WARDEN_MARIADB=1
|
||||
WARDEN_ELASTICSEARCH=1
|
||||
WARDEN_VARNISH=1
|
||||
WARDEN_RABBITMQ=1
|
||||
WARDEN_REDIS=1
|
||||
WARDEN_MAILHOG=1
|
||||
|
||||
BYPASS_VARNISH=false
|
||||
|
||||
ELASTICSEARCH_VERSION=6.8
|
||||
@@ -72,6 +83,10 @@ fi
|
||||
if [[ "${WARDEN_ENV_TYPE}" == "laravel" ]]; then
|
||||
cat >> "${WARDEN_ENV_PATH}/.env" <<-EOT
|
||||
|
||||
WARDEN_MARIADB=1
|
||||
WARDEN_REDIS=1
|
||||
WARDEN_MAILHOG=1
|
||||
|
||||
## Laravel Config
|
||||
APP_URL=http://app.${WARDEN_ENV_NAME}.test
|
||||
APP_KEY=base64:$(dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64)
|
||||
|
||||
@@ -18,6 +18,42 @@ DOCKER_COMPOSE_ARGS=()
|
||||
DOCKER_COMPOSE_ARGS+=("-f")
|
||||
DOCKER_COMPOSE_ARGS+=("${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.base.yml")
|
||||
|
||||
if [[ ${WARDEN_MARIADB} -eq 1 && -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.db.base.yml" ]]; then
|
||||
DOCKER_COMPOSE_ARGS+=("-f")
|
||||
DOCKER_COMPOSE_ARGS+=("${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.db.base.yml")
|
||||
fi
|
||||
|
||||
if [[ ${WARDEN_ELASTICSEARCH} -eq 1 && -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.elasticsearch.base.yml" ]]; then
|
||||
DOCKER_COMPOSE_ARGS+=("-f")
|
||||
DOCKER_COMPOSE_ARGS+=("${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.elasticsearch.base.yml")
|
||||
fi
|
||||
|
||||
if [[ "${WARDEN_ENV_TYPE}" == "magento2" ]]; then
|
||||
if [[ ${WARDEN_VARNISH} -eq 0 ]]; then
|
||||
export BYPASS_VARNISH=true
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${WARDEN_VARNISH} -eq 1 && -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.varnish.base.yml" ]]; then
|
||||
DOCKER_COMPOSE_ARGS+=("-f")
|
||||
DOCKER_COMPOSE_ARGS+=("${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.varnish.base.yml")
|
||||
fi
|
||||
|
||||
if [[ ${WARDEN_RABBITMQ} -eq 1 && -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.rabbitmq.base.yml" ]]; then
|
||||
DOCKER_COMPOSE_ARGS+=("-f")
|
||||
DOCKER_COMPOSE_ARGS+=("${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.rabbitmq.base.yml")
|
||||
fi
|
||||
|
||||
if [[ ${WARDEN_REDIS} -eq 1 && -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.redis.base.yml" ]]; then
|
||||
DOCKER_COMPOSE_ARGS+=("-f")
|
||||
DOCKER_COMPOSE_ARGS+=("${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.redis.base.yml")
|
||||
fi
|
||||
|
||||
if [[ ${WARDEN_MAILHOG=1} -eq 1 && -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.mailhog.base.yml" ]]; then
|
||||
DOCKER_COMPOSE_ARGS+=("-f")
|
||||
DOCKER_COMPOSE_ARGS+=("${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.mailhog.base.yml")
|
||||
fi
|
||||
|
||||
if [[ -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.${WARDEN_ENV_SUBT}.yml" ]]; then
|
||||
DOCKER_COMPOSE_ARGS+=("-f")
|
||||
DOCKER_COMPOSE_ARGS+=("${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}.${WARDEN_ENV_SUBT}.yml")
|
||||
|
||||
@@ -15,9 +15,21 @@ The versions of MariaDB, Elasticsearch, Varnish, Redis, and NodeJS may also be s
|
||||
* `RABBITMQ_VERSION`
|
||||
* `NODE_VERSION`
|
||||
|
||||
Start of some environments could be skipped by using variables in `.env` file:
|
||||
|
||||
* `WARDEN_MARIADB=0`
|
||||
* `WARDEN_REDIS=0`
|
||||
* `WARDEN_MAILHOG=0`
|
||||
|
||||
### Magento 2 Specific Customizations
|
||||
|
||||
The following variables can be added to the project's `.env` file to enable additional database containers for use with the Magento 2 (Commerce Only) [split-database solution](https://devdocs.magento.com/guides/v2.3/config-guide/multi-master/multi-master.html).
|
||||
|
||||
* `WARDEN_SPLIT_SALES=1`
|
||||
* `WARDEN_SPLIT_CHECKOUT=1`
|
||||
|
||||
Start of some Magento 2 specific environments could be skipped by using variables in `.env` file:
|
||||
|
||||
* `WARDEN_ELASTICSEARCH=0`
|
||||
* `WARDEN_VARNISH=0`
|
||||
* `WARDEN_RABBITMQ=0`
|
||||
@@ -17,6 +17,13 @@ The below example demonstrates the from-scratch setup of the Magento 2 applicati
|
||||
WARDEN_ENV_TYPE=magento2
|
||||
TRAEFIK_DOMAIN=exampleproject.test
|
||||
TRAEFIK_SUBDOMAIN=app
|
||||
|
||||
WARDEN_MARIADB=1
|
||||
WARDEN_ELASTICSEARCH=1
|
||||
WARDEN_VARNISH=1
|
||||
WARDEN_RABBITMQ=1
|
||||
WARDEN_REDIS=1
|
||||
WARDEN_MAILHOG=1
|
||||
|
||||
BYPASS_VARNISH=false
|
||||
|
||||
|
||||
@@ -29,8 +29,6 @@ services:
|
||||
- NODE_VERSION=${NODE_VERSION:-10}
|
||||
extra_hosts:
|
||||
- ${TRAEFIK_SUBDOMAIN:-app}.${TRAEFIK_DOMAIN}:${TRAEFIK_ADDRESS:-0.0.0.0}
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ~/.warden/ssl/rootca/certs:/etc/ssl/warden-rootca-cert:ro
|
||||
- ~/.composer:/home/www-data/.composer:delegated
|
||||
@@ -49,8 +47,6 @@ services:
|
||||
- PHP_IDE_CONFIG=serverName=${WARDEN_ENV_NAME}-docker
|
||||
extra_hosts:
|
||||
- ${TRAEFIK_SUBDOMAIN:-app}.${TRAEFIK_DOMAIN}:${TRAEFIK_ADDRESS:-0.0.0.0}
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ~/.warden/ssl/rootca/certs:/etc/ssl/warden-rootca-cert:ro
|
||||
- ~/.composer:/home/www-data/.composer:delegated
|
||||
@@ -59,36 +55,6 @@ services:
|
||||
- default
|
||||
- warden
|
||||
|
||||
db:
|
||||
hostname: "${WARDEN_ENV_NAME}-mariadb"
|
||||
image: quay.io/warden/mariadb:${MARIADB_VERSION:-10.3}
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-laravel}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-laravel}
|
||||
- MYSQL_USER=${MYSQL_USER:-laravel}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-laravel}
|
||||
volumes:
|
||||
- dbdata:/var/lib/mysql
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
redis:
|
||||
hostname: "${WARDEN_ENV_NAME}-redis"
|
||||
image: quay.io/warden/redis:${REDIS_VERSION:-5.0}
|
||||
|
||||
mailhog:
|
||||
hostname: "${WARDEN_ENV_NAME}-mailhog"
|
||||
image: quay.io/warden/mailhog:${MAILHOG_VERSION:-1.0}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.rule=Host(`mailhog.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-mailhog.loadbalancer.server.port=8025
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
volumes:
|
||||
dbdata:
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
php-fpm:
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
php-debug:
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
hostname: "${WARDEN_ENV_NAME}-mariadb"
|
||||
image: quay.io/warden/mariadb:${MARIADB_VERSION:-10.3}
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-laravel}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-laravel}
|
||||
- MYSQL_USER=${MYSQL_USER:-laravel}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-laravel}
|
||||
volumes:
|
||||
- dbdata:/var/lib/mysql
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
volumes:
|
||||
dbdata:
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
@@ -0,0 +1,17 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
mailhog:
|
||||
hostname: "${WARDEN_ENV_NAME}-mailhog"
|
||||
image: quay.io/warden/mailhog:${MAILHOG_VERSION:-1.0}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.rule=Host(`mailhog.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-mailhog.loadbalancer.server.port=8025
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
@@ -0,0 +1,5 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
redis:
|
||||
hostname: "${WARDEN_ENV_NAME}-redis"
|
||||
image: quay.io/warden/redis:${REDIS_VERSION:-5.0}
|
||||
@@ -28,8 +28,6 @@ services:
|
||||
- NODE_VERSION=${NODE_VERSION:-10}
|
||||
extra_hosts:
|
||||
- ${TRAEFIK_SUBDOMAIN:-app}.${TRAEFIK_DOMAIN}:${TRAEFIK_ADDRESS:-0.0.0.0}
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ~/.warden/ssl/rootca/certs:/etc/ssl/warden-rootca-cert:ro
|
||||
- ~/.composer:/home/www-data/.composer:delegated
|
||||
@@ -48,8 +46,6 @@ services:
|
||||
- PHP_IDE_CONFIG=serverName=${WARDEN_ENV_NAME}-docker
|
||||
extra_hosts:
|
||||
- ${TRAEFIK_SUBDOMAIN:-app}.${TRAEFIK_DOMAIN}:${TRAEFIK_ADDRESS:-0.0.0.0}
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ~/.warden/ssl/rootca/certs:/etc/ssl/warden-rootca-cert:ro
|
||||
- ~/.composer:/home/www-data/.composer:delegated
|
||||
@@ -58,39 +54,6 @@ services:
|
||||
- default
|
||||
- warden
|
||||
|
||||
db:
|
||||
hostname: "${WARDEN_ENV_NAME}-mariadb"
|
||||
image: quay.io/warden/mariadb:${MARIADB_VERSION:-10.3}
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-magento}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-magento}
|
||||
- MYSQL_USER=${MYSQL_USER:-magento}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-magento}
|
||||
command:
|
||||
- mysqld
|
||||
- --max_allowed_packet=1024M
|
||||
volumes:
|
||||
- dbdata:/var/lib/mysql
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
redis:
|
||||
hostname: "${WARDEN_ENV_NAME}-redis"
|
||||
image: quay.io/warden/redis:${REDIS_VERSION:-5.0}
|
||||
|
||||
mailhog:
|
||||
hostname: "${WARDEN_ENV_NAME}-mailhog"
|
||||
image: quay.io/warden/mailhog:${MAILHOG_VERSION:-1.0}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.rule=Host(`mailhog.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-mailhog.loadbalancer.server.port=8025
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
volumes:
|
||||
dbdata:
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
php-fpm:
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
php-debug:
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
hostname: "${WARDEN_ENV_NAME}-mariadb"
|
||||
image: quay.io/warden/mariadb:${MARIADB_VERSION:-10.3}
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-magento}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-magento}
|
||||
- MYSQL_USER=${MYSQL_USER:-magento}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-magento}
|
||||
command:
|
||||
- mysqld
|
||||
- --max_allowed_packet=1024M
|
||||
volumes:
|
||||
- dbdata:/var/lib/mysql
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
volumes:
|
||||
dbdata:
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
@@ -0,0 +1,17 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
mailhog:
|
||||
hostname: "${WARDEN_ENV_NAME}-mailhog"
|
||||
image: quay.io/warden/mailhog:${MAILHOG_VERSION:-1.0}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.rule=Host(`mailhog.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-mailhog.loadbalancer.server.port=8025
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
@@ -0,0 +1,5 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
redis:
|
||||
hostname: "${WARDEN_ENV_NAME}-redis"
|
||||
image: quay.io/warden/redis:${REDIS_VERSION:-5.0}
|
||||
@@ -18,21 +18,6 @@ services:
|
||||
- warden
|
||||
- default
|
||||
|
||||
varnish:
|
||||
hostname: "${WARDEN_ENV_NAME}-varnish"
|
||||
image: quay.io/warden/varnish:${VARNISH_VERSION:-6.0}
|
||||
depends_on:
|
||||
- nginx
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-varnish.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-varnish.priority=1
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-varnish.rule=HostRegexp(`{subdomain:.+}.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-varnish.loadbalancer.server.port=80
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
php-fpm:
|
||||
hostname: "${WARDEN_ENV_NAME}-php-fpm"
|
||||
image: quay.io/warden/php-fpm:${PHP_VERSION:-7.3}-magento2
|
||||
@@ -42,8 +27,6 @@ services:
|
||||
- NODE_VERSION=${NODE_VERSION:-10}
|
||||
extra_hosts:
|
||||
- ${TRAEFIK_SUBDOMAIN:-app}.${TRAEFIK_DOMAIN}:${TRAEFIK_ADDRESS:-0.0.0.0}
|
||||
depends_on:
|
||||
- db
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-livereload.tls=true
|
||||
@@ -67,76 +50,10 @@ services:
|
||||
- PHP_IDE_CONFIG=serverName=${WARDEN_ENV_NAME}-docker
|
||||
extra_hosts:
|
||||
- ${TRAEFIK_SUBDOMAIN:-app}.${TRAEFIK_DOMAIN}:${TRAEFIK_ADDRESS:-0.0.0.0}
|
||||
depends_on:
|
||||
- db
|
||||
networks:
|
||||
- default
|
||||
- warden
|
||||
|
||||
db:
|
||||
hostname: "${WARDEN_ENV_NAME}-mariadb"
|
||||
image: quay.io/warden/mariadb:${MARIADB_VERSION:-10.3}
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-magento}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-magento}
|
||||
- MYSQL_USER=${MYSQL_USER:-magento}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-magento}
|
||||
command:
|
||||
- mysqld
|
||||
- --max_allowed_packet=1024M
|
||||
- --explicit_defaults_for_timestamp=on
|
||||
volumes:
|
||||
- dbdata:/var/lib/mysql
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
elasticsearch:
|
||||
hostname: "${WARDEN_ENV_NAME}-elasticsearch"
|
||||
image: quay.io/warden/elasticsearch:${ELASTICSEARCH_VERSION:-6.8}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-elasticsearch.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-elasticsearch.rule=Host(`elasticsearch.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-elasticsearch.loadbalancer.server.port=9200
|
||||
environment:
|
||||
- discovery.type=single-node
|
||||
- xpack.security.enabled=false
|
||||
- "ES_JAVA_OPTS=-Xms64m -Xmx512m"
|
||||
volumes:
|
||||
- esdata:/usr/share/elasticsearch/data
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
redis:
|
||||
hostname: "${WARDEN_ENV_NAME}-redis"
|
||||
image: quay.io/warden/redis:${REDIS_VERSION:-5.0}
|
||||
|
||||
rabbitmq:
|
||||
hostname: "${WARDEN_ENV_NAME}-rabbitmq"
|
||||
image: quay.io/warden/rabbitmq:${RABBITMQ_VERSION:-3.7}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-rabbitmq.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-rabbitmq.rule=Host(`rabbitmq.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-rabbitmq.loadbalancer.server.port=15672
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
mailhog:
|
||||
hostname: "${WARDEN_ENV_NAME}-mailhog"
|
||||
image: quay.io/warden/mailhog:${MAILHOG_VERSION:-1.0}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.rule=Host(`mailhog.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-mailhog.loadbalancer.server.port=8025
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
volumes:
|
||||
dbdata:
|
||||
esdata:
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
php-fpm:
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
php-debug:
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
hostname: "${WARDEN_ENV_NAME}-mariadb"
|
||||
image: quay.io/warden/mariadb:${MARIADB_VERSION:-10.3}
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-magento}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-magento}
|
||||
- MYSQL_USER=${MYSQL_USER:-magento}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-magento}
|
||||
command:
|
||||
- mysqld
|
||||
- --max_allowed_packet=1024M
|
||||
- --explicit_defaults_for_timestamp=on
|
||||
volumes:
|
||||
- dbdata:/var/lib/mysql
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
volumes:
|
||||
dbdata:
|
||||
esdata:
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
@@ -0,0 +1,26 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
elasticsearch:
|
||||
hostname: "${WARDEN_ENV_NAME}-elasticsearch"
|
||||
image: quay.io/warden/elasticsearch:${ELASTICSEARCH_VERSION:-6.8}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-elasticsearch.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-elasticsearch.rule=Host(`elasticsearch.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-elasticsearch.loadbalancer.server.port=9200
|
||||
environment:
|
||||
- discovery.type=single-node
|
||||
- xpack.security.enabled=false
|
||||
- "ES_JAVA_OPTS=-Xms64m -Xmx512m"
|
||||
volumes:
|
||||
- esdata:/usr/share/elasticsearch/data
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
volumes:
|
||||
esdata:
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
@@ -0,0 +1,17 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
mailhog:
|
||||
hostname: "${WARDEN_ENV_NAME}-mailhog"
|
||||
image: quay.io/warden/mailhog:${MAILHOG_VERSION:-1.0}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-mailhog.rule=Host(`mailhog.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-mailhog.loadbalancer.server.port=8025
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
@@ -0,0 +1,17 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
rabbitmq:
|
||||
hostname: "${WARDEN_ENV_NAME}-rabbitmq"
|
||||
image: quay.io/warden/rabbitmq:${RABBITMQ_VERSION:-3.7}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-rabbitmq.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-rabbitmq.rule=Host(`rabbitmq.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-rabbitmq.loadbalancer.server.port=15672
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
@@ -0,0 +1,5 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
redis:
|
||||
hostname: "${WARDEN_ENV_NAME}-redis"
|
||||
image: quay.io/warden/redis:${REDIS_VERSION:-5.0}
|
||||
@@ -0,0 +1,20 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
varnish:
|
||||
hostname: "${WARDEN_ENV_NAME}-varnish"
|
||||
image: quay.io/warden/varnish:${VARNISH_VERSION:-6.0}
|
||||
depends_on:
|
||||
- nginx
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-varnish.tls=true
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-varnish.priority=1
|
||||
- traefik.http.routers.${WARDEN_ENV_NAME}-varnish.rule=HostRegexp(`{subdomain:.+}.${TRAEFIK_DOMAIN}`)
|
||||
- traefik.http.services.${WARDEN_ENV_NAME}-varnish.loadbalancer.server.port=80
|
||||
networks:
|
||||
- warden
|
||||
- default
|
||||
|
||||
networks:
|
||||
warden:
|
||||
external: true
|
||||
Reference in new issue
Block a user