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.
Av Simon Vasconcelos Lee
Publicerad den 12 november 2026Lästid: 13 minuter
pg_dump före varje uppdatering.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.
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.
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.
| Version | Docker-avbild | Status |
|---|---|---|
| v6.2.0 | listmonk/listmonk:v6.2.0 | Stabil: den som den här guiden utgår från |
| v7.0.0-beta.2 | listmonk/listmonk:beta | Beta: att prova på en kopia, med en säkerhetskopia |
| nightly | listmonk/listmonk:nightly | Otestad, 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.
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:
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:
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
listmonk som startvärde. Ändra det före första starten, eftersom PostgreSQL-avbilden bara läser den variabeln på en tom datamapp.latest, av det skäl som nämndes ovan.127.0.0.1: det är vår anpassning. Projektets fil publicerar port 9000 utan begränsning av adress, och begränsar redan PostgreSQL till den lokala adressen. Behandlas Listmonk på samma sätt nås det bara via den omvända proxyn.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.
LISTMONK_ADMIN_USER=votre-identifiant LISTMONK_ADMIN_PASSWORD=votre-mot-de-passe docker compose up -d
Listmonk körs också som ett enskilt program, bredvid din egen PostgreSQL-server, version 12 eller senare, där databasen redan är skapad.
listmonk_6.2.0_linux_amd64.tar.gz, och undvik betan som visas överst, och packa upp binärfilen.config.toml../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.
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.
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.
Caddy hämtar och förnyar certifikatet på egen hand:
listmonk.example.com {
reverse_proxy 127.0.0.1:9000
}
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:
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:
sudo certbot --nginx -d listmonk.example.com
Logga in på https://listmonk.example.com/admin och öppna sedan ”Settings”:
https://listmonk.example.com. Listmonk hämtar länkarna för avanmälan, bekräftelse och spårning i dina e-postmeddelanden därifrån. Dess startvärde, http://localhost:9000, skulle inte fungera hos dina prenumeranter./listmonk/uploads, mappen som Compose-filen monterar på servern.För att filtrera åtkomsten, med IP-adress eller via en autentiseringsproxy, delar dokumentationen in rutterna så här:
| Rutter | Roll | Åtkomst |
|---|---|---|
/admin/*, /api/*, /webhooks/bounce | Administrationen, dess API och den interna webhooken för bounces | Privat |
/subscription/*, /public/* | Prenumerationssidorna och deras filer | Publik |
/link/*, /campaign/* | Spårningen av länkar och spårningspixeln | Publik |
/webhooks/service/* | Bounces som skickas av din utskickstjänst | Publik |
/uploads/* | Bilderna i dina e-postmeddelanden | Publik |
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ällning | Värde | Det du kontrollerar |
|---|---|---|
| Host | SMTP-adressen till din tjänst | Ersätter exempelvärdet som medföljer |
| Port | 587 | Skärmens förinställningar föreslår ofta en annan port: gå tillbaka till 587 |
| TLS | STARTTLS | Hör ihop med port 587 |
| Auth protocol | Din tjänsts, ofta LOGIN | Med 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.
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.
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.
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 %.
{{ UnsubscribeURL }} i sidfoten på din mall. Den länken leder till hanteringen av inställningar och till avanmälan.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å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”.
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.
https://listmonk.example.com/webhooks/service/ses, där det sista ordet varierar efter tjänst. Den adressen måste förbli publik.För en dedikerad brevlåda anger du den som returadress under ”Settings”, ”SMTP”, ”Custom headers”:
[
{"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 bounce | Antal | Åtgärd |
|---|---|---|
| Soft (lindrig) | 2 | None: ingen |
| Hard (definitiv) | 1 | Blocklist: adressen blockeras |
| Complaint (spamanmälan) | 1 | Blocklist: adressen blockeras |
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:
VACUUM ANALYZE på en stor databas, till exempel varje vecka. Kommandot blockerar förfrågningarna medan det körs, i allmänhet några sekunder.docker compose exec db psql -U listmonk -d listmonk -c 'VACUUM ANALYZE;'
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:
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:
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
docker-compose.yml.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.
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åde | Våra team | Du |
|---|---|---|
| Servern | Uppdateringar av system och säkerhet, ingrepp på servern inräknade | Tidpunkten som passar din verksamhet |
| Övervakningen | Servern följs dygnet runt, alla dagar, med ingrepp utan att vänta på ditt samtal | Uppföljningen av dina kampanjer och dina bounces |
| Listmonk | Proaktiv uppföljning: fel, långsamma svarstider och diskutrymme upptäcks, med rekommenderad rättelse | Installationen, uppdateringarna och inställningarna, som du genomför själv eller med din AI-assistent |
| Utskicket | En server som når ditt SMTP-relä på port 587 | Din utskickstjänst, dina DNS-poster, dina listor och dina mottagares samtycke |
| Säkerhetskopiorna | Varje natt, krypterade och förvarade utanför maskinen; återställning ingår | Begäran om återställning, och din export före varje uppdatering |
| Migreringen | Din nuvarande server migreras kostnadsfritt | Tidpunkten 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Simafri
Låt oss prata om din webbplats
Berätta om ditt projekt med några ord: vi återkommer snabbt.
Tack! Din förfrågan har skickats. Vi återkommer till dig inom kort.
Föredrar du e-post? Skriv till oss på support@simafri.com.