feat: Add Mautic 4 and 5 to service templates

This commit is contained in:
Juan Felipe
2024-07-30 18:17:38 -03:00
parent 10b9c4bcfa
commit 380f2f4029
3 changed files with 174 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
# documentation: https://www.mautic.org/
# slogan: Mautic v4 Open Source Marketing Automation
# tags: php,mautic,marketing,automation,email,service,4,open,source,crm
# logo: svgs/mautic.svg
# port: 8880
services:
rabbitmq:
image: 'rabbitmq:3'
environment:
- 'RABBITMQ_DEFAULT_VHOST=${RABBITMQ_DEFAULT_VHOST:-mautic}'
volumes:
- 'rabbitmq-data:/var/lib/rabbitmq'
database:
image: powertic/percona-docker
environment:
MYSQL_ROOT_PASSWORD: ${SERVICE_PASSWORD_64_MYSQL}
volumes:
- database:/var/lib/mysql
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --sql-mode=""
mautic:
image: mautic/mautic:v4-fpm
volumes:
- mautic_data:/var/www/html
environment:
- SERVICE_FQDN_MAUTIC_80
- MAUTIC_DB_HOST=database
- MAUTIC_DB_USER=root
- MAUTIC_DB_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}
- MAUTIC_DB_NAME=mautic4
- MAUTIC_RUN_MIGRATIONS=true
- MAUTIC_RUN_CRON_JOBS=false
- MAUTIC_RABIITMQ_HOST=rabbitmq
- MAUTIC_RABIITMQ_PORT=5672
- MAUTIC_RABIITMQ_USER=guest
- MAUTIC_RABIITMQ_PASSWORD=guest
- MAUTIC_RABIITMQ_VHOST=mautic
- MAUTIC_ADMIN_EMAIL=${MAUTIC_ADMIN_EMAIL}
- MAUTIC_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}
- MAUTIC_ADMIN_FIRSTNAME=${MAUTIC_ADMIN_FIRSTNAME}
- MAUTIC_ADMIN_LASTNAME=${MAUTIC_ADMIN_LASTNAME}
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
interval: 2s
timeout: 10s
retries: 15

View File

@@ -0,0 +1,111 @@
# 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