Listmonk Self-Hosted: E-mail Marketing Gratuito e Rápido

8 min de leitura Automação de Marketing
Listmonk Self-Hosted: E-mail Marketing Gratuito e Rápido

O que é Listmonk e por que ele muda o jogo

No ecossistema de automação de marketing, muitas ferramentas exigem contratos caros, hospedagem em nuvem proprietária ou configurações complexas que dificultam a privacidade dos dados. O Listmonk self-hosted surge como uma alternativa robusta, rápida e totalmente open source para quem deseja ter controle absoluto sobre suas campanhas de newsletter.

Diferente de soluções tradicionais que podem ser lentas ou pesadas, o Listmonk é construído em Go, garantindo performance excepcional mesmo com milhares de assinantes. Ele não depende de bancos de dados pesados como MySQL ou PostgreSQL para funcionar corretamente, utilizando apenas SQLite, o que torna a instalação extremamente leve e ideal para instalar listmonk vps de qualquer porte, desde instâncias básicas até servidores dedicados de alta performance.

Este tutorial vai guiar você pela instalação completa em um ambiente Linux (Ubuntu/Debian), configuração do banco de dados, deploy da aplicação e exposição segura via Nginx com HTTPS. Se você busca uma alternativa mautic focada puramente em envio de e-mail sem a complexidade de CRM pesado, ou precisa de email marketing open source que rode no seu próprio servidor e-mail vps, este é o caminho.

Pré-requisitos para instalação

Antes de começar, certifique-se de que você tem acesso SSH ao seu servidor. Recomendamos o uso de um usuário com privilégios sudo e uma versão recente do Ubuntu Server ou Debian 11/12.

  • Servidor Linux (Ubuntu 20.04+ ou Debian 11+)
  • Acesso root ou sudo
  • Domínio configurado apontando para o IP do servidor (ex: mail.seudominio.com)
  • Portas 80 e 443 abertas no firewall

Você também precisará de um cliente SSH (como Terminal, PowerShell ou PuTTY) para executar os comandos abaixo.

Passo 1: Preparando o ambiente Linux

A primeira etapa é atualizar os pacotes do sistema e instalar as dependências necessárias. O Listmonk é distribuído como um binário único, mas precisamos de ferramentas para gerenciar processos e garantir que a aplicação reinicie em caso de falhas.

sudo apt update && sudo apt upgrade -y
sudo apt install wget sqlite3 curl jq unzip -y

Embora o Listmonk use SQLite internamente, ter o cliente sqlite3 instalado localmente facilita a verificação e manutenção do banco de dados se necessário. O jq será útil para manipulação de JSON caso você queira automatizar partes da configuração via scripts.

Passo 2: Baixando e instalando o Listmonk

O Listmonk disponibiliza binários pré-compilados para Linux AMD64 em seu repositório oficial no GitHub. Vamos criar um diretório dedicado para a instalação e baixar a versão estável mais recente.

sudo mkdir -p /opt/listmonk
cd /opt/listmonk

Acesse a página de releases do Listmonk no GitHub para verificar a última versão. Para este tutorial, assumiremos que você está baixando a versão v3.0.0. Ajuste o número da versão conforme necessário.

VERSION="v3.0.0"
wget "https://github.com/knadh/listmonk/releases/download/${VERSION}/listmonk_${VERSION}_linux_amd64.tar.gz"
tar -xzvf listmonk_${VERSION}_linux_amd64.tar.gz

Após a extração, você verá um arquivo binário chamado listmonk. Vamos dar permissão de execução e movê-lo para um local acessível globalmente.

chmod +x listmonk
sudo mv listmonk /usr/local/bin/listmonk

Agora, vamos criar um usuário dedicado para rodar o serviço. Isso é uma prática essencial de segurança: nunca rode aplicações críticas como root.

sudo useradd -r -s /usr/sbin/nologin listmonk

Passo 3: Configurando o banco de dados SQLite

O Listmonk usa um arquivo listmonk.db no diretório raiz da instalação. Inicialmente, ele não existe. Precisamos gerar o esquema inicial do banco de dados.

cd /opt/listmonk
sudo -u listmonk ./listmonk --install

Este comando criará o arquivo listmonk.db e populá-lo-á com as tabelas necessárias. Você será solicitado a definir um nome de usuário e senha para o administrador do painel.

Em seguida, precisamos gerar um segredo criptográfico que o Listmonk usará para assinar sessões e tokens CSRF. Copie o valor gerado pelo comando abaixo:

./listmonk --generate-config

O comando acima cria um arquivo config.toml com valores padrão. Abra este arquivo para editá-lo.

nano config.toml

Você deve ajustar as seguintes linhas no arquivo de configuração:

  1. App Secret: Cole o segredo gerado anteriormente dentro das aspas duplas em app_secret = "...".
  2. Database Path: Certifique-se de que o caminho aponta para o arquivo correto. Se estiver no mesmo diretório, deixe como database = "listmonk.db".
  3. Admin Credentials: Ajuste o admin_username e admin_password se desejar alterar as credenciais padrão definidas na instalação.

Salve o arquivo (Ctrl+O, Enter, Ctrl+X no nano).

Passo 4: Criando o serviço Systemd

Para gerenciar o Listmonk como um serviço de fundo, criaremos uma unidade systemd. Isso garante que a aplicação inicie automaticamente com o servidor e possa ser reiniciada facilmente.

sudo nano /etc/systemd/system/listmonk.service

Cole o seguinte conteúdo no arquivo:

[Unit]
Description=Listmonk Self-Hosted Email Marketing Engine
After=network.target

[Service]
Type=simple
User=listmonk
Group=listmonk
WorkingDirectory=/opt/listmonk
ExecStart=/usr/local/bin/listmonk --config config.toml
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Salve o arquivo e ative o serviço:

sudo systemctl daemon-reload
sudo systemctl enable listmonk
sudo systemctl start listmonk

Verifique se o serviço está rodando corretamente:

sudo systemctl status listmonk

Você deve ver a linha Active: active (running). Se houver erros, verifique os logs com journalctl -u listmonk -f.

Passo 5: Configurando o Nginx como Reverse Proxy

O Listmonk escuta na porta 9000 por padrão. Para acessá-lo de forma segura e profissional, configuraremos o Nginx para servir como um reverse proxy e gerenciar certificados SSL via Let's Encrypt.

Instale o Nginx:

sudo apt install nginx certbot python3-certbot-nginx -y

Crie um arquivo de configuração do servidor virtual:

sudo nano /etc/nginx/sites-available/listmonk

Substitua mail.seudominio.com pelo seu domínio real:

server {
    listen 80;
    server_name mail.seudominio.com;

    location / {
        proxy_pass http://127.0.0.1:9000;
        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;
    }
}

Habilite a configuração e teste o Nginx:

sudo ln -s /etc/nginx/sites-available/listmonk /etc/nginx/sites-enabled/
sudo nginx -t

Se o teste for bem-sucedido, recarregue o Nginx:

sudo systemctl reload nginx

Passo 6: Ativando HTTPS com Let's Encrypt

A segurança é crucial em sistemas de e-mail marketing. Use o Certbot para obter um certificado SSL gratuito e configurar o redirecionamento automático de HTTP para HTTPS.

sudo certbot --nginx -d mail.seudominio.com

O assistente interativo perguntará se deseja redirecionar todo o tráfego para HTTPS. Escolha a opção 2 (Redirecionar). O Certbot atualizará automaticamente a configuração do Nginx e renovará o certificado quando expirar.

Passo 7: Primeiro acesso e configuração inicial

Agora que a infraestrutura está pronta, abra seu navegador e acesse https://mail.seudominio.com. Faça login com as credenciais de administrador definidas no config.toml.

No painel do Listmonk, o primeiro passo é configurar a conta de envio. Vá em Settings > SMTP. Você pode usar:

  • O servidor SMTP local (se houver um MTA como Postfix configurado).
  • Serviços de terceiros como Amazon SES, SendGrid, Mailgun ou SparkPost (recomendado para alta deliverability).

Se estiver usando automacao marketing avançada, integre o Listmonk com sua stack atual via API. O Listmonk expõe uma API RESTful completa que permite a criação de listas, envio de campanhas e gestão de assinantes programaticamente.

Boas práticas e manutenção

Para manter seu Listmonk self-hosted em perfeita saúde, adicione uma tarefa cron para fazer backup do banco de dados SQLite:

sudo crontab -e

Adicione a seguinte linha para fazer backup diário às 3 da manhã:

0 3 * * * cp /opt/listmonk/listmonk.db /backup/listmonk-$(date +\%F).db.bak

Lembre-se de ajustar o caminho do diretório de backup conforme sua estrutura.

Conclusão

Instalar e configurar o Listmonk é um processo direto que oferece retorno imediato em termos de controle, privacidade e performance. Ao optar por esta solução email marketing open source, você elimina custos de licença e depende menos de provedores externos.

Com o servidor rodando no Linux e protegido por HTTPS, você tem uma base sólida para escalar suas campanhas de newsletter. Seja para comunidades técnicas, boletins informativos ou comunicações internas, o Listmonk prova que ferramentas poderosas não precisam ser complexas ou caras. Agora é hora de construir sua lista e engajar seu público com eficiência.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000