Mautic Self-Hosted: Implante em VPS com Docker

12 min 4 Open Source Alternatives

Como Hospedar o Mautic em um VPS: Substitua SaaS por Open Source

O Mautic é uma alternativa open source robusta e gratuita para quem busca autonomia em automação de marketing, substituindo ferramentas SaaS como RD Station ou Mailchimp. Este guia foca em como implantar o Mautic em um VPS, especificamente utilizando Docker para uma instalação rápida e confiável. Assumindo que você já decidiu pela potência do Mautic, o próximo passo é ter a infraestrutura adequada. Uma configuração mínima para produção, incluindo o Mautic, seu banco de dados (geralmente MySQL/MariaDB) e o servidor web (como Nginx), requer pelo menos 4GB de RAM e 4 vCPUs. Menos que isso pode levar a lentidão e instabilidade, especialmente com campanhas ativas. Se você ainda não possui um servidor, considere um plano como o VPS Brasil Básico, que oferece 4GB de RAM e 4 vCPUs, ideal para iniciar com Mautic.

A instalação via Docker Compose simplifica a gestão de dependências, como o banco de dados MySQL, e o próprio Mautic, em um ambiente isolado e fácil de gerenciar. Ao final deste tutorial, você terá seu Mautic rodando, pronto para conectar com suas estratégias de marketing, com a vantagem de não ter custos de licença e total controle sobre seus dados e personalizações. Esta abordagem self-hosted é a base para quem deseja otimizar custos e ter flexibilidade máxima em suas operações de marketing digital.

Por que Escolher o Mautic Self-Hosted?

Optar pelo Mautic auto-hospedado em um VPS oferece uma série de vantagens estratégicas. Primeiramente, o controle total sobre seus dados é garantido. Em vez de confiar suas informações de leads e campanhas a terceiros, você as armazena em seu próprio servidor, aumentando a segurança e a privacidade, em conformidade com regulamentações como a LGPD. Em segundo lugar, a economia é significativa. Ao substituir serviços SaaS que cobram por funcionalidades e volume, o custo se resume à infraestrutura do seu VPS, que pode ser bastante acessível, especialmente com planos como o VPS Brasil Básico de R$ 99/mês. Essa alternativa gratuita permite escalar suas operações sem o aumento proporcional dos custos de licença. Finalmente, a flexibilidade de customização é incomparável. Você pode integrar o Mautic com outras ferramentas, desenvolver plugins customizados e ajustar cada aspecto da plataforma à sua necessidade específica, algo inviável com soluções SaaS fechadas.

Requisitos de Servidor para Mautic em Produção

Para garantir que seu Mautic funcione de maneira eficiente e confiável em um ambiente de produção, é crucial atender aos requisitos de infraestrutura. Conforme minha experiência ajudando clientes a migrar de SaaS, subdimensionar o servidor é um erro comum que leva a problemas de performance. Para uma instalação padrão do Mautic com seu banco de dados MySQL/MariaDB, recomendamos um servidor com no mínimo 4GB de RAM e 4 vCPUs. O espaço em disco deve ser de pelo menos 50GB, considerando o crescimento dos dados de leads, logs e arquivos de campanha, além do sistema operacional e Docker. O consumo de RAM do Mautic pode variar bastante dependendo do número de campanhas ativas, tarefas agendadas e o tráfego de visitantes no seu site, podendo facilmente consumir 1.5GB a 3GB em uso moderado. O banco de dados, se rodando no mesmo servidor, adicionará mais 1GB ou mais. Portanto, 4GB de RAM é o ponto de partida para evitar gargalos, e 8GB seria o ideal para maior folga.

Componentes Essenciais para a Instalação

  • Sistema Operacional: Ubuntu Server 20.04 LTS ou superior é altamente recomendado.
  • Docker e Docker Compose: Essenciais para a implantação simplificada.
  • Banco de Dados: MySQL 5.7+ ou MariaDB 10.3+ são compatíveis e necessários.
  • Servidor Web (Proxy Reverso): Nginx é a escolha comum para gerenciar o tráfego e a configuração SSL.

Otimização de Performance

A performance do Mautic em um VPS pode ser otimizada de diversas formas. Certifique-se de que seu servidor web (Nginx) esteja corretamente configurado com cache e SSL. As tarefas agendadas (cron jobs) do Mautic devem ser executadas regularmente para processar e-mails, limpar dados e atualizar informações. Na minha experiência, configurar estas tarefas para rodar a cada 5 ou 10 minutos é um bom equilíbrio. Para sites com alto tráfego e muitas automações, considere separar o banco de dados em um servidor dedicado ou utilizar um serviço gerenciado de banco de dados, e até mesmo replicar os containers do Mautic se o volume de e-mails exigir.

Passo a Passo: Instalando Mautic com Docker Compose

Este tutorial demonstra como implantar o Mautic em seu VPS utilizando Docker e Docker Compose, uma maneira eficiente de gerenciar as dependências e a configuração. O processo é direto e permite ter o Mautic funcionando em cerca de 15 minutos após a configuração inicial. Certifique-se de que seu sistema Ubuntu tenha o Docker e o Docker Compose instalados. Se precisar de ajuda com a instalação do Docker, confira este guia completo sobre Docker em VPS.

1. Preparando o Ambiente no Servidor

Primeiro, crie um diretório para o Mautic e navegue até ele. É aqui que seu arquivo `docker-compose.yml` e outros arquivos de configuração serão armazenados. Use comandos simples para criar e acessar o diretório:

mkdir ~/mautic
cd ~/mautic

2. Criando o Arquivo `docker-compose.yml`

Agora, vamos criar o arquivo `docker-compose.yml`. Este arquivo definirá os serviços necessários: o Mautic em si e o banco de dados MySQL. Este é um exemplo de configuração que inclui volumes para persistência de dados e expõe as portas necessárias. É crucial que as senhas sejam fortes e únicas. O Mautic geralmente utiliza a porta 80 ou 443 externamente (gerenciadas pelo seu proxy reverso), mas para o serviço interno do Docker, a porta 80 do container é suficiente.

version: '3'

services:
  db:
    image: mysql:5.7
    container_name: mautic_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: SuaSenhaRootSuperSegura123!
      MYSQL_DATABASE: mautic
      MYSQL_USER: mautic_user
      MYSQL_PASSWORD: SuaSenhaMauticSegura456!
    volumes:
      - mautic_db_data:/var/lib/mysql
    networks:
      - mautic_network

  mautic:
    image: mautic/mautic:latest
    container_name: mautic_app
    restart: always
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      MYSQL_HOST: db
      MYSQL_PORT: 3306
      MYSQL_DATABASE: mautic
      MYSQL_USER: mautic_user
      MYSQL_PASSWORD: SuaSenhaMauticSegura456!
    volumes:
      - mautic_app_data:/var/www/html
    networks:
      - mautic_network

volumes:
  mautic_db_data:
  mautic_app_data:

networks:
  mautic_network:
    driver: bridge

3. Executando os Containers

Com o arquivo `docker-compose.yml` pronto, você pode iniciar os serviços com um único comando. Este comando baixará as imagens necessárias e iniciará os containers do banco de dados e do Mautic. Recomendamos rodar em modo detached (`-d`) para que os processos rodem em segundo plano.

docker-compose up -d

Após executar o comando, o Docker baixará as imagens e iniciará os containers. Você pode verificar o status com:

docker ps

Você deverá ver os containers `mautic_db` e `mautic_app` listados e rodando.

4. Configurando o Acesso e Proxy Reverso (Nginx)

Para acessar o Mautic, você precisará configurar um proxy reverso, como o Nginx, para direcionar o tráfego externo (geralmente porta 80/443) para a porta 8080 do container Mautic. Este passo é crucial para a segurança e para usar um domínio próprio com certificado SSL.

Crie um arquivo de configuração do Nginx para o Mautic (ex: `/etc/nginx/sites-available/mautic`):

server {
    listen 80;
    server_name seu_dominio.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # Configuração para SSL (Let's Encrypt) - A ser adicionada após obter o certificado
}

Habilite o site e reinicie o Nginx:

sudo ln -s /etc/nginx/sites-available/mautic /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Após configurar o Nginx, acesse `seu_dominio.com` no navegador para completar a configuração inicial do Mautic. Se você ainda não configurou o Nginx e SSL, recomendo seguir este guia de configuração de servidor web que também aborda o proxy reverso e SSL com Let's Encrypt, adaptando para seu domínio.

5. Concluindo a Instalação no Navegador

Com o proxy reverso configurado, acesse o domínio que você definiu (ex: `seu_dominio.com`). Você será guiado pelo assistente de configuração do Mautic. Insira as informações solicitadas, que devem corresponder às que você definiu no arquivo `docker-compose.yml` (usuário, senha do banco de dados). O Mautic criará o usuário administrador principal neste momento. Certifique-se de escolher uma senha forte para o administrador.

Ajustes Finais e Tarefas Agendadas

Após o login, é fundamental configurar as tarefas agendadas (cron jobs) para que o Mautic funcione corretamente. Edite o crontab do seu usuário (geralmente `root` ou o usuário que você usa para gerenciar o VPS) e adicione as seguintes linhas:

# Mautic Cron Jobs
* * * * * php /var/www/html/bin/console mautic:broadcasts:send --env=prod
* * * * * php /var/www/html/bin/console mautic:campaigns:trigger --env=prod
* * * * * php /var/www/html/bin/console mautic:campaigns:campaigns --env=prod
* * * * * php /var/www/html/bin/console mautic:emails:send --env=prod
* * * * * php /var/www/html/bin/console mautic:segments:update --env=prod
* * * * * php /var/www/html/bin/console mautic:lead_lists:update --env=prod
* * * * * php /var/www/html/bin/console mautic:translations:update --env=prod
* * * * * php /var/www/html/bin/console mautic:maintenance:cleanup --env=prod

Importante: Estes comandos precisam ser executados dentro do container do Mautic. Uma forma comum de gerenciar isso com Docker Compose é configurar um container dedicado para os crons ou usar um serviço externo que chame os comandos via `docker exec`. Uma abordagem mais simples para iniciantes é rodar os comandos diretamente no host, apontando para a instalação dentro do container. Um exemplo de como fazer isso (adaptando o caminho):

# Crie um script wrapper ou execute diretamente, ajustando o PATH para o docker-compose.yml
# Exemplo com docker exec (requer o nome do container Mautic definido no docker-compose.yml, ex: 'mautic_app')
*/5 * * * * docker exec mautic_app php /var/www/html/bin/console mautic:campaigns:trigger --env=prod
*/5 * * * * docker exec mautic_app php /var/www/html/bin/console mautic:emails:send --env=prod
# Adicione outras tarefas conforme necessário

Erros Comuns e Soluções ao Instalar Mautic

Ao instalar e rodar o Mautic em um VPS, alguns problemas são mais recorrentes. Conhecê-los antecipadamente pode economizar muito tempo e frustração.

Problema 1: Falha ao Conectar com o Banco de Dados

Este é frequentemente causado por credenciais incorretas no arquivo `docker-compose.yml` ou pelo banco de dados ainda não estar totalmente inicializado quando o Mautic tenta conectar. Verifique se as variáveis `MYSQL_HOST`, `MYSQL_PORT`, `MYSQL_USER`, `MYSQL_PASSWORD` e `MYSQL_DATABASE` no serviço do Mautic correspondem exatamente às configurações do serviço `db`. Se estiver usando Docker, certifique-se de que o serviço `mautic` depende do serviço `db` usando `depends_on`.

Problema 2: Tarefas Agendadas (Cron Jobs) Não Executando

Mautic depende fortemente de suas tarefas agendadas para enviar e-mails, atualizar segmentos e gerenciar campanhas. Se elas não estiverem rodando, o sistema não funcionará como esperado. Verifique se os comandos `cron` estão corretamente configurados no `crontab` do seu servidor e se eles conseguem acessar o ambiente Docker (usando `docker exec` é o mais recomendado com esta configuração). Um erro comum é configurar os crons diretamente no host sem considerar que o PHP e os comandos do Mautic estão dentro do container.

Problema 3: Lentidão ou Falhas de Memória

Como mencionado, o Mautic pode consumir bastante RAM, especialmente com um grande volume de leads e campanhas. Se o servidor tiver menos de 4GB de RAM, ou se o tráfego for muito alto, você pode enfrentar lentidão ou o serviço pode parar de responder. Monitore o uso de RAM e CPU do seu servidor. Se o limite estiver sendo atingido, considere fazer um upgrade do seu plano VPS, como o VPS Brasil Básico Plus (8GB RAM / 8 vCPUs), ou otimizar suas campanhas e segmentações para serem mais eficientes.

Problema 4: Erros de Permissão de Arquivo

Em instalações que não utilizam Docker, erros de permissão de arquivo são comuns. No nosso setup com Docker Compose, os volumes geralmente cuidam disso. No entanto, se você realizar modificações manuais nos arquivos dentro dos volumes persistentes, pode encontrar problemas. Sempre que possível, gerencie os arquivos e permissões através das ferramentas do Docker ou comandos que interajam com os volumes mapeados.

Perguntas Relacionadas

O Mautic é realmente gratuito?

Sim, o Mautic é um software open source e gratuito. Você não paga por licenças de uso. Os custos associados são apenas os da infraestrutura do servidor (VPS) onde ele será hospedado e, opcionalmente, serviços de e-mail transacional (ESP) se você não usar a infraestrutura própria do seu VPS para enviar e-mails.

Qual a diferença entre Mautic e Mailchimp/RD Station?

As principais diferenças residem no modelo de licenciamento e na flexibilidade. Mailchimp e RD Station são serviços SaaS com planos pagos, funcionalidades mais limitadas para personalização profunda e onde você não tem controle total sobre os dados. Mautic é open source, gratuito, permite controle total sobre dados e personalização, mas exige que você gerencie a infraestrutura (hospedagem VPS) e a manutenção.

Preciso de um servidor dedicado para Mautic?

Não necessariamente. Um VPS (Virtual Private Server) é suficiente para a maioria dos casos de uso do Mautic. Para uma instalação com banco de dados e proxy reverso, um VPS com no mínimo 4GB de RAM e 4 vCPUs é recomendado. Servidores dedicados seriam para operações de altíssimo volume ou requisitos de segurança/isolamento muito específicos.

Comparativo: Mautic Self-Hosted vs. SaaS de Automação de Marketing

A decisão entre uma solução self-hosted como o Mautic e um SaaS pago envolve ponderar custos, controle e complexidade. Veja uma comparação:

AspectoMautic (Self-Hosted)SaaS (Ex: RD Station, Mailchimp)
Custo InicialBaixo (apenas infraestrutura VPS)Variável (planos pagos mensais/anuais)
Custo ContínuoCusto do VPS + manutençãoMensalidades crescentes com volume/funcionalidades
Controle de DadosTotal (em seu VPS)Limitado (compartilhado em infraestrutura do provedor)
CustomizaçãoExtremamente alta (código aberto)Limitada às APIs e opções do provedor
ManutençãoResponsabilidade do usuário (atualizações, segurança)Gerenciada pelo provedor
Curva de AprendizadoMédia a Alta (instalação, configuração)Baixa a Média (interface amigável)
EscalabilidadeDepende do VPS e otimizaçõesLimitada pelo plano contratado
Privacidade/LGPDControle total, mais fácil de adequarDepende das políticas do provedor

CTA: Implante Seu Mautic Agora com a Host You Secure

Você decidiu dar o próximo passo na automação de marketing, migrando para uma solução poderosa, flexível e econômica como o Mautic. Para rodar essa plataforma de forma otimizada e sem dores de cabeça, a infraestrutura certa é essencial. Com base em nossa experiência e no feedback de clientes que já utilizam o Mautic em produção, o plano ideal para começar é o VPS Brasil Básico.

Este plano oferece 4GB de RAM e 4 vCPUs, especificamente dimensionado para suportar o Mautic rodando com seu banco de dados e um servidor web, garantindo performance e estabilidade para suas campanhas. Nossos clientes rodam essa mesma stack em uma VPS Brasil Básico, aproveitando ao máximo os recursos sem custos excessivos. Com um investimento de apenas R$ 99/mês, você tem a base sólida para suas estratégias de marketing digital.

Não perca mais tempo com limitações e custos crescentes de SaaS. Assuma o controle total do seu marketing com Mautic. Clique aqui para conhecer e adquirir o seu VPS Brasil Básico e comece sua jornada de automação hoje mesmo!

Leia também: Veja mais tutoriais de N8N

Perguntas Frequentes

Para uma instalação em produção do Mautic com banco de dados e servidor web, recomendamos no mínimo 4GB de RAM e 4 vCPUs. Um espaço em disco de 50GB é aconselhável para acomodar o sistema, o Docker, logs e dados de campanhas. Menos que 4GB de RAM pode resultar em instabilidade e lentidão, especialmente com uso intensivo.

Sim, é possível instalar o Mautic manualmente em um servidor LAMP (Linux, Apache/Nginx, MySQL, PHP). No entanto, a instalação via Docker Compose é significativamente mais rápida, confiável e simplifica o gerenciamento de dependências como o banco de dados MySQL, tornando-a a abordagem recomendada para a maioria dos usuários.

Você pode configurar o Mautic para enviar e-mails através de um serviço de SMTP externo (como SendGrid, AWS SES, Mailgun) ou configurar seu próprio servidor de e-mail. Para um servidor VPS, a configuração de um MTA (Mail Transfer Agent) como Postfix pode ser complexa e sujeita a filtros de spam. O uso de um serviço de SMTP dedicado geralmente oferece melhor entregabilidade.

A instalação básica do Mautic usando Docker Compose, incluindo a configuração do arquivo e a subida dos containers, pode ser realizada em cerca de 15 a 30 minutos, dependendo da sua familiaridade com Docker e da velocidade da sua conexão com o servidor. A configuração do proxy reverso e SSL pode adicionar tempo extra.

O Mautic geralmente requer versões mais recentes de PHP (como 7.4 ou superior) e MySQL (5.7+ ou MariaDB 10.3+). Ao usar Docker, as imagens oficiais do Mautic e do MySQL já vêm com as versões compatíveis pré-configuradas, simplificando a conformidade.

Com Docker Compose, a atualização geralmente envolve atualizar a tag da imagem no arquivo `docker-compose.yml` (ex: de `mautic/mautic:latest` para `mautic/mautic:4.x.x`), parar os containers (`docker-compose down`), remover as imagens antigas (`docker-compose pull` e `docker-compose build`) e subir os containers novamente (`docker-compose up -d`). É crucial fazer um backup antes de qualquer atualização.

Os principais benefícios incluem controle total sobre seus dados, maior privacidade e conformidade com LGPD, ausência de custos de licença (apenas infraestrutura), e flexibilidade ilimitada para personalização e integrações. Você não fica preso às limitações de planos de SaaS e pode adaptar a ferramenta às suas necessidades específicas.

Sim, é comum e totalmente possível hospedar o Mautic e seu banco de dados MySQL/MariaDB no mesmo VPS, especialmente para instalações de pequeno a médio porte. Para sites com muito tráfego ou grande volume de dados, separar o banco de dados em um VPS dedicado pode melhorar a performance e a escalabilidade.

Comentários (0)

Ainda não há comentários. Seja o primeiro!