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:
- App Secret: Cole o segredo gerado anteriormente dentro das aspas duplas em
app_secret = "...". - Database Path: Certifique-se de que o caminho aponta para o arquivo correto. Se estiver no mesmo diretório, deixe como
database = "listmonk.db". - Admin Credentials: Ajuste o
admin_usernameeadmin_passwordse 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.