Hoste Listmonk på en Managed VPS: dine nyhedsbreve på din egen server

At hoste Listmonk på en Managed VPS betyder at opbevare dine abonnentlister og dine kampagner på en maskine, der er din egen, og som vores teams holder opdateret og overvåger dag og nat. Listmonk er fri software under AGPL-3.0-licensen. Denne guide følger den officielle dokumentation: hvilken version du skal vælge, Docker Compose, PostgreSQL, HTTPS, afsendelse via SMTP, bounces, samtykke, backup og opdateringer.

Simon Vasconcelos Lee Af Udgivet den 12. november 2026Læsetid: 13 minutter

Alle guider

Det vigtigste

  1. AGPL-3.0-licensen tillader at bruge Listmonk i virksomheder uden at købe en licens; hvis du ændrer den, skal dine brugere på afstand kunne få kildekoden til din version.
  2. Installér den stabile version 6.2.0 med et fast Docker-tag: version 7, der vises øverst på GitHub, er stadig en beta.
  3. Docker Compose starter Listmonk og PostgreSQL. Publicér port 9000 lokalt, server den via HTTPS bag en reverse proxy, og angiv dens «Root URL».
  4. Listmonk sender via de SMTP-servere, du konfigurerer: til masseudsendelse bør du bruge en specialiseret afsendertjeneste på port 587, med SPF, DKIM og DMARC på dit domæne.
  5. Foretræk double opt-in, slå behandlingen af bounces til, og eksportér databasen med pg_dump før hver opdatering.

Hvad Listmonk gør

Listmonk administrerer dine mailinglister og dine nyhedsbreve fra en webgrænseflade. Det er ét enkelt program, skrevet i Go, hvor PostgreSQL er den eneste afhængighed. Dets lister er envejs: du skriver til dine abonnenter, og det er ikke en diskussionsliste mellem dem.

Hvad AGPL-3.0-licensen tillader

Listmonk udgives under GNU AGPL version 3-licensen. Du kan bruge den, også i en virksomhed, og sende dine og dine kunders kampagner uden at skulle købe en licens. Tilbage er udgiften til serveren og til din afsendertjeneste.

Artikel 13 tilføjer en betingelse, der er særlig for AGPL: hvis du ændrer programmet, skal din version tydeligt tilbyde alle, der bruger det på afstand, via netværket, at få dets kildekode gratis. Hvis du distribuerer kopier, gælder licensens forpligtelser til at dele koden også. At køre Listmonk uden at ændre den udløser ikke denne artikel.

Hvilken version af Listmonk skal man installere?

Noget, du bør vide, før du begynder. På GitHub betegner mærket «Latest» for tiden v7.0.0-beta.2 fra den 10. november 2026, som projektet selv præsenterer som en beta. Den seneste stabile version er v6.2.0, som indeholder sikkerhedsrettelser til tilladelserne. Den 11. november 2026 peger Docker-imaget latest på denne v6.2.0.

VersionDocker-imageStatus
v6.2.0listmonk/listmonk:v6.2.0Stabil: den, der bruges i denne guide
v7.0.0-beta.2listmonk/listmonk:betaBeta: skal prøves på en kopi, med en backup
nightlylistmonk/listmonk:nightlyIkke testet, ifølge projektet: på eget ansvar

Version 7 erstatter hele administrationsgrænsefladen, ændrer nogle af dens adresser, gør indstillingen app.from_email til en liste af adresser og ændrer oversættelsesnøgler, hvilket berører tilpassede skabeloner. Læs dens versionsnoter, før du går over til den.

Projektets Compose-fil kører --upgrade --yes ved hver opstart: et nyt image migrerer databasen uden at spørge dig. Men en migreret database kan ikke læses af en ældre version, og at gå tilbage kræver, at en backup gendannes. Med et fast tag, som v6.2.0, forbliver skiftet af version din beslutning.

Installation med Docker Compose

Projektet anbefaler Docker Compose: dets fil starter Listmonk og PostgreSQL sammen. På en server, hvor Docker er installeret, opretter du en mappe og henter denne fil:

Terminal
mkdir listmonk
cd listmonk
curl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml

Projektet beder om at tilpasse denne fil til dit miljø. Her er de eneste linjer, der skal ændres, resten røres ikke:

docker-compose.yml, linjerne der skal ændres
x-db-credentials: &db-credentials
  POSTGRES_USER: &db-user listmonk
  POSTGRES_PASSWORD: &db-password un-mot-de-passe-long
  POSTGRES_DB: &db-name listmonk

services:
  app:
    image: listmonk/listmonk:v6.2.0
    ports:
      - "127.0.0.1:9000:9000"
    hostname: listmonk.example.com

Start derefter tjenesterne, og opret samtidig Super Admin-kontoen på forhånd. Disse to variabler bruges kun ved første opstart, og uden dem oprettes kontoen ved det første besøg i grænsefladen: det er bedre, at den findes, før du åbner dit domæne.

Terminal
LISTMONK_ADMIN_USER=votre-identifiant LISTMONK_ADMIN_PASSWORD=votre-mot-de-passe docker compose up -d

Uden Docker: binæren

Listmonk kører også som et selvstændigt program ved siden af din egen PostgreSQL-server, i version 12 eller nyere, hvor databasen allerede er oprettet.

  1. Hent arkivet til v6.2.0 på projektets side med versioner, for eksempel listmonk_6.2.0_linux_amd64.tar.gz, og undgå betaen, der vises øverst, og udpak binæren.
  2. Generér konfigurationsfilen, og angiv derefter adgangene til databasen i config.toml.
  3. Installér tabellerne, og start derefter Listmonk.
Terminal
./listmonk --new-config
./listmonk --install
./listmonk

Som standard lytter config.toml på localhost:9000, hvilket passer bag en reverse proxy. Repositoryet leverer en tjenestefil listmonk@.service til systemd.

Serverens størrelse

Projektets website nævner en produktionsinstans, der sender en kampagne på mere end 7 millioner e-mails med en brøkdel af en processorkerne og en spids på 57 MB hukommelse. Det offentliggør hverken et minimum eller et tal for PostgreSQL, hvis volumen vokser med dine abonnenter, dine åbninger og dine klik. På en Managed VPS beskriver du blot din brug for os, og vi anbefaler den størrelse, der passer.

HTTPS og reverse proxyen

Dine abonnenter klikker på links, der peger på din instans: afmelding, bekræftelse, sporing af klik. Den serveres derfor via HTTPS på sit eget domænenavn. Opret A- og AAAA-records for dette navn, der peger på din server, hvor de besøgende kommer ind på port 80 og 443. Listmonks dokumentation overlader valget af proxy til dig, her er to almindelige konfigurationer.

Med Caddy

Caddy henter og fornyer selv certifikatet:

Caddyfile
listmonk.example.com {
    reverse_proxy 127.0.0.1:9000
}

Med Nginx og Certbot

Nginx afviser som standard forespørgsler på mere end 1 MB med fejlen 413. For at importere en fil med abonnenter eller billeder skal du hæve denne grænse, så den passer til dine filer:

Nginx-blok
server {
    listen 80;
    listen [::]:80;
    server_name listmonk.example.com;
    client_max_body_size 100m;

    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Certbot installerer derefter certifikatet fra Let's Encrypt og omdirigeringen til HTTPS og fornyer derefter certifikatet af sig selv:

Terminal
sudo certbot --nginx -d listmonk.example.com

De første indstillinger

Log ind på https://listmonk.example.com/admin, og åbn derefter «Settings»:

Hvad der forbliver offentligt, og hvad der kan lukkes

For at filtrere adgangen, efter IP-adresse eller via en godkendelsesproxy, fordeler dokumentationen ruterne således:

RuterRolleAdgang
/admin/*, /api/*, /webhooks/bounceAdministrationen, dens API og den interne webhook til bouncesPrivat
/subscription/*, /public/*Tilmeldingssiderne og deres filerOffentlig
/link/*, /campaign/*Sporing af links og sporingspixlenOffentlig
/webhooks/service/*De bounces, som din afsendertjeneste senderOffentlig
/uploads/*Billederne i dine e-mailsOffentlig

Afsendelsen: Listmonk går via dine SMTP-servere

Listmonk forbereder og tidsstyrer dine e-mails og overlader dem derefter til de SMTP-servere, du angiver under «Settings», «SMTP». Det leverer dem ikke selv til dine abonnenters postkasser: leveringens kvalitet afhænger derfor af denne server, af dit domæne og af dine lister.

Til masseudsendelse bør du vælge en specialiseret afsendertjeneste: den bærer dine udsendelsers omdømme og dit domænes signaturer og kan rapportere bounces. Fra en Simafri VPS går afsendelsen gennem et autentificeret SMTP-relay på port 587: her denne tjenestes.

Som rettesnor beskriver Listmonks dokumentation bounces fra Amazon SES, Azure Communication Services, SendGrid, Postmark, Forward Email og Lettermint. Sammenlign dem efter dit volumen og dine modtagere.

IndstillingVærdiHvad du kontrollerer
HostSMTP-adressen på din tjenesteErstatter det medfølgende eksempel
Port587Skærmbilledets forvalg foreslår ofte en anden port: skift tilbage til 587
TLSSTARTTLSHører sammen med port 587
Auth protocolDin tjenestes, ofte LOGINMed tjenestens SMTP-brugernavn og -adgangskode

Klik derefter på «Test connection»: Listmonk sender en testbesked og viser serverens fejl, hvis afsendelsen mislykkes. Du kan angive flere servere, vælge en af dem pr. kampagne eller route afsendelserne efter afsenderadresse eller -domæne.

Hastigheden

Indstil den under «Settings», «Performance», under din tjenestes grænse:

En besked, der mislykkes, forsøges igen efter indstillingen «Retries», på andre forbindelser til serveren. Mislykkes den stadig, noterer Listmonk den som fejl og går videre til den næste: hold øje med disse fejl under en stor kampagne.

Leveringsevne, afmelding og samtykke

At hoste applikationen gør dig til herre over disse emner, og det er dem, der afgør, om dine e-mails når frem.

SPF, DKIM og DMARC

Send fra en adresse på dit domæne, og publicér i dets DNS-zone de SPF- og DKIM-records, som din afsendertjeneste giver dig, sammen med en DMARC-record. Google kræver alle tre af afsendere af mere end 5.000 beskeder om dagen til Gmail-konti, med et afsenderdomæne afstemt efter SPF eller DKIM, afmelding med ét klik for markedsføringsbeskeder og en spamrapporteringsrate under 0,30 %, helst under 0,10 %.

Afmeldingen

Dine modtageres samtykke

Listmonk anvender den listetype, du vælger. På en liste med single opt-in modtager en abonnent, der er tilføjet uden bekræftelse, alligevel dine kampagner. På en liste med double opt-in modtager vedkommende først en bekræftelsesmail, og kun bekræftede abonnenter modtager dine kampagner. Det er det valg, der bedst beskytter dit afsenderomdømme, og som bevarer et tydeligt spor af samtykket.

Reglerne afhænger af dine modtageres land. I Frankrig kræver CNIL for eksempel forudgående samtykke fra privatpersoner, ved en positiv handling som et felt, der ikke er afkrydset på forhånd, med en undtagelse for dine kunder for lignende produkter eller tjenester. Mellem erhvervsdrivende kan markedsføring bygge på legitim interesse, hvis den vedrører deres fag. I alle tilfælde identificerer hver besked afsenderen og giver en enkel måde at afvise de næste på.

Skriv kun til personer, der venter dine beskeder. En købt eller gammel liste får bounces og spamrapporteringer til at stige, og det er dit domæne, der bærer konsekvenserne.

Sporing af åbninger og klik

Sporingspixlen og sporingen af klik berører privatlivet, og dokumentationen beder om at bruge dem under overholdelse af regler som GDPR. Som standard er denne sporing ikke knyttet til hver enkelt abonnent: valgmuligheden «Individual subscriber tracking» knytter den, og «Disable tracking» slår den helt fra, under «Settings», «Privacy».

Bounces

At fortsætte med at skrive til en adresse, der afviser dine beskeder, skader dit afsenderomdømme. Behandlingen af bounces er slået fra fra start: slå den til under «Settings», «Bounces», og vælg derefter en af disse to veje.

Til en dedikeret postkasse angiver du den som returadresse under «Settings», «SMTP», «Custom headers»:

Tilpassede headere
[
  {"Return-Path": "your-bounce-inbox@example.com"}
]

Startindstillingerne er dem, som dokumentationen giver for SES, og de udgør et godt grundlag:

Type bounceAntalHandling
Soft (let)2None: ingen
Hard (endelig)1Blocklist: adressen blokeres
Complaint (spamrapportering)1Blocklist: adressen blokeres

PostgreSQL, den eneste afhængighed

Listmonk kræver PostgreSQL 12 eller nyere. Compose-filen medbringer postgres:17-alpine, med dataene i Docker-volumen listmonk-data. Abonnenter, kampagner, skabeloner, statistikker og de fleste indstillinger ligger der; kun adgangene til databasen og lytteadressen bliver i konfigurationen.

For at pege på en eksisterende PostgreSQL-server ændrer du variablerne LISTMONK_db__host, LISTMONK_db__port, LISTMONK_db__user, LISTMONK_db__password og LISTMONK_db__database i tjenesten app.

Listmonk er bygget til store lister. Efterhånden som databasen vokser, er det den, der kan gøre grænsefladen langsom: med millioner af abonnenter kan dashboardet og tællerne bruge flere titals sekunder på at blive vist. Projektet råder da til to greb:

Terminal, i mappen med docker-compose.yml
docker compose exec db psql -U listmonk -d listmonk -c 'VACUUM ANALYZE;'

Backup og opdateringer

To elementer udgør din instans: PostgreSQL-databasen og mappen uploads, hvis dine billeder bliver på disken. pg_dump producerer en konsistent eksport uden at stoppe Listmonk eller blokere de øvrige adgange til databasen:

Terminal, i mappen med docker-compose.yml
docker compose exec -T db pg_dump -U listmonk listmonk > listmonk-$(date +%F).sql
tar -czf listmonk-uploads-$(date +%F).tar.gz uploads

For at gendanne stopper du Listmonk, tømmer databasen og genindlæser derefter eksporten. Som dokumentationen understreger, sletter dette indgreb den eksisterende database:

Terminal
docker compose stop app
docker compose exec db psql -U listmonk -d listmonk -c 'DROP SCHEMA public CASCADE; CREATE SCHEMA public;'
docker compose exec -T db psql -U listmonk -d listmonk < listmonk-2026-11-01.sql
docker compose start app

Opdatér

  1. Læs noterne til den nye version: Listmonk gør dig opmærksom på nye versioner i sin grænseflade, og nogle indeholder sikkerhedsrettelser.
  2. Eksportér databasen, som projektet beder om før enhver opdatering.
  3. Ændr imagets tag i docker-compose.yml.
  4. Kør dokumentationens kommandoer. Compose-filen migrerer databasen ved opstart.
Terminal
docker compose down app
docker compose pull
docker compose up app -d

Med binæren stopper du Listmonk, erstatter binæren, kører ./listmonk --upgrade og starter den derefter igen. For at gå tilbage til en tidligere version gendanner du den eksport, du tog før opdateringen, og sætter derefter det gamle tag på igen.

Hvem gør hvad på en Managed VPS

Selvhosting kræver, at du holder serveren ud over selve applikationen. På en Managed VPS tager vores teams sig af serveren og følger din instans proaktivt; Listmonk forbliver din software, med dens indstillinger, dine lister og dine kampagner.

EmneVores teamsDig
ServerenOpdateringer af system og sikkerhed, indgreb på serveren inkluderetDet tidspunkt, der passer til din drift
OvervågningenServeren følges døgnet rundt, alle ugens dage, med indgreb uden at vente på dit opkaldOpfølgningen på dine kampagner og dine bounces
ListmonkProaktiv opfølgning: fejl, langsomme svartider og diskplads opdages, og en rettelse anbefalesInstallation, opdateringer og indstillinger, som du gennemfører, selv eller med din AI-assistent
AfsendelsenEn server, der når dit SMTP-relay på port 587Din afsendertjeneste, dine DNS-records, dine lister og dine modtageres samtykke
BackupHver nat, krypteret og opbevaret uden for maskinen; gendannelse inkluderetAnmodningen om gendannelse og din eksport før hver opdatering
MigreringenDin nuværende server flyttes, uden beregningTidspunktet for omlægningen

Hvis du foretrækker, at vores teams griber ind i selve applikationen, faktureres den ydelse pr. time eller som fast pris, med et overslag oplyst før indgrebet.

Listmonk på en server, der passes for dig

Med en Managed VPS fra Simafri holder vores teams serveren bag din Listmonk-instans opdateret, overvåger den dag og nat og griber ind uden at vente på dit opkald; de følger også din instans proaktivt og anbefaler dig de nyttige rettelser, som du gennemfører, selv eller med din AI-assistent. Backup krypteres hver nat og opbevares uden for maskinen, gendannelsen er inkluderet, og migreringen af din nuværende server sker uden beregning.

Opdag Managed VPS

Ofte stillede spørgsmål

Er Listmonk gratis for en virksomhed?

Ja. Listmonk er under AGPL-3.0-licensen: du kan bruge den i din virksomhed uden at skulle købe en licens. Hvis du ændrer den, skal dine brugere på afstand kunne få kildekoden til din version. Tilbage er udgiften til serveren og til din afsendertjeneste.

Hvilken version af Listmonk skal man installere?

v6.2.0, den seneste stabile version den 11. november 2026. v7.0.0-beta.2, der vises øverst på GitHub, er en beta. I Docker Compose fastlåser du imaget på listmonk/listmonk:v6.2.0: så forbliver skiftet af version din beslutning, for en migreret database kan ikke læses af en ældre version.

Hvordan installerer man Listmonk med Docker Compose?

Hent projektets docker-compose.yml, ændr databasens adgangskode og imagets tag, og kør derefter docker compose up -d. Grænsefladen svarer på port 9000, med PostgreSQL ved siden af. Server den via HTTPS bag en reverse proxy, og angiv dens Root URL.

Hvilken SMTP-server skal man bruge med Listmonk?

Listmonk sender via de SMTP-servere, du konfigurerer. Til masseudsendelse bør du vælge en specialiseret afsendertjeneste, med STARTTLS på port 587, og publicere SPF, DKIM og DMARC på dit domæne. Listmonks dokumentation beskriver for eksempel bounces fra Amazon SES, SendGrid og Postmark.

Hvordan håndterer man bounces i Listmonk?

Slå behandlingen til under Settings, Bounces, og tilslut derefter din afsendertjenestes webhook eller en dedikeret POP3-postkasse. Startindstillingerne blokerer en adresse ved det første endelige bounce eller den første spamrapportering.

Hvordan tager man backup af Listmonk?

Eksportér databasen med pg_dump, uden at stoppe tjenesten, og behold mappen uploads, hvis dine billeder ligger på disken. Projektet beder om denne eksport før hver opdatering, for en tidligere version kan ikke læse en database, der allerede er migreret.

Håndterer Listmonk samtykke og afmelding?

Det giver værktøjerne: lister med double opt-in, afmeldingslink i dine skabeloner, headeren List-Unsubscribe og abonnentens eksport og sletning af data. Selve samtykket skal indhentes af dig, efter reglerne i dine modtageres land.

Dækker en Managed VPS Listmonk?

En Managed VPS dækker serveren: system, sikkerhed, overvågning og backup. Vores teams følger også din instans proaktivt og anbefaler dig de nyttige rettelser, som du gennemfører. Et indgreb i selve applikationen faktureres pr. time eller som fast pris.

Kilder og officiel dokumentation

Kontakt os