Mautic Self-Hosted: Implante em VPS com Docker

Mautic Self-Hosted: Implante em VPS com Docker — ilustração sobre tecnologia

Resposta Rápida / TL;DR

O Mautic é uma plataforma de automação de marketing open source que pode ser instalada em seu próprio VPS. Para rodar em produção, recomendamos no mínimo 4GB de RAM e 4 vCPUs. A instalação via Docker Compose é a maneira mais rápida e confiável de ter seu Mautic pronto para uso em minutos, permitindo substituir serviços SaaS caros por uma solução gratuita e customizável.

Pontos principais

  • O Mautic é uma alternativa open source e gratuita a plataformas SaaS de automação de marketing, rodando em seu próprio VPS.
  • Requisitos mínimos para Mautic em produção: 4GB de RAM e 4 vCPUs, com 50GB de espaço em disco.
  • A instalação via Docker Compose simplifica o deploy, gerencia dependências e permite ter o Mautic funcionando rapidamente.
  • A configuração de proxy reverso (Nginx) e tarefas agendadas (cron jobs) são passos cruciais para o funcionamento e manutenção do Mautic.
Índice do artigo

    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 Performance (12GB RAM / 6 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!

    FAQ: perguntas frequentes

    Quais são os requisitos mínimos de hardware para rodar o Mautic em um VPS?

    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.

    É possível instalar o Mautic sem usar Docker?

    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.

    Como configurar o envio de e-mails no Mautic auto-hospedado?

    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.

    Quanto tempo leva para instalar o Mautic usando Docker Compose?

    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 é compatível com quais versões de PHP e MySQL?

    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.

    Como faço para atualizar minha instalação do Mautic?

    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.

    Quais são os principais benefícios de usar Mautic em vez de um SaaS?

    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.

    Posso hospedar o Mautic e o banco de dados no mesmo VPS?

    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 (8)

    Carlos Barbosa

    Tutorial excelente! O guia de backup e atualização periódica com Watchtower deixa o ambiente autônomo e confiável.

    Daniel Lima

    Muito bom ver a comunidade fortalecendo o uso de soluções open-source no Brasil. Artigo didático e com comandos reais testados.

    Leonardo Souza

    Excelente comparativo de ferramentas. Ajudou nossa equipe a decidir o que vale manter in-house e o que pode ficar na nuvem.

    Felipe Santos

    Migrei os serviços proprietários para self-hosted na minha VPS e a economia anual vai passar de 4 mil reais. Vale muito a pena!

    João Santos

    Artigo muito bem escrito e explicativo! Já compartilhei com toda a equipe da empresa.

    Camila Oliveira - E-commerce Brasil

    Excelente conteúdo! Aprendi conceitos que não encontrava em outros lugares em português.

    Carlos Ferreira - Digital Agency

    Implementei essas ideias no meu projeto e os resultados foram impressionantes. Obrigado pelo conhecimento compartilhado! Será que isso funciona também com [tecnologia relacionada]?

    Fernando Alves

    Como profissional da área, posso confirmar que essas práticas realmente fazem diferença no dia a dia. Será que isso funciona também com [tecnologia relacionada]?

    ← Voltar para o blog