Merge pull request #2978 from JuanxCursed/main

feat: Add Mautic 4 and 5 to service templates
This commit is contained in:
🏔️ Peak
2024-10-08 15:57:07 +02:00
committed by GitHub
3 changed files with 188 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,125 @@
# 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:-mautic}'
- 'MYSQL_USER=${SERVICE_USER_MYSQL}'
- 'MYSQL_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}'
volumes:
- 'mysql-data:/var/lib/mysql'
healthcheck:
test: 'mysqladmin ping --silent --user=$$SERVICE_USER_MYSQL --password=$$SERVICE_PASSWORD_64_MYSQL'
start_period: 30s
interval: 10s
timeout: 5s
retries: 5
rabbitmq:
image: 'rabbitmq:3'
environment:
- 'RABBITMQ_DEFAULT_VHOST=${RABBITMQ_DEFAULT_VHOST:-mautic}'
volumes:
- 'rabbitmq-data:/var/lib/rabbitmq'
mautic_web:
image: 'mautic/mautic:latest'
ports:
- '8880:80'
volumes:
- 'mautic_data/config:/var/www/html/config:z'
- 'mautic_data/logs:/var/www/html/var/logs:z'
- 'mautic_data/media/files:/var/www/html/docroot/media/files:z'
- 'mautic_data/media/images:/var/www/html/docroot/media/images:z'
- 'mautic_data/plugins:/var/www/html/docroot/plugins:z'
- 'mautic_data/vendor:/var/www/html/vendor:z'
- 'mautic_data/bin:/var/www/html/bin:z'
- 'mautic_data/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:-db}'
- 'MAUTIC_DB_PORT=${MYSQL_PORT:-3306}'
- 'MAUTIC_DB_DATABASE=${MYSQL_DATABASE:-mautic}'
- 'MAUTIC_DB_USER=${SERVICE_USER_MYSQL}'
- 'MAUTIC_DB_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}'
- 'MAUTIC_MESSENGER_DSN_EMAIL=${MAUTIC_MESSENGER_DSN_EMAIL:-amqp://guest:guest@rabbitmq:5672/mautic/messages}'
- 'MAUTIC_MESSENGER_DSN_HIT=${MAUTIC_MESSENGER_DSN_HIT:-amqp://guest:guest@rabbitmq:5672/mautic/messages}'
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://localhost'
interval: 15s
timeout: 10s
retries: 15
mautic_cron:
image: 'mautic/mautic:latest'
volumes:
- 'mautic_data/config:/var/www/html/config:z'
- 'mautic_data/logs:/var/www/html/var/logs:z'
- 'mautic_data/media/files:/var/www/html/docroot/media/files:z'
- 'mautic_data/media/images:/var/www/html/docroot/media/images:z'
- 'mautic_data/plugins:/var/www/html/docroot/plugins:z'
- 'mautic_data/vendor:/var/www/html/vendor:z'
- 'mautic_data/bin:/var/www/html/bin:z'
- 'mautic_data/cron:/opt/mautic/cron:z'
environment:
- DOCKER_MAUTIC_ROLE=mautic_cron
- 'MAUTIC_DB_HOST=${MYSQL_HOST:-db}'
- 'MAUTIC_DB_PORT=${MYSQL_PORT:-3306}'
- 'MAUTIC_DB_DATABASE=${MYSQL_DATABASE:-mautic}'
- 'MAUTIC_DB_USER=${SERVICE_USER_MYSQL}'
- 'MAUTIC_DB_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}'
- 'MAUTIC_MESSENGER_DSN_EMAIL=${MAUTIC_MESSENGER_DSN_EMAIL:-amqp://guest:guest@rabbitmq:5672/mautic/messages}'
- 'MAUTIC_MESSENGER_DSN_HIT=${MAUTIC_MESSENGER_DSN_HIT:-amqp://guest:guest@rabbitmq:5672/mautic/messages}'
depends_on:
mautic_web:
condition: service_healthy
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://localhost'
interval: 15s
timeout: 10s
retries: 15
mautic_worker:
image: 'mautic/mautic:latest'
volumes:
- 'mautic_data/config:/var/www/html/config:z'
- 'mautic_data/logs:/var/www/html/var/logs:z'
- 'mautic_data/media/files:/var/www/html/docroot/media/files:z'
- 'mautic_data/media/images:/var/www/html/docroot/media/images:z'
- 'mautic_data/plugins:/var/www/html/docroot/plugins:z'
- 'mautic_data/vendor:/var/www/html/vendor:z'
- 'mautic_data/bin:/var/www/html/bin:z'
- 'mautic_data/cron:/opt/mautic/cron:z'
environment:
- DOCKER_MAUTIC_ROLE=mautic_worker
- 'MAUTIC_DB_HOST=${MYSQL_HOST:-db}'
- 'MAUTIC_DB_PORT=${MYSQL_PORT:-3306}'
- 'MAUTIC_DB_DATABASE=${MYSQL_DATABASE:-mautic}'
- 'MAUTIC_DB_USER=${SERVICE_USER_MYSQL}'
- 'MAUTIC_DB_PASSWORD=${SERVICE_PASSWORD_64_MYSQL}'
- 'MAUTIC_MESSENGER_DSN_EMAIL=${MAUTIC_MESSENGER_DSN_EMAIL:-amqp://guest:guest@rabbitmq:5672/mautic/messages}'
- 'MAUTIC_MESSENGER_DSN_HIT=${MAUTIC_MESSENGER_DSN_HIT:-amqp://guest:guest@rabbitmq:5672/mautic/messages}'
depends_on:
mautic_web:
condition: service_healthy
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://localhost'
interval: 15s
timeout: 10s
retries: 15