Hostati Listmonk na Managed VPS-u znači čuvati svoje popise pretplatnika i kampanje na stroju koji je vaš, a koji naši timovi održavaju ažurnim i nadziru danju i noću. Listmonk je slobodan softver pod licencom AGPL-3.0. Ovaj vodič prati njegovu službenu dokumentaciju: koju inačicu odabrati, Docker Compose, PostgreSQL, HTTPS, slanje preko SMTP-a, odbijene poruke, privolu, sigurnosne kopije i ažuriranja.
Autor: Simon Vasconcelos Lee
Objavljeno 12. studenoga 2026.Vrijeme čitanja: 13 minuta
pg_dump prije svakog ažuriranja.Listmonk upravlja vašim popisima za slanje i newsletterima iz web-sučelja. To je jedan program, napisan u Gou, čija je jedina ovisnost PostgreSQL. Njegovi su popisi jednosmjerni: vi pišete svojim pretplatnicima, a ne radi se o popisu za raspravu među njima.
Listmonk je objavljen pod licencom GNU AGPL, inačica 3. Možete ga koristiti, i u tvrtki, te slati svoje kampanje i kampanje svojih klijenata, bez kupnje licence. Ostaju trošak poslužitelja i trošak vaše usluge slanja.
Članak 13. dodaje uvjet svojstven licenci AGPL: ako program izmijenite, vaša inačica mora jasno ponuditi svima koji je koriste na daljinu, preko mreže, da besplatno dobiju njezin izvorni kod. Ako distribuirate kopije, primjenjuju se i obveze licence o dijeljenju koda. Pokretanje Listmonka bez izmjena ne aktivira taj članak.
Jedna stvar koju treba znati prije početka. Na GitHubu oznaka „Latest” trenutačno označuje v7.0.0-beta.2 od 10. studenoga 2026., koju sam projekt predstavlja kao betu. Posljednja stabilna inačica je v6.2.0, koja nosi sigurnosne ispravke dozvola. Na dan 11. studenoga 2026. Docker slika latest označuje tu v6.2.0.
| Inačica | Docker slika | Stanje |
|---|---|---|
| v6.2.0 | listmonk/listmonk:v6.2.0 | Stabilna: ona iz ovog vodiča |
| v7.0.0-beta.2 | listmonk/listmonk:beta | Beta: za isprobavanje na kopiji, uz sigurnosnu kopiju |
| nightly | listmonk/listmonk:nightly | Neisprobana, prema projektu: na vlastitu odgovornost |
Inačica 7 zamjenjuje cijelo administracijsko sučelje, mijenja neke njegove adrese, postavku app.from_email pretvara u popis adresa i mijenja ključeve prijevoda, što utječe na prilagođene predloške. Pročitajte njezine bilješke o izdanju prije prelaska.
Compose datoteka projekta pokreće --upgrade --yes pri svakom pokretanju: nova slika migrira bazu bez pitanja. Migrirana se baza ne može čitati starijom inačicom, a povratak unatrag zahtijeva vraćanje sigurnosne kopije. S fiksnom oznakom, poput v6.2.0, promjena inačice ostaje vaša odluka.
Projekt preporučuje Docker Compose: njegova datoteka zajedno pokreće Listmonk i PostgreSQL. Na poslužitelju s instaliranim Dockerom izradite mapu i preuzmite tu datoteku:
mkdir listmonk
cd listmonk
curl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml
Projekt traži da datoteku prilagodite svojem okruženju. Evo jedinih redaka koje treba promijeniti, ostalo se ne dira:
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. Promijenite je prije prvog pokretanja, jer PostgreSQL slika čita ovu varijablu samo na praznoj mapi s podacima.latest, iz gore navedenog razloga.127.0.0.1: to je naša prilagodba. Datoteka projekta objavljuje port 9000 bez ograničenja adrese, a PostgreSQL već ograničava na lokalnu adresu. Tretiran na isti način, Listmonk je dostupan samo preko obrnutog proxyja.Zatim pokrenite usluge, unaprijed izradivši račun Super Admin. Ove dvije varijable služe samo pri prvom pokretanju, a bez njih se račun izrađuje pri prvom posjetu sučelju: bolje da postoji prije otvaranja vaše domene.
LISTMONK_ADMIN_USER=votre-identifiant LISTMONK_ADMIN_PASSWORD=votre-mot-de-passe docker compose up -d
Listmonk radi i kao samostalni program, uz vaš vlastiti PostgreSQL poslužitelj, inačice 12 ili novije, na kojem je baza već izrađena.
listmonk_6.2.0_linux_amd64.tar.gz, izbjegavajući betu prikazanu na vrhu, i raspakirajte binarnu datoteku.config.toml upišite pristupne podatke baze../listmonk --new-config
./listmonk --install
./listmonk
Prema zadanim postavkama config.toml sluša na localhost:9000, što odgovara radu iza obrnutog proxyja. Repozitorij daje datoteku usluge listmonk@.service za systemd.
Web-stranica projekta navodi produkcijsku instancu koja šalje kampanju od više od 7 milijuna e-poruka s djelićem jedne procesorske jezgre i vrhuncem od 57 MB memorije. Ne objavljuje ni minimum ni brojku za PostgreSQL, čiji se opseg povećava s vašim pretplatnicima, otvaranjima i klikovima. Na Managed VPS-u opišite nam svoju upotrebu, a mi vam preporučujemo odgovarajuću veličinu.
Vaši pretplatnici klikaju na poveznice koje vode na vašu instancu: odjava, potvrda, praćenje klikova. Stoga se poslužuje preko HTTPS-a na vlastitom nazivu domene. Izradite A i AAAA zapise tog naziva prema svojem poslužitelju, na koji posjetitelji stižu na portovima 80 i 443. Dokumentacija Listmonka prepušta izbor proxyja vama, evo dvije uobičajene konfiguracije.
Caddy sam pribavlja i obnavlja certifikat:
listmonk.example.com {
reverse_proxy 127.0.0.1:9000
}
Nginx prema zadanim postavkama odbija zahtjeve veće od 1 MB, s pogreškom 413. Za uvoz datoteke s pretplatnicima ili slika podignite to ograničenje prema veličini svojih datoteka:
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 zatim postavlja certifikat Let’s Encrypt i preusmjeravanje na HTTPS te sam obnavlja certifikat:
sudo certbot --nginx -d listmonk.example.com
Prijavite se na https://listmonk.example.com/admin, a zatim otvorite „Settings”:
https://listmonk.example.com. Listmonk iz nje gradi poveznice za odjavu, potvrdu i praćenje u vašim porukama. Njezina početna vrijednost, http://localhost:9000, ne bi radila kod vaših pretplatnika./listmonk/uploads, mapa koju Compose datoteka montira na poslužitelju.Za filtriranje pristupa, prema IP adresi ili preko proxyja za autentifikaciju, dokumentacija rute dijeli ovako:
| Rute | Uloga | Pristup |
|---|---|---|
/admin/*, /api/*, /webhooks/bounce | Administracija, njezin API i interni webhook za odbijene poruke | Privatno |
/subscription/*, /public/* | Stranice za pretplatu i njihove datoteke | Javno |
/link/*, /campaign/* | Praćenje poveznica i piksel za praćenje | Javno |
/webhooks/service/* | Odbijene poruke koje šalje vaša usluga slanja | Javno |
/uploads/* | Slike u vašim porukama | Javno |
Listmonk priprema i usklađuje tempo vaših poruka, a zatim ih povjerava SMTP poslužiteljima koje deklarirate u „Settings”, „SMTP”. Sam ih ne isporučuje u sandučiće vaših pretplatnika: kvaliteta isporuke stoga ovisi o tom poslužitelju, vašoj domeni i vašim popisima.
Za masovno slanje odaberite specijaliziranu uslugu slanja: ona nosi reputaciju vaših slanja i potpise vaše domene te zna vratiti odbijene poruke. S Simafri VPS-a slanje ide preko autentificiranog SMTP releja, na portu 587: ovdje onog te usluge.
Za orijentaciju, dokumentacija Listmonka opisuje odbijene poruke za Amazon SES, Azure Communication Services, SendGrid, Postmark, Forward Email i Lettermint. Usporedite ih prema svojem opsegu i primateljima.
| Postavka | Vrijednost | Što provjeravate |
|---|---|---|
| Host | SMTP adresa vaše usluge | Zamjenjuje ponuđenu primjernu vrijednost |
| Port | 587 | Unaprijed zadane postavke na zaslonu često nude drugi port: vratite se na 587 |
| TLS | STARTTLS | Ide uz port 587 |
| Auth protocol | Onaj vaše usluge, često LOGIN | Uz korisničko ime i SMTP lozinku usluge |
Zatim kliknite „Test connection”: Listmonk šalje probnu poruku i prikazuje pogrešku poslužitelja ako slanje ne uspije. Možete deklarirati više poslužitelja, odabrati jedan od njih po kampanji ili usmjeravati slanja prema adresi ili domeni pošiljatelja.
Podesite je u „Settings”, „Performance”, ispod ograničenja vaše usluge:
Poruka koja ne uspije ponovno se pokušava prema postavci „Retries”, na drugim vezama poslužitelja. Ako ponovno ne uspije, Listmonk je bilježi kao pogrešku i prelazi na sljedeću: pratite te pogreške tijekom velike kampanje.
Hostanje aplikacije na vlastitom poslužitelju ostavlja vas gospodarom tih tema, a one odlučuju stižu li vaše poruke.
Šaljite s adrese svoje domene i u njezinu DNS zonu objavite SPF i DKIM zapise koje vam daje vaša usluga slanja, uz DMARC zapis. Google traži sva tri od pošiljatelja s više od 5000 poruka dnevno prema Gmail računima, uz domenu slanja usklađenu sa SPF-om ili DKIM-om, odjavu jednim klikom za marketinške poruke i stopu prijava spama ispod 0,30 %, idealno ispod 0,10 %.
{{ UnsubscribeURL }} u podnožje svojeg predloška. Ta poveznica vodi na upravljanje postavkama i odjavu.Listmonk primjenjuje vrstu popisa koju odaberete. Na popisu s jednostrukom potvrdom (simple opt-in) pretplatnik dodan bez potvrde ipak prima vaše kampanje. Na popisu s dvostrukom potvrdom (double opt-in) prvo dobiva poruku za potvrdu, a vaše kampanje primaju samo potvrđeni pretplatnici. To je izbor koji najbolje štiti vašu reputaciju slanja i čuva jasan trag pristanka.
Pravila ovise o zemlji vaših primatelja. U Francuskoj, na primjer, CNIL traži prethodnu privolu pojedinaca, pozitivnom radnjom poput neoznačene kućice, uz iznimku za vaše klijente za slične proizvode ili usluge. Među poslovnim subjektima promidžba se može temeljiti na legitimnom interesu ako se odnosi na njihovu djelatnost. U svakom slučaju svaka poruka navodi pošiljatelja i nudi jednostavan način odbijanja sljedećih.
Pišite samo osobama koje očekuju vaše poruke. Kupljeni ili stari popis povećava odbijene poruke i prijave spama, a posljedice snosi vaša domena.
Piksel za praćenje i praćenje klikova zadiru u privatnost, a dokumentacija traži da ih koristite uz poštovanje pravila poput GDPR-a. Prema zadanim postavkama to praćenje nije vezano uz svakog pretplatnika: opcija „Individual subscriber tracking” veže ga, a „Disable tracking” potpuno ga isključuje, u „Settings”, „Privacy”.
Nastavak pisanja na adresu koja odbija vaše poruke šteti vašoj reputaciji slanja. Obrada odbijenih poruka isključena je na početku: uključite je u „Settings”, „Bounces”, a zatim odaberite jedan od ova dva puta.
https://listmonk.example.com/webhooks/service/ses, pri čemu se posljednja riječ mijenja prema usluzi. Ta adresa mora ostati javna.Za namjenski sandučić deklarirajte ga kao povratnu adresu u „Settings”, „SMTP”, „Custom headers”:
[
{"Return-Path": "your-bounce-inbox@example.com"}
]
Početne postavke su one koje dokumentacija daje za SES i čine dobru osnovu:
| Vrsta odbijanja | Broj | Radnja |
|---|---|---|
| Soft (blago) | 2 | None: nikakva |
| Hard (trajno) | 1 | Blocklist: adresa se blokira |
| Complaint (prijava kao spam) | 1 | Blocklist: adresa se blokira |
Listmonk traži PostgreSQL 12 ili noviji. Compose datoteka donosi postgres:17-alpine, s podacima u Docker volumenu listmonk-data. Pretplatnici, kampanje, predlošci, statistika i većina postavki žive u njemu; u konfiguraciji ostaju samo pristupni podaci baze i adresa slušanja.
Da biste ciljali postojeći PostgreSQL poslužitelj, izmijenite varijable LISTMONK_db__host, LISTMONK_db__port, LISTMONK_db__user, LISTMONK_db__password i LISTMONK_db__database usluge app.
Listmonk je osmišljen za velike popise. Kako baza raste, ona može usporiti sučelje: s milijunima pretplatnika nadzorna ploča i brojači mogu se prikazivati desecima sekundi. Projekt tada savjetuje dva postupka:
VACUUM ANALYZE na velikoj bazi, na primjer svakog tjedna. Naredba blokira upite za vrijeme izvođenja, obično nekoliko sekundi.docker compose exec db psql -U listmonk -d listmonk -c 'VACUUM ANALYZE;'
Vašu instancu čine dva elementa: baza PostgreSQL i mapa uploads, ako vaše slike ostaju na disku. pg_dump proizvodi dosljedan izvoz bez zaustavljanja Listmonka i bez blokiranja ostalih pristupa bazi:
docker compose exec -T db pg_dump -U listmonk listmonk > listmonk-$(date +%F).sql
tar -czf listmonk-uploads-$(date +%F).tar.gz uploads
Za vraćanje zaustavite Listmonk, ispraznite bazu, a zatim ponovno učitajte izvoz. Kako navodi dokumentacija, ta radnja briše postojeću bazu:
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
S binarnom datotekom zaustavite Listmonk, zamijenite binarnu datoteku, pokrenite ./listmonk --upgrade, a zatim ga ponovno pokrenite. Za povratak na raniju inačicu vratite izvoz napravljen prije ažuriranja, a zatim vratite staru oznaku.
Hostanje na vlastitom poslužitelju traži da uz aplikaciju održavate i poslužitelj. Na Managed VPS-u naši timovi preuzimaju poslužitelj i proaktivno prate vašu instancu; Listmonk ostaje vaš softver, sa svojim postavkama, vašim popisima i vašim kampanjama.
| Tema | Naši timovi | Vi |
|---|---|---|
| Poslužitelj | Ažuriranja sustava i sigurnosti, uključujući intervencije na poslužitelju | Trenutak koji odgovara vašem poslovanju |
| Nadzor | Poslužitelj pod nadzorom 24 sata dnevno, 7 dana u tjednu, s intervencijom bez čekanja vašeg poziva | Praćenje vaših kampanja i odbijenih poruka |
| Listmonk | Proaktivno praćenje: uočene pogreške, usporavanja i prostor na disku, preporučen ispravak | Njegova instalacija, ažuriranja i postavke, koje primjenjujete vi ili vaš AI asistent |
| Slanje | Poslužitelj koji dosegne vaš SMTP relej na portu 587 | Vaša usluga slanja, vaši DNS zapisi, vaši popisi i privola vaših primatelja |
| Sigurnosne kopije | Svake noći, šifrirane i čuvane izvan stroja; vraćanje uključeno | Zahtjev za vraćanje i vaš izvoz prije svakog ažuriranja |
| Migracija | Vaš trenutačni poslužitelj migriran, besplatno | Trenutak prelaska |
Ako želite da naši timovi interveniraju u samoj aplikaciji, ta se usluga naplaćuje po satu ili paušalno, uz procjenu koja vam se priopćuje prije intervencije.
Uz Simafri Managed VPS naši timovi održavaju poslužitelj vaše instance Listmonka ažurnim, nadziru ga danju i noću i interveniraju bez čekanja vašeg poziva; uz to proaktivno prate vašu instancu i preporučuju vam korisne ispravke, koje primjenjujete vi ili vaš AI asistent. Sigurnosne kopije svake se noći šifriraju i čuvaju izvan stroja, njihovo vraćanje je uključeno, a migracija vašeg trenutačnog poslužitelja je besplatna.
Da. Listmonk je pod licencom AGPL-3.0: možete ga koristiti u tvrtki bez kupnje licence. Ako ga izmijenite, vaši udaljeni korisnici moraju moći dobiti izvorni kod vaše inačice. Ostaju trošak poslužitelja i trošak vaše usluge slanja.
v6.2.0, posljednju stabilnu inačicu na dan 11. studenoga 2026. v7.0.0-beta.2, prikazana na vrhu na GitHubu, je beta. U Docker Composeu fiksirajte sliku na listmonk/listmonk:v6.2.0: promjena inačice tada ostaje vaša odluka, jer se migrirana baza ne može čitati starijom inačicom.
Preuzmite datoteku docker-compose.yml projekta, promijenite lozinku baze i oznaku slike, a zatim pokrenite docker compose up -d. Sučelje odgovara na portu 9000, a PostgreSQL je uz njega. Poslužujte ga preko HTTPS-a iza obrnutog proxyja i upišite njegov Root URL.
Listmonk šalje preko SMTP poslužitelja koje konfigurirate. Za masovno slanje odaberite specijaliziranu uslugu slanja, s STARTTLS-om na portu 587, i objavite SPF, DKIM i DMARC na svojoj domeni. Dokumentacija Listmonka opisuje, na primjer, odbijene poruke za Amazon SES, SendGrid i Postmark.
Uključite obradu u Settings, Bounces, a zatim povežite webhook svoje usluge slanja ili namjenski POP3 sandučić. Početne postavke blokiraju adresu čim dođe do trajnog odbijanja ili prijave spama.
Izvezite bazu s pg_dump, bez zaustavljanja usluge, i sačuvajte mapu uploads ako su vaše slike na disku. Projekt traži taj izvoz prije svakog ažuriranja, jer starija inačica ne čita već migriranu bazu.
Daje alate za to: popise s dvostrukom potvrdom (double opt-in), poveznicu za odjavu u vašim predlošcima, zaglavlje List-Unsubscribe, izvoz i brisanje podataka od strane pretplatnika. Samu privolu morate prikupiti vi, prema pravilima zemlje svojih primatelja.
Managed VPS pokriva poslužitelj: sustav, sigurnost, nadzor i sigurnosne kopije. Naši timovi proaktivno prate i vašu instancu te vam preporučuju korisne ispravke, koje primjenjujete vi. Intervencija u aplikaciji naplaćuje se po satu ili paušalno.
Simafri
Porazgovarajmo o Vašem projektu
Recite nam u nekoliko riječi što trebate: javljamo Vam se brzo.
Hvala! Vaš upit je poslan. Javit ćemo vam se uskoro.
Više volite e-mail? Pišite nam na support@simafri.com.