Hosta Listmonk på en Managed VPS: dina nyhetsbrev på din egen server

Att hosta Listmonk på en Managed VPS innebär att du förvarar dina prenumerantlistor och dina kampanjer på en egen maskin, som våra team håller uppdaterad och bevakar dag och natt. Listmonk är fri programvara under licensen AGPL-3.0. Den här guiden följer den officiella dokumentationen: vilken version du ska välja, Docker Compose, PostgreSQL, HTTPS, utskick via SMTP, bounces, samtycke, säkerhetskopior och uppdateringar.

Simon Vasconcelos Lee Av Publicerad den 12 november 2026Lästid: 13 minuter

Alla guider

I korthet

  1. Licensen AGPL-3.0 tillåter att använda Listmonk i företag utan att köpa någon licens; om du ändrar programmet måste dina användare på distans kunna få källkoden till din version.
  2. Installera den stabila versionen 6.2.0 med en fast Docker-tagg: version 7, som visas överst på GitHub, är fortfarande en beta.
  3. Docker Compose startar Listmonk och PostgreSQL. Publicera port 9000 lokalt, servera den över HTTPS bakom en omvänd proxy och fyll i dess ”Root URL”.
  4. Listmonk skickar via de SMTP-servrar du konfigurerar: för massutskick tar du en specialiserad utskickstjänst på 587, med SPF, DKIM och DMARC på din domän.
  5. Välj helst double opt-in, aktivera hanteringen av bounces och exportera databasen med pg_dump före varje uppdatering.

Det Listmonk gör

Listmonk hanterar dina utskickslistor och dina nyhetsbrev från ett webbgränssnitt. Det är ett enda program, skrivet i Go, där PostgreSQL är det enda beroendet. Dess listor går i en riktning: du skriver till dina prenumeranter, och det är inte en diskussionslista dem emellan.

Det som licensen AGPL-3.0 tillåter

Listmonk publiceras under licensen GNU AGPL version 3. Du kan använda det, också i ett företag, och skicka dina egna kampanjer och dina kunders, utan att köpa någon licens. Kvar blir kostnaden för servern och för din utskickstjänst.

Artikel 13 lägger till ett villkor som är särskilt för AGPL: om du ändrar programmet måste din version tydligt erbjuda alla som använder det på distans, över nätverket, att kostnadsfritt få dess källkod. Om du distribuerar kopior gäller också licensens skyldigheter att dela koden. Att köra Listmonk utan att ändra det utlöser inte den artikeln.

Vilken version av Listmonk ska man installera?

En sak att känna till innan du börjar. På GitHub pekar taggen ”Latest” just nu ut v7.0.0-beta.2 från den 10 november 2026, som projektet självt presenterar som en beta. Den senaste stabila versionen är v6.2.0, som innehåller säkerhetsrättelser för behörigheter. Den 11 november 2026 pekar Docker-avbilden latest ut den v6.2.0.

VersionDocker-avbildStatus
v6.2.0listmonk/listmonk:v6.2.0Stabil: den som den här guiden utgår från
v7.0.0-beta.2listmonk/listmonk:betaBeta: att prova på en kopia, med en säkerhetskopia
nightlylistmonk/listmonk:nightlyOtestad, enligt projektet: på egen risk

Version 7 ersätter hela administrationsgränssnittet, ändrar vissa av dess adresser, gör inställningen app.from_email till en lista med adresser och ändrar översättningsnycklar, vilket påverkar anpassade mallar. Läs dess versionsanteckningar innan du byter.

Projektets Compose-fil kör --upgrade --yes vid varje start: en ny avbild migrerar databasen utan att fråga dig. En migrerad databas går dock inte att läsa med en äldre version, och att gå tillbaka kräver att du återställer en säkerhetskopia. Med en fast tagg, som v6.2.0, förblir bytet av version ditt eget beslut.

Installationen med Docker Compose

Projektet rekommenderar Docker Compose: dess fil startar Listmonk och PostgreSQL tillsammans. På en server där Docker är installerat skapar du en mapp och hämtar den filen:

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

Projektet ber dig anpassa filen till din miljö. Det här är de enda raderna att ändra, resten rörs inte:

docker-compose.yml, raderna att ändra
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

Starta sedan tjänsterna och skapa Super Admin-kontot i förväg. De två variablerna används bara vid första starten, och utan dem skapas kontot vid första besöket i gränssnittet: bäst att det finns innan du öppnar din domän.

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

Utan Docker: binärfilen

Listmonk körs också som ett enskilt program, bredvid din egen PostgreSQL-server, version 12 eller senare, där databasen redan är skapad.

  1. Ladda ned arkivet för v6.2.0 från projektets sida med versioner, till exempel listmonk_6.2.0_linux_amd64.tar.gz, och undvik betan som visas överst, och packa upp binärfilen.
  2. Generera konfigurationsfilen och fyll sedan i åtkomsten till databasen i config.toml.
  3. Installera tabellerna och starta sedan Listmonk.
Terminal
./listmonk --new-config
./listmonk --install
./listmonk

Som standard lyssnar config.toml på localhost:9000, vilket passar bakom en omvänd proxy. Arkivet tillhandahåller en tjänstefil listmonk@.service för systemd.

Serverns storlek

Projektets webbplats nämner en produktionsinstans som skickar en kampanj på över 7 miljoner e-postmeddelanden med en bråkdel av en processorkärna och en topp på 57 MB minne. Den publicerar varken något minimum eller någon siffra för PostgreSQL, vars volym växer med dina prenumeranter, dina öppningar och dina klick. På en Managed VPS beskriver du hur du tänker använda den, så rekommenderar vi lämplig storlek.

HTTPS och den omvända proxyn

Dina prenumeranter klickar på länkar som pekar mot din instans: avanmälan, bekräftelse, klickspårning. Den serveras därför över HTTPS på ett eget domännamn. Skapa A- och AAAA-posterna för det namnet mot din server, där besökarna kommer in på port 80 och 443. Listmonks dokumentation lämnar valet av proxy öppet; här är två vanliga konfigurationer.

Med Caddy

Caddy hämtar och förnyar certifikatet på egen hand:

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

Med Nginx och Certbot

Nginx avvisar som standard förfrågningar på över 1 MB, med felet 413. För att importera en fil med prenumeranter eller bilder höjer du den gränsen efter dina filers storlek:

Nginx-block
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 installerar sedan certifikatet från Let’s Encrypt och omdirigeringen till HTTPS, och förnyar därefter certifikatet på egen hand:

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

De första inställningarna

Logga in på https://listmonk.example.com/admin och öppna sedan ”Settings”:

Det som förblir publikt och det som kan stängas

För att filtrera åtkomsten, med IP-adress eller via en autentiseringsproxy, delar dokumentationen in rutterna så här:

RutterRollÅtkomst
/admin/*, /api/*, /webhooks/bounceAdministrationen, dess API och den interna webhooken för bouncesPrivat
/subscription/*, /public/*Prenumerationssidorna och deras filerPublik
/link/*, /campaign/*Spårningen av länkar och spårningspixelnPublik
/webhooks/service/*Bounces som skickas av din utskickstjänstPublik
/uploads/*Bilderna i dina e-postmeddelandenPublik

Utskicket: Listmonk går via dina SMTP-servrar

Listmonk förbereder och doserar dina e-postmeddelanden och lämnar sedan över dem till de SMTP-servrar du anger under ”Settings”, ”SMTP”. Det levererar dem inte själv till dina prenumeranters brevlådor: leveransens kvalitet beror därför på den servern, på din domän och på dina listor.

För massutskick väljer du en specialiserad utskickstjänst: den bär ryktet för dina utskick och signaturerna för din domän, och kan rapportera tillbaka bounces. Från en VPS hos Simafri går utskicken via ett autentiserat SMTP-relä, på port 587: här, den tjänstens.

För att orientera dig beskriver Listmonks dokumentation bounces från Amazon SES, Azure Communication Services, SendGrid, Postmark, Forward Email och Lettermint. Jämför dem efter din volym och dina mottagare.

InställningVärdeDet du kontrollerar
HostSMTP-adressen till din tjänstErsätter exempelvärdet som medföljer
Port587Skärmens förinställningar föreslår ofta en annan port: gå tillbaka till 587
TLSSTARTTLSHör ihop med port 587
Auth protocolDin tjänsts, ofta LOGINMed tjänstens SMTP-användarnamn och lösenord

Klicka sedan på ”Test connection”: Listmonk skickar ett testmeddelande och visar serverns fel om utskicket misslyckas. Du kan ange flera servrar, välja en av dem per kampanj, eller dirigera utskicken efter avsändaradress eller avsändardomän.

Takten

Ställ in den under ”Settings”, ”Performance”, under din tjänsts gräns:

Ett meddelande som misslyckas görs om enligt inställningen ”Retries”, på andra anslutningar till servern. Misslyckas det igen noterar Listmonk det som ett fel och går vidare till nästa: håll koll på de felen under en stor kampanj.

Leveransbarhet, avanmälan och samtycke

Att hosta applikationen gör dig till herre över de här frågorna, och det är de som avgör om dina e-postmeddelanden kommer fram.

SPF, DKIM och DMARC

Skicka från en adress på din domän och publicera i dess DNS-zon de SPF- och DKIM-poster som din utskickstjänst ger dig, tillsammans med en DMARC-post. Google kräver alla tre av avsändare som skickar över 5 000 meddelanden per dag till Gmail-konton, med en avsändardomän som är anpassad till SPF eller DKIM, avanmälan med ett klick för marknadsföringsmeddelanden och en andel spamanmälningar under 0,30 %, helst under 0,10 %.

Avanmälan

Dina mottagares samtycke

Listmonk tillämpar den listtyp du väljer. På en lista med single opt-in får en prenumerant som lagts till utan bekräftelse ändå dina kampanjer. På en lista med double opt-in får personen först ett bekräftelsemeddelande, och bara bekräftade prenumeranter får dina kampanjer. Det är det val som skyddar ditt avsändarrykte bäst och som sparar ett tydligt spår av medgivandet.

Reglerna beror på dina mottagares land. I Frankrike kräver till exempel CNIL förhandssamtycke från privatpersoner, genom en positiv handling som en ikryssad ruta som inte är förbockad på förhand, med ett undantag för dina kunder när det gäller liknande produkter eller tjänster. Mellan företag kan marknadsföring bygga på berättigat intresse om den rör mottagarens yrke. I alla fall ska varje meddelande ange avsändaren och erbjuda ett enkelt sätt att avstå från de följande.

Skriv bara till personer som väntar på dina meddelanden. En köpt eller gammal lista får bounces och spamanmälningar att öka, och det är din domän som bär konsekvenserna.

Spårning av öppningar och klick

Spårningspixeln och klickspårningen berör privatlivet, och dokumentationen ber dig använda dem med respekt för regler som GDPR. Som standard är den spårningen inte kopplad till varje prenumerant: alternativet ”Individual subscriber tracking” kopplar den, och ”Disable tracking” stänger av den helt, under ”Settings”, ”Privacy”.

Bounces

Att fortsätta skriva till en adress som avvisar dina meddelanden skadar ditt avsändarrykte. Hanteringen av bounces är avstängd från början: aktivera den under ”Settings”, ”Bounces” och välj sedan en av de här två vägarna.

För en dedikerad brevlåda anger du den som returadress under ”Settings”, ”SMTP”, ”Custom headers”:

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

Startinställningarna är de som dokumentationen anger för SES, och de utgör en bra grund:

Typ av bounceAntalÅtgärd
Soft (lindrig)2None: ingen
Hard (definitiv)1Blocklist: adressen blockeras
Complaint (spamanmälan)1Blocklist: adressen blockeras

PostgreSQL, det enda beroendet

Listmonk kräver PostgreSQL 12 eller senare. Compose-filen levererar postgres:17-alpine, med sina data i Docker-volymen listmonk-data. Prenumeranter, kampanjer, mallar, statistik och de flesta inställningar finns där; bara åtkomsten till databasen och lyssningsadressen stannar i konfigurationen.

För att peka mot en befintlig PostgreSQL-server ändrar du variablerna LISTMONK_db__host, LISTMONK_db__port, LISTMONK_db__user, LISTMONK_db__password och LISTMONK_db__database i tjänsten app.

Listmonk är byggt för stora listor. När databasen växer är det den som kan göra gränssnittet långsamt: med miljontals prenumeranter kan instrumentpanelen och räknarna ta tiotals sekunder att visa. Projektet råder då till två åtgärder:

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

Säkerhetskopior och uppdateringar

Två delar utgör din instans: PostgreSQL-databasen och mappen uploads, om dina bilder ligger kvar på disken. pg_dump ger en konsekvent export utan att stoppa Listmonk eller blockera övrig åtkomst till 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

För att återställa stoppar du Listmonk, tömmer databasen och läser sedan in exporten igen. Som dokumentationen anger raderar den åtgärden databasen som finns:

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

Uppdatera

  1. Läs anteckningarna för den nya versionen: Listmonk meddelar dig om nya versioner i sitt gränssnitt, och vissa innehåller säkerhetsrättelser.
  2. Exportera databasen, som projektet ber om före varje uppdatering.
  3. Ändra avbildens tagg i docker-compose.yml.
  4. Kör kommandona från dokumentationen. Compose-filen migrerar databasen vid start.
Terminal
docker compose down app
docker compose pull
docker compose up app -d

Med binärfilen stoppar du Listmonk, ersätter binärfilen, kör ./listmonk --upgrade och startar det igen. För att gå tillbaka till en tidigare version återställer du exporten som togs före uppdateringen och sätter sedan tillbaka den gamla taggen.

Vem gör vad på en Managed VPS

Att självhosta innebär att sköta servern utöver applikationen. På en Managed VPS tar våra team hand om servern och följer din instans proaktivt; Listmonk förblir din programvara, med sina inställningar, dina listor och dina kampanjer.

OmrådeVåra teamDu
ServernUppdateringar av system och säkerhet, ingrepp på servern inräknadeTidpunkten som passar din verksamhet
ÖvervakningenServern följs dygnet runt, alla dagar, med ingrepp utan att vänta på ditt samtalUppföljningen av dina kampanjer och dina bounces
ListmonkProaktiv uppföljning: fel, långsamma svarstider och diskutrymme upptäcks, med rekommenderad rättelseInstallationen, uppdateringarna och inställningarna, som du genomför själv eller med din AI-assistent
UtskicketEn server som når ditt SMTP-relä på port 587Din utskickstjänst, dina DNS-poster, dina listor och dina mottagares samtycke
SäkerhetskopiornaVarje natt, krypterade och förvarade utanför maskinen; återställning ingårBegäran om återställning, och din export före varje uppdatering
MigreringenDin nuvarande server migreras kostnadsfrittTidpunkten för bytet

Om du föredrar att våra team ingriper i själva applikationen faktureras den tjänsten per timme eller som fast pris, med en offert som lämnas före ingreppet.

Listmonk, på en server som sköts åt dig

Med en Managed VPS från Simafri håller våra team servern för din Listmonk-instans uppdaterad, övervakar den dag och natt och griper in utan att vänta på ditt samtal; de följer också din instans proaktivt och rekommenderar de rättelser som är till nytta, som du genomför själv eller med din AI-assistent. Säkerhetskopiorna krypteras varje natt och förvaras utanför maskinen, återställningen ingår, och migreringen av din nuvarande server är kostnadsfri.

Upptäck Managed VPS

Vanliga frågor

Är Listmonk gratis för ett företag?

Ja. Listmonk är licensierat under AGPL-3.0: du kan använda det i ditt företag utan att köpa någon licens. Om du ändrar det måste dina användare på distans kunna få källkoden till din version. Kvar blir kostnaden för servern och för din utskickstjänst.

Vilken version av Listmonk ska man installera?

v6.2.0, den senaste stabila versionen den 11 november 2026. v7.0.0-beta.2, som visas överst på GitHub, är en beta. I Docker Compose låser du avbilden på listmonk/listmonk:v6.2.0: bytet av version förblir då ditt eget beslut, eftersom en migrerad databas inte går att läsa med en äldre version.

Hur installerar man Listmonk med Docker Compose?

Hämta projektets fil docker-compose.yml, ändra databasens lösenord och avbildens tagg och kör sedan docker compose up -d. Gränssnittet svarar på port 9000, med PostgreSQL bredvid. Servera det över HTTPS bakom en omvänd proxy och fyll i dess Root URL.

Vilken SMTP-server ska man använda med Listmonk?

Listmonk skickar via de SMTP-servrar du konfigurerar. För massutskick tar du en specialiserad utskickstjänst, med STARTTLS på port 587, och publicerar SPF, DKIM och DMARC på din domän. Listmonks dokumentation beskriver till exempel bounces från Amazon SES, SendGrid och Postmark.

Hur hanterar man bounces i Listmonk?

Aktivera hanteringen under Settings, Bounces och koppla sedan webhooken från din utskickstjänst eller en dedikerad POP3-brevlåda. Startinställningarna blockerar en adress redan vid en definitiv bounce eller en spamanmälan.

Hur säkerhetskopierar man Listmonk?

Exportera databasen med pg_dump, utan att stoppa tjänsten, och behåll mappen uploads om dina bilder ligger på disken. Projektet ber om den exporten före varje uppdatering, eftersom en äldre version inte läser en databas som redan har migrerats.

Hanterar Listmonk samtycke och avanmälan?

Det ger verktygen: listor med double opt-in, avanmälningslänk i dina mallar, huvudet List-Unsubscribe, export och radering av data av prenumeranten. Själva samtycket måste du inhämta själv, enligt reglerna i dina mottagares land.

Täcker en Managed VPS Listmonk?

En Managed VPS täcker servern: system, säkerhet, övervakning och säkerhetskopior. Våra team följer också din instans proaktivt och rekommenderar de rättelser som är till nytta, som du genomför själv. Ett ingrepp i själva applikationen faktureras per timme eller som fast pris.

Källor och officiell dokumentation

Kontakta oss