Listmonk er en enkel, alt-i-en selv-hostet nyhedsbreve og postlisteløsning til Linux. I modsætning til traditionelle postlisteprogrammer udmærker den sig ved at levere en slank platform, der er let og hurtig. Her viser vi dig, hvordan du installerer Listmonk ved hjælp af Docker på Ubuntu, og hvordan du kommer i gang med at bruge det til at sende nyhedsbreve.
Fordele ved at bruge Listmonk
Et af de største salgsargumenter Listmonk er, at den kan fungere med næsten enhver ekstern postleveringsserver på internettet. Det betyder, at du kan sende dine nyhedsbreve med en hostet mailudbyder såsom Gmail eller din egen selvhostede mailopsætning.

Listmonk kommer også med muligheden for at oprette programmerbare e-mail-skabeloner. Dette gør det muligt at oprette brugerdefinerede e-mails, der kan justere sig selv afhængigt af konteksten, hvorigennem brugeren modtager beskeden.
Endelig kommer Listmonk med et intuitivt analysemodul, så du kan spore hvert nyhedsbrev, der kører i programmet. Det kan spore både antallet af klik, hver besked får, samt de samlede visninger, en hel mailingliste opnår i løbet af en periode.
Installation af Listmonk
Få Docker og Docker Compose
Antagelse: Denne artikel antager, at du kører Listmonk på en altid tændt VPS. Ydermere forudsætter det også, at du allerede har et domænenavn med en A- og PTR-record, der peger på din VPS.
For at begynde skal du hente lagernøglen til Docker- og Docker Compose-pakkerne:
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
Opret den nye lagerfil til dine Docker- og Docker Compose-pakker:
sudo nano /etc/apt/sources.list.d/docker.list
Skriv følgende kodelinje inde i din nye depotfil:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Opdater og opgrader hele dit Ubuntu-system ved at køre følgende kommando:
sudo apt update && sudo apt upgrade
Installer Docker Engine sammen med Docker Compose og dens komponentafhængigheder:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git curl
Sørg for, at din nuværende bruger har de rigtige tilladelser til at få adgang til Docker binære filer:
sudo usermod -aG docker ramces
Opsætning og implementering af Listmonk
Opret en ny mappe til dine Docker-filer inde i hjemmemappen for din nuværende bruger:
mkdir ~/listmonk && cd ~/listmonk
Opret en ny konfigurationsfil til din Listmonk-instans:
nano ./config.toml
Indsæt følgende kode i din nye konfigurationsfil:
[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 = ""
Bemærk: Du kan nemt oprette en tilfældig adgangskode med kommandoen: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1
Gem din nye konfigurationsfil, og opret derefter din Listmonk-instans’s docker-compose.yml:
nano ./docker-compose.yml
Indsæt følgende kodeblok i din nye .yml-fil. Dette er standard docker-compose.yml-filen for Listmonk, som jeg ændrede til at fungere med min tidszone:
--- 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
Implementering af Listmonk Docker Container
Kør følgende Docker-kommando for at generere din forekomsts databasefil:
docker compose up db
Åbn en ny SSH-forbindelse, og start derefter byggeprocessen for Listmonk ved at køre “listmonk”-binæren inde i dens Docker-beholder:
docker compose run --rm app ./listmonk --install
Skriv “Y”, og tryk derefter på Gå ind når build-scriptet beder dig om at slette eksisterende data på den kørende database. Dette sikrer, at din Listmonk-beholder er ren, når den starter.

Gå tilbage til SSH-session for din forekomsts database, og tryk derefter på Ctrl + C for at afslutte sessionen yndefuldt.

Til sidst skal du genstarte alle Docker-containerne til Listmonk med de korrekte indstillinger:
docker compose up -d app db
Oprettelse af Nginx Reverse Proxy
Selvom Listmonk er begyndt at køre på en Docker-instans, er den ikke offentlig tilgængelig, før du har konfigureret en omvendt proxy til at linke til den. Følg instruktionerne nedenfor for at konfigurere en Nginx omvendt proxy.
Opret en ny webstedskonfigurationsfil til din Listmonk-instans:
sudo nano /etc/nginx/sites-available/listmonk
Indsæt følgende kodeblok i din nye webstedskonfigurationsfil:
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; } }
Link din nye konfigurationsfil fra /etc/nginx/sites-available til /etc/nginx/sites-enabled:
sudo ln -s /etc/nginx/sites-available/listmonk /etc/nginx/sites-enabled/
Genstart din Nginx-serverdæmon ved at køre følgende kommando:
sudo systemctl reload nginx
Installation af SSL-certifikat
Når du har konfigureret den omvendte proxy, vil dit websted være offentligt tilgængeligt. Det er dog ikke sikkert, da der ikke er noget SSL-certifikat. Det næste trin er således at installere SSL-certifikatet.
Sørg for, at kerne-snap-dæmonen kører i dit system:
sudo snap install core
Installer certbot snap-pakken fra Electronic Frontier Foundation (EFF). Dette værktøj giver dig mulighed for at anmode om et SSL-certifikat, som din server kan bruge til at kryptere forbindelser mellem værter.
sudo snap install certbot --classic
Test om din certbot-pakke kører korrekt ved at registrere den til EFF:
sudo certbot register --agree-tos -m you@your-email.invalid
Få et nyt SSL-certifikat til din Listmonk-installation ved at køre følgende kommando:
sudo certbot --nginx -d listmonk.myvpsserver.top
Adgang og konfiguration af Listmonk
Åbn en webbrowser, og naviger derefter til adressen på din Listmonk-instans. Dette åbner en simpel webside med en login-knap.

Klik på knappen “Login”, og skriv derefter “listmonk” i både brugernavn og adgangskode felterne.

Hvis du gør det, indlæses hoveddashboardet for din Listmonk-instans. Klik på indstillingen “Indstillinger” på sidens venstre sidebjælke.

Erstat værdien af ”Root URL”-tekstboksen med den komplette adresse på din Listmonk-instans.

Klik på “Gem” i sidens øverste højre hjørne for at gemme den nye indstilling.
Bemærk: Glem ikke at ændre standard brugernavn og adgangskode.
Tilknytning af en Gmail-konto til Listmonk
Log ind på din Gmail-konto, og klik derefter på din brugers ikon i sidens øverste højre hjørne.

Klik på “Administrer din Google-konto”.

Klik på kategorien “Sikkerhed” på sidens venstre sidebjælke. Vælg indstillingen “2-trins verifikation” på undersiden Sikkerhed.

Rul ned til bunden af siden, og klik derefter på knappen “App-adgangskoder”.

Dette vil vise en prompt for at bede dig om navnet på den applikation, du vil linke til. Skriv “listmonk”, og klik derefter på “Opret”.
Siden vil derefter poppe op i et lille vindue med 16 tilfældige tegn grupperet i fire. Kopier dette til en tekstfil, og klik derefter på “Udført”.

Gå tilbage til din Listmonk-dashboard-side, og klik derefter på indstillingen “Indstillinger” på sidens venstre sidebjælke.
Vælg fanen “SMTP” på sidens øverste bjælke. Klik på linket “Gmail” under rullemenuen “Auth Protocol”.

Indtast den komplette e-mail-adresse på din Gmail-konto i feltet “Brugernavn”.
Klik på feltet “Adgangskode”, og skriv derefter den 16-bogstavs streng, du kopierede fra Gmail-webstedet uden mellemrum.

Klik på “Gem” for at anvende dine nye SMTP-indstillinger.

Til sidst skal du gå til fanen Generelt og derefter erstatte værdien af tekstfeltet “Standard ‘fra’-adresse” med adressen på din Gmail-konto.
Oprettelse af et nyt Listmonk-nyhedsbrev
Gå til din Listmonk Dashboard-side, klik på kategorien “Lister” og klik derefter på “Alle lister”.

Vælg knappen “Ny” i sidens øverste højre hjørne.

Udfyld detaljerne for din nye mailingliste, og klik derefter på “Gem”.

Det er det. Du har fuldført installationen af Listmonk.
At være vært for dit eget nyhedsbrev er kun en del af at skabe din egen digitale platform. Lær, hvordan du kan udvide dette ved at være vært for en blog i Linux ved hjælp af Ghost og køre dit eget Kanban-netkort med Kanboard.
Billedkredit: Nyhedsbrev – skrevet på en gammel skrivemaskine af 123RF. Alle ændringer og skærmbilleder af Ramces Red.
Støt vores arbejde ❤️
Hvis du kunne lide denne artikel, kan du overveje at give drikkepenge for at hjælpe os med fortsat at udgive kvalitetsindhold.




















