Como criar seu próprio boletim informativo com Listmonk
Listmonk é uma solução simples e completa de newsletters e listas de discussão auto-hospedadas para Linux. Ao contrário dos programas de lista de discussão tradicionais, ele se destaca por fornecer uma plataforma enxuta, leve e rápida. Aqui mostramos como instalar o Listmonk usando Docker no Ubuntu e como começar a usá-lo para enviar newsletters.
Vantagens de usar o Listmonk
Um dos maiores pontos de venda do Listmonk é que ele pode funcionar com praticamente qualquer servidor externo de entrega de correio na Internet. Isso significa que você pode enviar seus boletins informativos com um provedor de e-mail hospedado, como o Gmail, ou com sua própria configuração de e-mail auto-hospedada .
Listmonk também vem com a capacidade de criar modelos de email programáveis. Isso permite criar e-mails personalizados que podem se ajustar dependendo do contexto pelo qual o usuário recebe a mensagem.
Por último, Listmonk vem com um módulo analítico intuitivo para você rastrear cada boletim informativo veiculado dentro do programa. Ele pode rastrear a quantidade de cliques que cada mensagem recebe, bem como as visualizações gerais que uma lista de e-mails inteira obtém em um período de tempo.
Instalação do Listmonk
Obtendo Docker e Docker Compose
Suposição: Este artigo pressupõe que você esteja executando o Listmonk em um VPS sempre ativo. Além disso, também pressupõe que você já tenha um nome de domínio com um registro A e PTR apontando para o seu VPS.
Para começar, recupere a chave do repositório para os pacotes Docker e Docker Compose:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Crie o novo arquivo de repositório para seus pacotes Docker e Docker Compose:
sudo nano /etc/apt/sources.list.d/docker.list
Escreva a seguinte linha de código dentro do seu novo arquivo de repositório:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Atualize e atualize todo o seu sistema Ubuntu executando o seguinte comando:
sudo apt update && sudo apt upgrade
Instale o Docker Engine junto com o Docker Compose e suas dependências de componentes:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git curl
Certifique-se de que seu usuário atual tenha as permissões corretas para acessar os binários do Docker:
sudo usermod -aG docker ramces
Configurando e implantando Listmonk
Crie uma nova pasta para seus arquivos Docker dentro do diretório inicial do seu usuário atual:
mkdir ~/listmonk && cd ~/listmonk
Crie um novo arquivo de configuração para sua instância do Listmonk:
nano. /config.toml
Cole o seguinte código dentro do seu novo arquivo de configuração:
[app]
address = "0.0.0.0:9000"
admin_username = "listmonk"
admin_password = "listmonk"
[db]
host = "listmonk_db"
port = 5432
user = "listmonk"
password = "INSERT_RANDOM_PASSWORD_HERE"
database = "listmonk"
ssl_mode = "disable"
max_open = 25
max_idle = 25
max_lifetime = "300s"
params = ""
Salve seu novo arquivo de configuração e crie o docker-compose.yml da sua instância do Listmonk:
nano. /docker-compose.yml
Cole o seguinte bloco de código dentro do seu arquivo new. arquivo yml. Este é o arquivo docker-compose.yml padrão para Listmonk que modifiquei para funcionar com meu fuso horário:
---
version: "3.7"
x-app-defaults:
restart: unless-stopped
image: listmonk/listmonk:latest
ports:
- 9000:9000
networks:
- listmonk
environment:
- TZ=Asia/Manila
x-db-defaults:
image: postgres:13
ports:
- 9432:5432
networks:
- listmonk
environment:
- POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE
- POSTGRES_USER=listmonk
- POSTGRES_DB=listmonk
restart: unless-stopped
healthcheck:
test:
- CMD-SHELL
- pg_isready -U listmonk
interval: 10s
timeout: 5s
retries: 6
services:
db:
image: postgres:13
ports:
- 9432:5432
networks:
- listmonk
environment:
- POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE
- POSTGRES_USER=listmonk
- POSTGRES_DB=listmonk
restart: unless-stopped
healthcheck:
test:
- CMD-SHELL
- pg_isready -U listmonk
interval: 10s
timeout: 5s
retries: 6
container_name: listmonk_db
volumes:
- type: volume
source: listmonk-data
target: /var/lib/postgresql/data
app:
restart: unless-stopped
image: listmonk/listmonk:latest
ports:
- 9000:9000
networks:
- listmonk
environment:
- TZ=Asia/Manila
container_name: listmonk_app
depends_on:
- db
volumes:
-. /config.toml:/listmonk/config.toml
networks:
listmonk: null
volumes:
listmonk-data: null
Implantando o contêiner Listmonk Docker
Execute o seguinte comando do Docker para gerar o arquivo de banco de dados da sua instância:
docker compose up db
Abra uma nova conexão SSH e inicie o processo de construção do Listmonk executando o binário “listmonk” dentro de seu contêiner Docker:
docker compose run --rm app. /listmonk --install
Digite “Y” e pressione Enterquando o script de construção solicitar que você limpe todos os dados existentes no banco de dados em execução. Isso garantirá que seu contêiner Listmonk esteja limpo quando for iniciado.
Volte para a sessão SSH do banco de dados da sua instância e pressione Ctrl+ Cpara encerrar a sessão normalmente.
Por fim, reinicie todos os contêineres Docker do Listmonk com as configurações adequadas:
docker compose up -d app db
Criando proxy reverso Nginx
Embora o Listmonk tenha começado a ser executado em uma instância do Docker, ele não estará acessível publicamente até que você tenha configurado um proxy reverso para vincular a ele. Siga as instruções abaixo para configurar um proxy reverso Nginx.
Crie um novo arquivo de configuração de site para sua instância do Listmonk:
sudo nano /etc/nginx/sites-available/listmonk
Cole o seguinte bloco de código dentro do novo arquivo de configuração do site:
server {
server_name listmonk.myvpsserver.top;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}}
Vincule seu novo arquivo de configuração de /etc/nginx/sites-available para /etc/nginx/sites-enabled:
sudo ln -s /etc/nginx/sites-available/listmonk /etc/nginx/sites-enabled/
Reinicie o daemon do servidor Nginx executando o seguinte comando:
sudo systemctl reload nginx
Instalando Certificado SSL
Depois de configurar o proxy reverso, seu site estará acessível publicamente. No entanto, não é seguro porque não existe certificado SSL. Assim, o próximo passo é instalar o certificado SSL.
Certifique-se de que o daemon snap principal esteja em execução em seu sistema:
sudo snap install core
Instale o pacote snap certbot da Electronic Frontier Foundation (EFF). Este utilitário permitirá que você solicite um certificado SSL que seu servidor pode usar para criptografar conexões entre hosts.
sudo snap install certbot --classic
Teste se o seu pacote certbot está funcionando corretamente registrando-o na EFF:
sudo certbot register --agree-tos -m you@your-email.invalid
Obtenha um novo certificado SSL para sua instalação do Listmonk executando o seguinte comando:
sudo certbot --nginx -d listmonk.myvpsserver.top
Acessando e configurando o Listmonk
Abra um navegador da web e navegue até o endereço da sua instância do Listmonk. Isso abrirá uma página da web simples com um botão de login.
Clique no botão “Login” e digite “listmonk” nos campos Nome de usuário e Senha.
Fazer isso carregará o painel principal da sua instância Listmonk. Clique na opção “Configurações” na barra lateral esquerda da página.
Substitua o valor da caixa de texto “URL raiz” pelo endereço completo da sua instância Listmonk.
Clique em “Salvar” no canto superior direito da página para salvar a nova configuração.
Vinculando uma conta do Gmail ao Listmonk
Faça login na sua conta do Gmail e clique no ícone do seu usuário no canto superior direito da página.
Clique em “Gerenciar sua conta do Google”.
Clique na categoria “Segurança” na barra lateral esquerda da página. Selecione a opção “Verificação em duas etapas” na subpágina Segurança.
Role para baixo até a parte inferior da página e clique no botão “Senhas de aplicativos”.
Isso exibirá um prompt solicitando o nome do aplicativo que você deseja vincular. Digite “listmonk” e clique em “Criar”.
A página irá então abrir uma pequena janela com 16 caracteres aleatórios agrupados em quatro. Copie isso para um arquivo de texto e clique em “Concluído”.
Volte para a página do painel do Listmonk e clique na opção “Configurações” na barra lateral esquerda da página.
Selecione a aba “SMTP” na barra superior da página. Clique no link “Gmail” abaixo da caixa suspensa “Protocolo de autenticação”.
Digite o endereço de e-mail completo da sua conta do Gmail no campo “Nome de usuário”.
Clique no campo “Senha” e digite a sequência de 16 letras que você copiou do site do Gmail sem espaços.
Clique em “Salvar” para aplicar suas novas configurações de SMTP.
Por último, vá para a guia Geral e substitua o valor da caixa de texto “Endereço ‘de’ padrão” pelo endereço da sua conta do Gmail.
Criando um novo boletim informativo Listmonk
Vá para a página do painel do Listmonk, clique na categoria “Listas” e clique na opção “Todas as listas”.
Selecione o botão “Novo” no canto superior direito da página.
Preencha os detalhes da sua nova lista de e-mails e clique em “Salvar”.
É isso. Você concluiu a instalação do Listmonk.
Hospedar seu próprio boletim informativo é apenas uma parte da criação de sua própria plataforma digital. Aprenda como você pode estender isso hospedando um blog no Linux usando o Ghost e executando seu próprio quadro Kanban da web com o Kanboard .
Crédito da imagem: Boletim Informativo – escrito em uma máquina de escrever antiga por 123RF. Todas as alterações e capturas de tela de Ramces Red.
Deixe um comentário