Run Mautic on Kubernetes

The goal of this project is to be able to run Mautic on Kubernetes in a way that is easy to configure and manage.

Step 0: Set up Kubernetes

The obvious requisite step here is to set up Kubernetes. This can vary depending on your infrastructure. I have tested this both locally (using Docker for Mac), along with GKE (Googke Kubernetes Engine) and evertyhing works well.

If you are having platform specific issues, feel free to create an issue and I'll try to troubleshoot.

Step 1: Get Volumes

Step 2: Set up MySQL

First, you want to create a secret for the MySQL password: kubectl create secret generic mysql --from-literal=password=YOUR_PASSWORD

Then you'll want to use the mysql.yaml file to deploy the manifest: kubectl apply -f mysql.yaml

After that, use the mysql-service.yaml file to expose the service: kubectl apply -f mysql-service.yaml

Step 3: Set up Mautic

First use the mautic.yaml file to deploy the manifest: kubectl apply -f mautic.yaml

Then, expose the service on Port 80: kubectl apply -f mautic-service.yaml

Step 4: View your site!

After waiting a few minutes to create the containers and set up the IP forwarding rules, run kubectl get service to get the public IP of the Mautuic pod.

Go to that IP and you will see the installation screen.