A standalone instance of the community version of Mautic is designed for a single organization or team’s email and marketing automation needs. Unlike other open source apps like Drupal or WordPress, there was no multisite version to manage multiple Mautic instances. This changed when Autoize™ introduced its Marketing Automation Infrastructure for resellers based on Mautic.
Prior to our container-based solution, deploying multiple Mautic instances required using multiple virtual hosts or sites on a shared server, or one VM per instance. The shared server option suffered from poor performance and weak security. The separate virtual machines were time-consuming to deploy and manage, and less cost-effective as they tended to underutilize the server capacity.
Building a Docker image for Mautic enables repeatable deployments of Mautic in a consistent environment — complete with all the required software dependencies. Using software containers instead of virtual machines allows the placement of multiple Mautic instances on each server, with each instance having its own filesystem root and process tree. This results in cost savings from a greater density of workloads on the infrastructure, while maintaining high security by isolating every instance’s data from other instances.
The Mautic Docker image incorporated in our reseller offering incorporates fixes and enhancements beyond other images available in the community. When we onboard a new agency to our reseller solution, we personalize a “master” image for the reseller complete with: an updated version of PHP with the required modules, a pre-configured crontab, and a point-and-click white labeling tool.
Hosting multiple instances of Mautic is the perfect use case for containers. The Docker Swarm orchestrator ties all your available Docker hosts together and enables the swarm to be managed from a single endpoint. From any manager node, you have birds-eye visibility into all of the services running across your swarm. This creates scalability as you can simply join additional servers to your swarm, as your number of hosted instances grows.
The Traefik edge router is another key component of our stack. It facilitates automatic service discovery by listening for new containers on the Docker daemon socket, and configuring SSL certificates for them based on their hostname label. Traefik automatically routes HTTP/HTTPS requests hitting the external IP address of any Docker hosts on the overlay network to the corresponding container IP internally.
All of these components working together makes deploying a new marketing automation instance for an end client a matter of a few clicks. Behind the scenes, the infrastructure is keeping everything humming along smoothly, and reducing the complexity of managing Mautic instances for multiple clients — even for less technical administrators.