diff --git a/public/svgs/mautic.svg b/public/svgs/mautic.svg new file mode 100644 index 000000000..b528f72ef --- /dev/null +++ b/public/svgs/mautic.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/templates/compose/mautic4.yaml b/templates/compose/mautic4.yaml new file mode 100644 index 000000000..f1e567453 --- /dev/null +++ b/templates/compose/mautic4.yaml @@ -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 diff --git a/templates/compose/mautic5.yaml b/templates/compose/mautic5.yaml new file mode 100644 index 000000000..4cf7eef54 --- /dev/null +++ b/templates/compose/mautic5.yaml @@ -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