After several years running Mautic for clients, this is the way I have come up to facilitate most things and make my work easier, faster and above all, more secure, since it allows me to minimize human error.
I used to host these files on a file server, but over time it has become an interesting collection, so I have now moved it to GitHub instead.
toolBelt is a new repo with lots of little goodies:
https://github.com/Martech-WorkShop/toolBelt
Repository organization:
So, I am compiling scripts and config files for Mautic and other marketing automation tools on a new GitHub repository.
The repo is organized by tool name (for example Mautic, HAProxy, Base, n8n, Matomo, etc…)
Each directory contains 3 types of content:
a) The conf directory contains any configuration files necessary for deploying said tool.
For example, Mautic requires Apache, PHP. MariaDB, etc., so all the configuration files for these pieces of the stack can be found in the Mautic directory.
Mautic also requires, or can benefit from, having files for cronjobs, configuration, etc…
b) The script folder contains little tools to facilitate the deployment, maintenance, troubleshooting and administration of the tool.
c) The root directory for each tool contains or more setup scripts. These scripts load all the config files required for running the entire stack for any particular tool and place them on the proper destinations. Some files also contain some deployment automation or some other kind of scripting or logic.
Feel free to use in your own installations and deployments.
If there is a tool you love that is missing from the list, let me know, so I can add it; or submit a PR and add it yourself.
Most common use:
Call a setupScript: Effectively copy a setupScript from this repo to your system, VPS or Dockerfile and then run it.
The setupScript will download all the files pertaining to the specific tool and all the other tools required to run it and install these into the tool’s proper location and path expected by each tool.
It will also copy any tooling scripts to the /usr/local/bin. Then assign execution permissions to the scripts. Delete itself.
Currently Available Tools
Base
Description: Files for a basic, unopinionated Debian-Slim environment. Used for bootstrapping Slim containers for LXD or DKR. The resulting image would contain the common tools required to “enrich” a slim-based container image. This includes configurations for unattended upgrades, SSH, and some Bash customization.
Example Usage:
Copy the bashrc file from the script folder to your home directory to customize your Bash environment.
Use the setupBase script to automate the installation of base packages and configurations.
HAP (HAProxy)
Description: Scripts and configFiles for setting up and managing HAProxy as a reverse proxy or load balancer. Used while Building an HAproxy Dockerfile, the resulting image would contain the basics to get started using HAP. This includes scripts to manage SSL certificates and a basic, initial configuration file to get started with.
Example Usage: Copy the haproxy.cfg file from the conf folder to configure HAProxy for your specific needs.
Use the certRenew script to automate the renewal of SSL certificates for HAProxy.
Prerequisites: HAProxy installed.
Dependencies: Assumes building from a “Base” container, otherwise call the setupBase script before using the setupHAP script. OpenSSL for certificate management.
Host
Description: Scripts and configFiles for setting up and managing your host system, like CPU governor settings, and setting up Docker or LXD.
Example Usage: Use the dps script to monitor disk performance statistics.
Use the run-DCKR script to start and manage Docker containers.
Prerequisites: Debian 12 OS. Maybe the only script that does NOT assume creation from “Base” It will work on any KVM-Based VPS, but the target is virtualizing Bare-metal servers and building clusters of bare-metal servers.
Mautic: Marketing Automation
Description: Scripts and configFiles for setting up and managing your Mautic server or VPS.
Example Usage: Copy the apache2.conf file from the conf/apache folder to configure Apache for Mautic.
Use the tfmysql script for troubleshooting, by checking your MySQL database error logs.
Prerequisites: Mautic installed, Apache web server, MySQL database.
Dependencies: Mautic, Apache2, PHP-FPM, MariaDB.
My name is Yosu Cadilla, a Systems Analyst and Platform Engineer for mktg.dev
I discovered Mautic in 2017 and since have specialized in:
– Running Mautic for Marketing Agencies.
– Running large Mautic instances, sometimes with millions of contacts.
– Helping companies build and optimize their (usually Mautic) runtime infrastructure.
If you are planning on deploying Mautic for your Marketing Agency, or you have a large Mautic Instance…
Let’s have a chat! yosu.cadilla@gmail.com