111 lines
3.8 KiB
YAML
111 lines
3.8 KiB
YAML
# documentation: https://www.mautic.org/
|
|
# slogan: Mautic v5 Open Source Marketing Automation
|
|
# tags: php,mautic,marketing,automation,email,service,5,open,source,crm
|
|
# logo: svgs/mautic.svg
|
|
# port: 8880
|
|
|
|
services:
|
|
db:
|
|
image: 'mysql:8.0'
|
|
environment:
|
|
- 'MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_64_MYSQLROOT}'
|
|
- 'MYSQL_DATABASE=${MYSQL_DATABASE}'
|
|
- 'MYSQL_USER=${MYSQL_USER}'
|
|
- 'MYSQL_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}'
|
|
volumes:
|
|
- 'mysql-data:/var/lib/mysql'
|
|
healthcheck:
|
|
test: 'mysqladmin --user=$$MYSQL_USER --password=$$SERVICE_PASSWORD_64_MYSQL ping'
|
|
start_period: 5s
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
rabbitmq:
|
|
image: 'rabbitmq:3'
|
|
environment:
|
|
- 'RABBITMQ_DEFAULT_VHOST=${RABBITMQ_DEFAULT_VHOST}'
|
|
volumes:
|
|
- 'rabbitmq-data:/var/lib/rabbitmq'
|
|
mautic_web:
|
|
image: 'mautic/mautic:latest'
|
|
ports:
|
|
- 8880:80
|
|
volumes:
|
|
- './mautic/config:/var/www/html/config:z'
|
|
- './mautic/logs:/var/www/html/var/logs:z'
|
|
- './mautic/media/files:/var/www/html/docroot/media/files:z'
|
|
- './mautic/media/images:/var/www/html/docroot/media/images:z'
|
|
- './cron:/opt/mautic/cron:z'
|
|
environment:
|
|
- SERVICE_FQDN_MAUTIC_80
|
|
- 'DOCKER_MAUTIC_LOAD_TEST_DATA=${MAUTIC_LOAD_TEST_DATA:-false}'
|
|
- 'DOCKER_MAUTIC_RUN_MIGRATIONS=${MAUTIC_RUN_MIGRATIONS:-false}'
|
|
- 'MAUTIC_DB_HOST=${MYSQL_HOST}'
|
|
- 'MAUTIC_DB_PORT=${MYSQL_PORT}'
|
|
- 'MAUTIC_DB_DATABASE=${MYSQL_DATABASE}'
|
|
- 'MAUTIC_DB_USER=${MYSQL_USER}'
|
|
- 'MAUTIC_DB_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}'
|
|
- 'MAUTIC_MESSENGER_DSN_EMAIL=${MAUTIC_MESSENGER_DSN_EMAIL}'
|
|
- 'MAUTIC_MESSENGER_DSN_HIT=${MAUTIC_MESSENGER_DSN_HIT}'
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
|
interval: 2s
|
|
timeout: 10s
|
|
retries: 15
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
mautic_cron:
|
|
image: 'mautic/mautic:latest'
|
|
links:
|
|
- 'db:mysql'
|
|
volumes:
|
|
- './mautic/config:/var/www/html/config:z'
|
|
- './mautic/logs:/var/www/html/var/logs:z'
|
|
- './mautic/media/files:/var/www/html/docroot/media/files:z'
|
|
- './mautic/media/images:/var/www/html/docroot/media/images:z'
|
|
- './cron:/opt/mautic/cron:z'
|
|
environment:
|
|
- DOCKER_MAUTIC_ROLE=mautic_cron
|
|
- 'MAUTIC_DB_HOST=${MYSQL_HOST}'
|
|
- 'MAUTIC_DB_PORT=${MYSQL_PORT}'
|
|
- 'MAUTIC_DB_DATABASE=${MYSQL_DATABASE}'
|
|
- 'MAUTIC_DB_USER=${MYSQL_USER}'
|
|
- 'MAUTIC_DB_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}'
|
|
- 'MAUTIC_MESSENGER_DSN_EMAIL=${MAUTIC_MESSENGER_DSN_EMAIL}'
|
|
- 'MAUTIC_MESSENGER_DSN_HIT=${MAUTIC_MESSENGER_DSN_HIT}'
|
|
depends_on:
|
|
mautic_web:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
|
interval: 2s
|
|
timeout: 10s
|
|
retries: 15
|
|
mautic_worker:
|
|
image: 'mautic/mautic:latest'
|
|
links:
|
|
- 'db:mysql'
|
|
volumes:
|
|
- './mautic/config:/var/www/html/config:z'
|
|
- './mautic/logs:/var/www/html/var/logs:z'
|
|
- './mautic/media/files:/var/www/html/docroot/media/files:z'
|
|
- './mautic/media/images:/var/www/html/docroot/media/images:z'
|
|
- './cron:/opt/mautic/cron:z'
|
|
environment:
|
|
- DOCKER_MAUTIC_ROLE=mautic_worker
|
|
- 'MAUTIC_DB_HOST=${MYSQL_HOST}'
|
|
- 'MAUTIC_DB_PORT=${MYSQL_PORT}'
|
|
- 'MAUTIC_DB_DATABASE=${MYSQL_DATABASE}'
|
|
- 'MAUTIC_DB_USER=${MYSQL_USER}'
|
|
- 'MAUTIC_DB_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}'
|
|
- 'MAUTIC_MESSENGER_DSN_EMAIL=${MAUTIC_MESSENGER_DSN_EMAIL}'
|
|
- 'MAUTIC_MESSENGER_DSN_HIT=${MAUTIC_MESSENGER_DSN_HIT}'
|
|
depends_on:
|
|
mautic_web:
|
|
condition: service_health
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
|
interval: 2s
|
|
timeout: 10s
|
|
retries: 15
|