Skip to main content

Mautic Installation Guide

mautic-thumb.png

About Mautic

Mautic is an open-source marketing automation platform designed to help businesses and organizations automate various marketing tasks and streamline their marketing efforts.

Features

Mautic offers a wide range of features, including:

  • Email Marketing: Create, personalize, and send emails to your contacts.
  • Lead Tracking: Monitor and track user interactions with your website or apps.
  • Drip Campaigns: Set up automated email sequences based on specific triggers or user behaviors.
  • Landing Pages: Build and customize landing pages to capture leads or provide information.
  • Social Media Integration: Connect and automate tasks related to your social media profiles.
  • Forms: Create forms for lead capture, surveys, or other interactions.
  • Reports: Analyze and visualize data related to your marketing efforts.

In essence, Mautic is a flexible and customizable marketing automation solution that offers many of the features found in premium, proprietary platforms but at a potentially lower cost and with the advantages inherent to open-source software.

Visit official Mautic website.

Before you proceed, make sure you have secured docker daemon.
You can also refer to the securing Docker daemon.

Webnestify can help you secure your server and deploy any applications. Just get in touch.

Installation

There are several ways of installing Mautic. We will install Mautic via Docker.

You can get Mautic working on any VPS of your choice, but for optimal performance make sure to have at least 2GB of system memory.

You can get 20€ in cloud credits using this link for Hetzner Cloud. Webnestify recommends Hetzner for all of your projects.

Video Walkthrough

Docker Engine

First, we will need to install docker engine on our brand new server.

Visit official installation guide.

Never install docker from other sources or custom repositiories.

Docker Compose File

Copy this code to your docker-compose.yml file

version: "3.9"

services:
  database:
    image: mariadb:latest
    container_name: mautic-db
    environment:
      MYSQL_ROOT_PASSWORD: changeme
    ports:
      - "3306:3306"
    volumes:
      - database:/var/lib/mysql:rw
    restart: always
    networks:
      - mauticnet
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --sql-mode=""

  mautic:
    container_name: mautic
    image: mautic/mautic:v4-apache
    volumes:
      - mautic_data:/var/www/html:rw
    environment:
      - MAUTIC_DB_HOST=database
      - MAUTIC_DB_USER=root
      - MAUTIC_DB_PASSWORD=changeme
      - MAUTIC_DB_NAME=mautic4
      - MAUTIC_DB_TABLE_PREFIX=mautic4
    restart: always
    depends_on:
      - database
    links:
      - database
    networks:
      - mauticnet
    ports:
      - "8888:80"

networks:
  mauticnet:

volumes:
  database:
  mautic_data:

Optional Environment Variables

Full list of all variables at official DockerHub page.

Mautic Options

  • -e MAUTIC_RUN_CRON_JOBS=...: (defaults to true - enabled) If set to true runs mautic cron jobs using included cron daemon
  • -e MAUTIC_RUN_MIGRATIONS=...: (defaults to false - disabled) If set to true runs database migrations automatically on startup.
  • -e MAUTIC_TRUSTED_PROXIES=...: (defaults to empty) If Mautic sits behind a reverse proxy, you can set a json array of CIDR network addresses here, and mautic will set those addresses as trusted proxies. You can use ["0.0.0.0/0"] or See documentation
  • -e MAUTIC_CRON_HUBSPOT=...: (defaults to empty) Enables mautic crons for Hubspot CRM integration
  • -e MAUTIC_CRON_SALESFORCE=...: (defaults to empty) Enables mautic crons for Salesforce integration
  • -e MAUTIC_CRON_PIPEDRIVE=...: (defaults to empty) Enables mautic crons for Pipedrive CRM integration
  • -e MAUTIC_CRON_ZOHO=...: (defaults to empty) Enables mautic crons for Zoho CRM integration
  • -e MAUTIC_CRON_SUGARCRM=...: (defaults to empty) Enables mautic crons for SugarCRM integration
  • -e MAUTIC_CRON_DYNAMICS=...: (defaults to empty) Enables mautic crons for Dynamics CRM integration

PHP options

  • -e PHP_INI_DATE_TIMEZONE=...: (defaults to UTC) Set PHP timezone
  • -e PHP_MEMORY_LIMIT=...: (defaults to 256M) Set PHP memory limit
  • -e PHP_MAX_UPLOAD=...: (defaults to 20M) Set PHP upload max file size
  • -e PHP_MAX_EXECUTION_TIME=...: (defaults to 300) Set PHP max execution time

About Webnestify

Imagine a world where you can focus on your business and less time maintaining your cloud infrastrucure. With Webnestify cloud based solutions, we provide customized solutions for all types of companies to meet their needs; no matter how big or small they may be!

Read our reviews on Trustpilot!

Subscribe to our YouTube channel!

If you need to setup your own Docker instances or need help with security, visit our Docker deployment service.

You can get 20€ in cloud credits using this link for Hetzner Cloud. Webnestify recommends Hetzner for all of your projects.