Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Docker Image for Mautic

NotificationsYou must be signed in to change notification settings

mautic/docker-mautic

Repository files navigation

All Contributors

Note

This version refers to Docker images and examples for Mautic 5, previous Mautic versions aren't actively supported anymore. If you would like information about older versions, seehttps://github.com/mautic/docker-mautic/tree/mautic4.

Issues

Important

You might face several issues when using the FPM images, due to the way those are currently implemented.We strongly advise using Apache instead of FPM for the time being. You might face security issues when using the exemplified nginx.conf. Only proceed with FPM if you are familiar with Nginx configuration!Please refer to#317 for updates on this topic.

For general questions about this Docker image, please visitour forum. We ask that you only openGitHub issues for bug reports or feature requests. This helps ensure you get wider community support and allows others with similar questions to find answers more easily.

To reach the developers directly, you can find us in the #docker channel onMautic's Slack.

Versions

All Mautic 5 Docker images follow the following naming stategy.

<major.minor.patch>-<variant>

There are some defaults if parts are omitted:

  • <minor.patch> is the latest release patch version in the latest minor version.

Some examples:

  • 5-apache: latest stable version of Mautic 5 of theapache variant
  • 5.0-fpm: latest version in the 5.0 minor release in thefpm variant
  • 5.0.3-apache: specific point release of theapache variant

Additionally, the taglatest is available, which will always provide the newest stable Mautic version using theapache variant of the Docker image.

It's also possible to target a specific build for a given patch:

  • <major.minor.patch>-<YYYYMMDD>-<variant>

Variants

The Docker images exist in 2 variants:

  • apache: image based on the officialphp:apache images.
  • fpm: image based on the officialphp:fpm images.

The latest supported Mautic PHP version is used the moment of generating of the image.

Each variant contains:

  • the needed dependencies to run Mautic (e.g. PHP modules)
  • the Mautic codebase installed via composer (see mautic/recommended-project)
  • the needed files and configuration to run as a specific role

See theexamples explanation below how you could use them.

Roles

each image can be started in 3 modes:

  • mautic_web: runs the Mautic webinterface
  • mautic_worker: runs the worker processes to consume the messenger queues
  • mautic_cron: runs the defined cronjobs

This allows you to use different scaling strategies to run the workers or crons, without having to maintain separate images.
Themautic_cron andmautic_worker require the codebase anyhow, as they execute console commands that need to bootstrap the full application.

Examples

Theexamples folder contains examples ofdocker-compose setups that use the Docker images.

Warning

The examplesrequiredocker compose v2.
Running the examples with the unsupporteddocker-compose v1 will result in a non-starting web container.

Important

Please take into account the purpose of those examples:
it shows how itcould be used, not how itshould be used.
Do not use those examples in production without reviewing, understanding and configuring them.

  • basic: standard example using theapache image withdoctrine as async queue.
  • fpm-nginx: example using thefpm image in combination with annginx withdoctrine as async queue.
  • rabbitmq-worker: example using theapache image withrabbitmq as async queue.
  • custom-plugins: example using a custom build based onapache to install non-marketplace plugins on Mautic.

For each example, there are 2 files where settings can be set:

  • the.env file:Should be used for all general variables for Mysql, PHP, ...
  • the.mautic_env file:Should be used for all Mautic specific variables.

Building your own images

You can build your own images easily using thedocker build command in the root of this directory:

docker build . -f apache/Dockerfile -t mautic/mautic:5-apachedocker build . -f fpm/Dockerfile -t mautic/mautic:5-fpm

Persistent storage

The images by default foresee following volumes to persist data (not taking into account e.g. database or queueing data, as that's not part of these images).

  • config: the local config folder containinglocal.php,parameters_local.php, ...
  • var/logs: the folder with logs
  • docroot/media: the folder with uploaded and generated media files

Configuration and customizing

Configuration

Environment Variables

The following environment variables can be used to configure how your setup should behave.

Mautic Behaviour
VariableDefaultRequiredAccepted ValuesDescription
DEBUGfalsetrue,falseEnable verbose logs
DOCKER_MAUTIC_ROLEmautic_webmautic_cron,mautic_web, `mautic_worker (string)Container role
DOCKER_MAUTIC_LOAD_TEST_DATAfalsetrue,falseLoad demo instance
DOCKER_MAUTIC_RUN_MIGRATIONSfalsetrue,falseUpdate directory and database structure (please run on major updates)
DOCKER_MAUTIC_WORKERS_CONSUME_EMAIL2integerNumber of workers to start consuming e-mails
DOCKER_MAUTIC_WORKERS_CONSUME_HIT2integerNumber of workers to start consuming hits
DOCKER_MAUTIC_WORKERS_CONSUME_FAILED2integerNumber of workers to start consuming failed e-mails
MAUTIC_DB_HOSTnoneXIPv4, IPv6, hostnameMySQL server's IP address or hostname
MAUTIC_DB_PORT33061 - 65535 (integer)MySQL server's port
MAUTIC_DB_DATABASEnoneXstringDatabase which holds Mautic's tables
MAUTIC_DB_USERnoneXstringMySQL user for Mautic
MAUTIC_DB_PASSWORDnoneXstringMySQL password for Mautic
PHP Settings
VariableDefault
PHP_INI_VALUE_DATE_TIMEZONEUTC
PHP_INI_VALUE_MEMORY_LIMIT512M
PHP_INI_VALUE_UPLOAD_MAX_FILESIZE512M
PHP_INI_VALUE_POST_MAX_FILESIZE512M
PHP_INI_VALUE_MAX_EXECUTION_TIME300

Mautic settings

Technically, every setting of Mautic you can set via the UI or via thelocal.php file can be set as environment variable.

e.g. themessenger_dsn_hit can be set via theMAUTIC_MESSENGER_DSN_HIT environment variable.
See the general Mautic documentation for more info.

Customization

Currently this image has no easy way to extend Mautic (e.g. adding extracomposer dependencies or installing extra plugins or themes).
This is an ongoing effort we hope to support in an upcoming 5.x release.

For now, please build your own images based on the official ones to add the needed dependencies, plugins and themes.

Day to day tasks

You can execute commands directly against theMautic CLI. To do so you have two options:

  1. Connect to the running container and run the commands.
  2. Run the commands asexec via docker (compose).

Both cases will usedocker compose exec/docker exec. Usingdocker compose uses thedocker-compose.yaml and the container names listed for ease. More info can be learned aboutexec commandshere.

Note - Two flags that are used commonly in docker Mautic:

  1. --user www-data
    • execute as thewww-data user, which is the same user as the webserver runs. Running commands as the correct user ensures things function as expected. e.g. file permissions after clearing the cache are correct.
  2. --workdir /var/www/html
    • set the working directory to the/var/www/html folder, which is the project root of Mautic.

Connect to the Container

docker composeexec --user www-data --workdir /var/www/html mautic_web /bin/bash

Running a Mautic CLI command

docker composeexec --user www-data --workdir /var/www/html mautic_web php ./bin/console mautic:install https://mautic.example.com --admin_email="admin@mautic.local" --admin_password="Maut1cR0cks\!"

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through aGitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Renato
Renato

💻📖👀⚠️
Mauro Chojrin
Mauro Chojrin

💻
Matt O'Keefe
Matt O'Keefe

👀
Renan William
Renan William

💻
Ruth Cheesley
Ruth Cheesley

💻
John Linhart
John Linhart

👀
Chirag Moradiya
Chirag Moradiya

💻
Martin Vooremäe
Martin Vooremäe

💻👀
henmohr
henmohr

👀
maxitromer
maxitromer

💻⚠️
Nick Vanpraet
Nick Vanpraet

👀
Marko Korhonen
Marko Korhonen

💻

This project follows theall-contributors specification. Contributions of any kind welcome!

About

Docker Image for Mautic

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors30


[8]ページ先頭

©2009-2025 Movatter.jp