Ir para Conteúdo

Como instalar o Mautic com Docker no Digital Ocean

Estimated Reading Time: 5 Minutes

O Docker é a maneira mais simples e fácil de colocar um aplicativo em produção. Com ele conseguimos lançar com poucos ajustes um servidor de Banco de Dados, um Proxy com SSL e então o Mautic para realizar todas as campanhas de automação de Marketing.

O Docker Mautic já teve mais de 2 milhões de downloads ao longo dos últimos 2 anos e é a maneira mais simples e segura de colocar o seu mautic no funcionamento.

Neste artigo vamos criar todo o Stack para que o Mautic funcione com:

  • MySQL
  • SSL
  • Mautic
  • Proxy Reverso com Nginx

Uma visão geral do Docker Mautic

A imagem do Docker Mautic foi construída observando Docker Images populares para fazer o ambiente perfeito para o Mautic funcionar.

Basicamente a imagem copia a versão mais recente do Mautic para a pasta /var/www/html e configura todas as permissões necessárias nos arquivos.

Junto ao Docker Mautic instalamos um servidor Percona MySQL que possui configurações excelentes para o modo em que o Mautic funciona.

E por fim temos um proxy reverso que envia as requisições para o Mautic e realiza a configuração automática do SSL com Let's Encrypt.

Vamos ao passo a passo para começar a usar o Mautic hoje?

Etapa 1: Criar um Droplet no DigitalOcean

  1. Acesse DigitalOcean e crie uma conta
  2. Depois de fazer o login, escolha 'Create Droplet' com LAMP ou LEMP com Ubuntu 18.04 LTS entre as opções disponíveis.
  3. Escolha 2 GB / 50 GB de disco (US $10/ mês) para projetos pequenos
  4. Escolha o local mais próximo do local do seu cliente
  5. Ative os backups, se necessário (serão aplicados custos adicionais)
  6. Método de login - Use uma chave SSH de preferência, pois isso é mais seguro, ou uma senha única, se isso não for possível
  7. Crie o Droplet e aguarde que ela seja provisionada
  8. Efetue login com sua chave SSH ou a senha gerada usando o seguinte comando:
ssh root@ip

Digite sua senha como o email enviado a partir do DigitalOcean, se você preferir a senha única.

Etapa 2: Como instalar o Docker na VPS

Importante: Você precisa de uma VPS criada na etapa anterior com acesso SSH para realizar esse passo a passo.

É necessário que a máquina esteja limpa, não instale nenhum outro software como Apache, Nginx ou MySQL nessa máquina.

O objetivo do script de instalação (https://github.com/docker/docker-install) é facilitar a instalação rápida das versões mais recentes do Docker-CE nas distribuições linux suportadas.

No Terminal do seu servidor digite:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Isso vai instalar automaticamente o Docker para você em qualquer distro Linux suportada.

Para verificar se o Docker está funcionando, digite:

docker info

Você irá visualizar as informações do seu sistema.

Começando com o Docker

O Docker permite que todo o processo de instalação seja automatizado. Basta rodar alguns comandos e os softwares funcionam com a configuração padrão e com o Mautic não é diferente.

Antes de começar é necessário que você adicione a entrada DNS A ou CNAME no seu domínio apontando para o servidor em que o Mautic estará rodando.

Se você está apenas testando o Mautic na sua Máquina local (MacOS, Linux ou Windows) poderá ignorar o passo 4, já que não será necessário.

Etapa 3 - Configurando uma Rede no Docker

O primeiro passo é criar uma rede interna para que o Mautic possa se comunicar com o Banco de Dados e com o Proxy reverso. No terminal digite:

docker network create mauticnet

Passo 4 - Configurando o Proxy Reverso com SSL

A vamos instalar o Proxy Reverso chamado nginx-proxy junto ao nginx-proxy-companion que serão responsáveis por receber as requisições HTTP e repassar para o Mautic e também criar o certificado SSL gratuito com o Let's Encrypt.

No terminal SSH do seu servidor digite:

docker run -d --restart=always \
    -p 80:80 -p 443:443 --name nginx-proxy \
    -v /path/to/certs:/etc/nginx/certs:ro \
    -v /etc/nginx/vhost.d \
    -v /usr/share/nginx/html \
    -v /var/run/docker.sock:/tmp/docker.sock:ro \
    --label 

com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy \
    --net=mauticnet \
    jwilder/nginx-proxy:latest

Você já tem um servidor nginx funcionando com SSL sem modificar nenhuma configuração. O Docker é fantástico.

Etapa 5: Configurando o Servidor MySQL

Os próximos comandos fazem o trabalho de instalação e configuração do MySQL e criam um usuário root para que possamos usar com o Mautic:

docker volume create mysql_data

docker run --name mysql -d -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=YOURPASSWORD
    --restart=always \
    -v mysql_data:/var/lib/mysql \
    --net=mauticnet \
    percona/percona-server:5.7 \
    --character-set-server=utf8mb4 
    --collation-server=utf8mb4_general_ci

Por favor, modifique o YOURPASSWORD por uma senha forte.

Etapa 6: Configurando o Mautic Docker

Por fim vamos instalar o Mautic usando a imagem oficial mautic/mautic que automatiza todo o processo de instalação:

docker volume create mautic_data

docker run -d --restart=always \
      --name mautic \
      -e MAUTIC_DB_HOST=mysql \
      -e MAUTIC_DB_USER=root \
      -e MAUTIC_DB_PASSWORD=YOURPASSWORD \
      -e MAUTIC_DB_NAME=mautic \
      -e VIRTUAL_HOST=mautic.yourdomain.com \
      -e LETSENCRYPT_HOST=mautic.yourdomain.com \
      -e [email protected] \
      -P 8080:80 \
      -v mautic_data:/var/www/html \
      --net=mauticnet \
      --privileged \
      mautic/mautic:latest

No exemplo acima será necessário inserir as seguintes variáveis:

MAUTIC_DB_PASSWORD: Aqui você deve informar a senha do MySQL.

VIRTUAL_HOST: Aqui é o endereço do seu Mautic.

LETSENCRYPT_HOST: Você deve repetir o endereço do seu Mautic ;)

LETSENCRYPT_EMAIL: Aqui vai o seu e-mail para ser registrado no Let's Encrypt.

É isso! 


Se você instalou o Mautic na sua máquina local, acesse http://localhost:8080 para ter acesso ao Mautic pronto para ser instalado. Caso você tenha instalado em uma VPS acesse mautic.yourdomain.com.

Como instalar o Mautic com Docker no Digital Ocean
  • COMMENT

  • Powered by PHPKB (Knowledge Base Software)