Găzduirea Listmonk pe un Managed VPS înseamnă să păstrați listele de abonați și campaniile dumneavoastră pe o mașină a dumneavoastră, pe care echipele noastre o țin la zi și o supraveghează zi și noapte. Listmonk este un software liber sub licență AGPL-3.0. Acest ghid urmează documentația sa oficială: versiunea de ales, Docker Compose, PostgreSQL, HTTPS, trimiterea prin SMTP, bounce-urile, consimțământul, backupurile și actualizările.
Autor: Simon Vasconcelos Lee
Publicat la 12 noiembrie 2026Timp de citire: 13 minute
pg_dump înaintea fiecărei actualizări.Listmonk vă gestionează listele de difuzare și newsletterele dintr-o interfață web. Este un program unic, scris în Go, a cărui singură dependență este PostgreSQL. Listele sale sunt într-un singur sens: dumneavoastră le scrieți abonaților, iar ea nu este o listă de discuții între ei.
Listmonk este publicat sub licența GNU AGPL versiunea 3. Îl puteți folosi, inclusiv în firmă, și vă puteți trimite campaniile, ca și pe cele ale clienților dumneavoastră, fără nicio licență de cumpărat. Rămân costul serverului și cel al serviciului dumneavoastră de trimitere.
Articolul 13 adaugă o condiție specifică AGPL: dacă modificați programul, versiunea dumneavoastră trebuie să propună în mod clar tuturor celor care îl folosesc de la distanță, prin rețea, să-i obțină codul sursă, gratuit. Dacă distribuiți copii, se aplică și obligațiile de partajare a codului din licență. Rularea Listmonk fără modificări nu declanșează acest articol.
Un punct de știut înainte de a începe. Pe GitHub, eticheta „Latest” desemnează în prezent v7.0.0-beta.2 din 10 noiembrie 2026, pe care proiectul însuși o prezintă ca pe o beta. Ultima versiune stabilă este v6.2.0, care conține corecturi de securitate privind permisiunile. La 11 noiembrie 2026, imaginea Docker latest desemnează această v6.2.0.
| Versiunea | Imagine Docker | Stare |
|---|---|---|
| v6.2.0 | listmonk/listmonk:v6.2.0 | Stabilă: cea din acest ghid |
| v7.0.0-beta.2 | listmonk/listmonk:beta | Beta: de încercat pe o copie, cu un backup |
| nightly | listmonk/listmonk:nightly | Netestată, potrivit proiectului: pe riscul dumneavoastră |
Versiunea 7 înlocuiește întreaga interfață de administrare, schimbă unele dintre adresele ei, face din setarea app.from_email o listă de adrese și modifică chei de traducere, ceea ce afectează șabloanele personalizate. Citiți notele ei de versiune înainte de a trece la ea.
Fișierul Compose al proiectului rulează --upgrade --yes la fiecare pornire: o imagine nouă migrează baza fără să vă întrebe. Or, o bază migrată nu se mai citește cu o versiune mai veche, iar revenirea în urmă impune restaurarea unui backup. Cu o etichetă fixă, precum v6.2.0, schimbarea versiunii rămâne decizia dumneavoastră.
Proiectul recomandă Docker Compose: fișierul său pornește împreună Listmonk și PostgreSQL. Pe un server unde Docker este instalat, creați un director și descărcați acest fișier:
mkdir listmonk
cd listmonk
curl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml
Proiectul cere adaptarea acestui fișier la mediul dumneavoastră. Iată singurele linii de schimbat, restul nu se mișcă:
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 ca valoare de pornire. Schimbați-o înainte de prima pornire, căci imaginea PostgreSQL citește această variabilă doar pe un director de date gol.latest, din motivul văzut mai sus.127.0.0.1: este adaptarea noastră. Fișierul proiectului publică portul 9000 fără limită de adresă și limitează deja PostgreSQL la adresa locală. Tratat la fel, Listmonk este accesibil doar prin proxy-ul invers.Porniți apoi serviciile, creând dinainte contul Super Admin. Aceste două variabile servesc doar la prima pornire, iar fără ele contul se creează la prima vizită a interfeței: mai bine să existe înainte de a vă deschide domeniul.
LISTMONK_ADMIN_USER=votre-identifiant LISTMONK_ADMIN_PASSWORD=votre-mot-de-passe docker compose up -d
Listmonk rulează și ca program de sine stătător, lângă propriul dumneavoastră server PostgreSQL, în versiunea 12 sau mai recentă, unde baza este deja creată.
listmonk_6.2.0_linux_amd64.tar.gz, evitând beta afișată în frunte, și extrageți binarul.config.toml../listmonk --new-config
./listmonk --install
./listmonk
Implicit, config.toml ascultă pe localhost:9000, ceea ce se potrivește în spatele unui proxy invers. Depozitul furnizează un fișier de serviciu listmonk@.service pentru systemd.
Site-ul proiectului citează o instanță de producție care trimite o campanie de peste 7 milioane de e-mailuri cu o fracțiune dintr-un nucleu de procesor și un vârf de 57 MB de memorie. El nu publică nici un minim, nici o cifră pentru PostgreSQL, al cărui volum crește odată cu abonații, deschiderile și clicurile dumneavoastră. Pe un Managed VPS, descrieți-ne utilizarea dumneavoastră și vă recomandăm dimensiunea potrivită.
Abonații dumneavoastră dau clic pe linkuri care indică spre instanța dumneavoastră: dezabonare, confirmare, urmărirea clicurilor. Ea se servește deci în HTTPS pe propriul nume de domeniu. Creați înregistrările A și AAAA ale acestui nume către serverul dumneavoastră, unde vizitatorii ajung pe porturile 80 și 443. Documentația Listmonk lasă libertatea alegerii proxy-ului, iată două configurații uzuale.
Caddy obține și reînnoiește singur certificatul:
listmonk.example.com {
reverse_proxy 127.0.0.1:9000
}
Nginx refuză implicit cererile de peste 1 MB, cu o eroare 413. Pentru a importa un fișier de abonați sau imagini, ridicați această limită pe măsura fișierelor dumneavoastră:
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 instalează apoi certificatul Let’s Encrypt și redirecționarea spre HTTPS, apoi reînnoiește singur certificatul:
sudo certbot --nginx -d listmonk.example.com
Conectați-vă pe https://listmonk.example.com/admin, apoi deschideți „Settings”:
https://listmonk.example.com. Listmonk își extrage din ea linkurile de dezabonare, de confirmare și de urmărire din e-mailurile dumneavoastră. Valoarea sa de pornire, http://localhost:9000, nu ar funcționa la abonații dumneavoastră./listmonk/uploads, directorul pe care fișierul Compose îl montează pe server.Pentru a filtra accesul, după adresa IP sau printr-un proxy de autentificare, documentația împarte rutele astfel:
| Rute | Rol | Acces |
|---|---|---|
/admin/*, /api/*, /webhooks/bounce | Administrarea, API-ul ei și webhookul intern de bounce-uri | Privat |
/subscription/*, /public/* | Paginile de abonare și fișierele lor | Public |
/link/*, /campaign/* | Urmărirea linkurilor și pixelul de urmărire | Public |
/webhooks/service/* | Bounce-urile trimise de serviciul dumneavoastră de trimitere | Public |
/uploads/* | Imaginile din e-mailurile dumneavoastră | Public |
Listmonk pregătește și cadențează e-mailurile dumneavoastră, apoi le încredințează serverelor SMTP pe care le declarați în „Settings”, „SMTP”. El nu le livrează singur în căsuțele abonaților dumneavoastră: calitatea livrării depinde deci de acest server, de domeniul dumneavoastră și de listele dumneavoastră.
Pentru o trimitere în masă, alegeți un serviciu de trimitere specializat: el poartă reputația trimiterilor dumneavoastră și semnăturile domeniului dumneavoastră și știe să raporteze bounce-urile. De pe un VPS Simafri, trimiterea trece printr-un releu SMTP autentificat, pe portul 587: aici, cel al acestui serviciu.
Pentru orientare, documentația Listmonk descrie bounce-urile de la Amazon SES, Azure Communication Services, SendGrid, Postmark, Forward Email și Lettermint. Comparați-le în funcție de volumul și de destinatarii dumneavoastră.
| Setare | Valoare | Ce verificați |
|---|---|---|
| Host | Adresa SMTP a serviciului dumneavoastră | Înlocuiește valoarea de exemplu furnizată |
| Port | 587 | Presetările ecranului propun adesea un alt port: reveniți pe 587 |
| TLS | STARTTLS | Merge împreună cu portul 587 |
| Auth protocol | Cel al serviciului dumneavoastră, adesea LOGIN | Cu identificatorul și parola SMTP ale serviciului |
Dați apoi clic pe „Test connection”: Listmonk trimite un mesaj de probă și afișează eroarea serverului dacă trimiterea eșuează. Puteți declara mai multe servere, alege unul dintre ele pentru fiecare campanie sau direcționa trimiterile după adresa sau domeniul expeditorului.
Setați-l în „Settings”, „Performance”, sub limita serviciului dumneavoastră:
Un mesaj care eșuează este reîncercat după setarea „Retries”, pe alte conexiuni ale serverului. Dacă eșuează din nou, Listmonk îl notează ca eroare și trece la următorul: urmăriți aceste erori în timpul unei campanii mari.
Găzduirea aplicației pe propriul server vă lasă stăpân pe aceste subiecte, iar ele decid dacă e-mailurile dumneavoastră ajung.
Trimiteți de la o adresă a domeniului dumneavoastră și publicați în zona sa DNS înregistrările SPF și DKIM pe care vi le dă serviciul dumneavoastră de trimitere, împreună cu o înregistrare DMARC. Google le cere pe toate trei expeditorilor de peste 5 000 de mesaje pe zi către conturi Gmail, cu un domeniu de expediere aliniat la SPF sau DKIM, dezabonarea cu un singur clic pentru mesajele de marketing și o rată de raportare ca spam sub 0,30 %, ideal sub 0,10 %.
{{ UnsubscribeURL }} în subsolul șablonului dumneavoastră. Acest link duce la gestionarea preferințelor și la dezabonare.Listmonk aplică tipul de listă pe care îl alegeți. Pe o listă cu opt-in simplu, un abonat adăugat fără confirmare primește totuși campaniile dumneavoastră. Pe o listă cu double opt-in, el primește mai întâi un e-mail de confirmare, iar doar abonații confirmați primesc campaniile dumneavoastră. Este alegerea care vă protejează cel mai bine reputația de trimitere și care păstrează o urmă clară a acordului.
Regulile depind de țara destinatarilor dumneavoastră. În Franța, de exemplu, CNIL cere consimțământul prealabil al persoanelor fizice, printr-o acțiune pozitivă precum o casetă nebifată în prealabil, cu o excepție pentru clienții dumneavoastră în privința unor produse sau servicii similare. Între profesioniști, prospectarea se poate sprijini pe interesul legitim dacă privește meseria lor. În toate cazurile, fiecare mesaj identifică expeditorul și oferă un mijloc simplu de a-le refuza pe următoarele.
Scrieți doar persoanelor care așteaptă mesajele dumneavoastră. O listă cumpărată sau veche face să crească bounce-urile și raportările ca spam, iar domeniul dumneavoastră este cel care poartă consecințele.
Pixelul de urmărire și urmărirea clicurilor ating viața privată, iar documentația cere să fie folosite cu respectarea unor reguli precum RGPD. Implicit, această urmărire nu este legată de fiecare abonat: opțiunea „Individual subscriber tracking” o leagă, iar „Disable tracking” o oprește complet, în „Settings”, „Privacy”.
A continua să scrieți unei adrese care vă respinge mesajele vă strică reputația de trimitere. Tratarea bounce-urilor (mesajelor respinse) este dezactivată la pornire: activați-o în „Settings”, „Bounces”, apoi alegeți una dintre aceste două căi.
https://listmonk.example.com/webhooks/service/ses, ultimul cuvânt schimbându-se după serviciu. Această adresă trebuie să rămână publică.Pentru o căsuță dedicată, declarați-o ca adresă de retur în „Settings”, „SMTP”, „Custom headers”:
[
{"Return-Path": "your-bounce-inbox@example.com"}
]
Setările de pornire sunt cele pe care documentația le dă pentru SES și ele formează o bază bună:
| Tipul de bounce | Număr | Acțiune |
|---|---|---|
| Soft (ușor) | 2 | None: niciuna |
| Hard (definitiv) | 1 | Blocklist: adresa este blocată |
| Complaint (raportare ca spam) | 1 | Blocklist: adresa este blocată |
Listmonk cere PostgreSQL 12 sau mai recent. Fișierul Compose aduce postgres:17-alpine, cu datele în volumul Docker listmonk-data. Abonații, campaniile, șabloanele, statisticile și majoritatea setărilor trăiesc acolo; doar accesele la bază și adresa de ascultare rămân în configurație.
Pentru a viza un server PostgreSQL existent, modificați variabilele LISTMONK_db__host, LISTMONK_db__port, LISTMONK_db__user, LISTMONK_db__password și LISTMONK_db__database ale serviciului app.
Listmonk este conceput pentru liste mari. Pe măsură ce baza crește, ea este cea care poate încetini interfața: cu milioane de abonați, panoul de control și contoarele pot dura zeci de secunde să se afișeze. Proiectul sfătuiește atunci două gesturi:
VACUUM ANALYZE pe o bază mare, de exemplu în fiecare săptămână. Comanda blochează interogările pe durata trecerii sale, în general câteva secunde.docker compose exec db psql -U listmonk -d listmonk -c 'VACUUM ANALYZE;'
Două elemente alcătuiesc instanța dumneavoastră: baza PostgreSQL și directorul uploads, dacă imaginile rămân pe disc. pg_dump produce un export coerent fără a opri Listmonk și fără a bloca celelalte accese la bază:
docker compose exec -T db pg_dump -U listmonk listmonk > listmonk-$(date +%F).sql
tar -czf listmonk-uploads-$(date +%F).tar.gz uploads
Pentru restaurare, opriți Listmonk, goliți baza, apoi reîncărcați exportul. După cum precizează documentația, acest gest șterge baza existentă:
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
Cu binarul, opriți Listmonk, înlocuiți binarul, rulați ./listmonk --upgrade, apoi relansați-l. Pentru a reveni la o versiune anterioară, restaurați exportul făcut înaintea actualizării, apoi puneți la loc vechea etichetă.
Găzduirea pe propriul server cere să țineți serverul pe lângă aplicație. Pe un Managed VPS, echipele noastre preiau serverul și vă urmăresc proactiv instanța; Listmonk rămâne software-ul dumneavoastră, cu setările, listele și campaniile dumneavoastră.
| Subiect | Echipele noastre | Dumneavoastră |
|---|---|---|
| Serverul | Actualizări de sistem și de securitate, intervenții pe server incluse | Momentul potrivit activității dumneavoastră |
| Monitorizarea | Server urmărit 24 de ore din 24, 7 zile din 7, cu intervenție fără a vă aștepta apelul | Urmărirea campaniilor și a bounce-urilor dumneavoastră |
| Listmonk | Urmărire proactivă: erori, încetiniri și spațiu pe disc depistate, corectură recomandată | Instalarea, actualizările și setările sale, pe care le aplicați dumneavoastră sau asistentul dumneavoastră AI |
| Trimiterea | Un server care ajunge la releul dumneavoastră SMTP pe portul 587 | Serviciul dumneavoastră de trimitere, înregistrările DNS, listele și consimțământul destinatarilor dumneavoastră |
| Backupurile | În fiecare noapte, criptate și păstrate în afara mașinii; restaurare inclusă | Cererea de restaurare și exportul dumneavoastră înaintea fiecărei actualizări |
| Migrarea | Serverul dumneavoastră actual migrat, gratuit | Momentul trecerii |
Dacă preferați ca echipele noastre să intervină în aplicația însăși, această prestație se facturează la oră sau la preț fix, cu o ofertă comunicată înainte de intervenție.
Cu un Managed VPS Simafri, echipele noastre țin la zi serverul instanței dumneavoastră Listmonk, îl monitorizează zi și noapte și intervin fără a vă aștepta apelul; ele vă urmăresc proactiv și instanța și vă recomandă corecturile utile, pe care le aplicați dumneavoastră sau asistentul dumneavoastră AI. Backupurile sunt criptate în fiecare noapte și păstrate în afara mașinii, restaurarea lor este inclusă, iar migrarea serverului actual este gratuită.
Da. Listmonk este sub licență AGPL-3.0: îl puteți folosi în firmă fără nicio licență de cumpărat. Dacă îl modificați, utilizatorii dumneavoastră de la distanță trebuie să poată obține codul sursă al versiunii dumneavoastră. Rămân costul serverului și cel al serviciului dumneavoastră de trimitere.
Versiunea v6.2.0, ultima versiune stabilă la 11 noiembrie 2026. Versiunea v7.0.0-beta.2, afișată în frunte pe GitHub, este o beta. În Docker Compose, fixați imaginea pe listmonk/listmonk:v6.2.0: schimbarea versiunii rămâne atunci decizia dumneavoastră, căci o bază migrată nu se mai citește cu o versiune mai veche.
Descărcați fișierul docker-compose.yml al proiectului, schimbați parola bazei și eticheta imaginii, apoi rulați docker compose up -d. Interfața răspunde pe portul 9000, cu PostgreSQL alături. Serviți-o în HTTPS în spatele unui proxy invers și completați Root URL.
Listmonk trimite prin serverele SMTP pe care le configurați. Pentru o trimitere în masă, alegeți un serviciu de trimitere specializat, în STARTTLS pe portul 587, și publicați SPF, DKIM și DMARC pe domeniul dumneavoastră. Documentația Listmonk descrie, de exemplu, bounce-urile de la Amazon SES, SendGrid și Postmark.
Activați tratarea în Settings, Bounces, apoi conectați webhookul serviciului dumneavoastră de trimitere sau o căsuță POP3 dedicată. Setările de pornire blochează o adresă de la un bounce definitiv sau de la o raportare ca spam.
Exportați baza cu pg_dump, fără a opri serviciul, și păstrați directorul uploads dacă imaginile sunt pe disc. Proiectul cere acest export înaintea fiecărei actualizări, căci o versiune anterioară nu mai citește o bază deja migrată.
Îi oferă uneltele: liste cu double opt-in, link de dezabonare în șabloanele dumneavoastră, antetul List-Unsubscribe, exportul și ștergerea datelor de către abonat. Consimțământul însuși rămâne de obținut din partea dumneavoastră, după regulile țării destinatarilor dumneavoastră.
Un Managed VPS acoperă serverul: sistemul, securitatea, monitorizarea și backupurile. Echipele noastre vă urmăresc proactiv și instanța și vă recomandă corecturile utile, pe care le aplicați dumneavoastră. O intervenție în aplicație se facturează la oră sau la preț fix.
Simafri
Să discutăm despre site-ul dumneavoastră
Povestiți-ne despre proiectul dumneavoastră în câteva cuvinte: vă vom răspunde rapid.
Mulțumim! Cererea dumneavoastră a fost trimisă. Vă vom răspunde în curând.
Preferați e-mailul? Scrieți-ne la support@simafri.com.