Como criar seu próprio boletim informativo com Listmonk

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 .

Uma captura de tela mostrando a visão geral de uma nova instância do Listmonk.

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.

Um terminal mostrando o prompt de limpeza do banco de dados para o Listmonk Docker Container.

Volte para a sessão SSH do banco de dados da sua instância e pressione Ctrl+ Cpara encerrar a sessão normalmente.

Um terminal mostrando o banco de dados temporário fechando 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.

Uma captura de tela mostrando a tela de login do Listmonk.

Clique no botão “Login” e digite “listmonk” nos campos Nome de usuário e Senha.

Uma captura de tela mostrando o prompt de credenciais.

Fazer isso carregará o painel principal da sua instância Listmonk. Clique na opção “Configurações” na barra lateral esquerda da página.

Uma captura de tela destacando o

Substitua o valor da caixa de texto “URL raiz” pelo endereço completo da sua instância Listmonk.

Uma captura de tela destacando o

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.

Uma captura de tela destacando o ícone do usuário no Gmail.

Clique em “Gerenciar sua conta do Google”.

Uma captura de tela destacando o

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.

Uma captura de tela destacando o

Role para baixo até a parte inferior da página e clique no botão “Senhas de aplicativos”.

Uma captura de tela mostrando o

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”.

Uma captura de tela mostrando um exemplo de senha de aplicativo.

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”.

Uma captura de tela destacando o link do modelo do Gmail.

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.

Uma captura de tela mostrando um link completo do Gmail.

Clique em “Salvar” para aplicar suas novas configurações de SMTP.

Uma captura de tela destacando o

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”.

Uma captura de tela destacando o

Selecione o botão “Novo” no canto superior direito da página.

Uma captura de tela destacando o

Preencha os detalhes da sua nova lista de e-mails e clique em “Salvar”.

Uma captura de tela mostrando uma lista básica de boletins informativos públicos.

É 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

O seu endereço de email não será publicado. Campos obrigatórios marcados com *