Näin hostaatte Listmonkin Managed VPS:llä: uutiskirjeet omalla palvelimellanne

Kun hostaatte Listmonkin Managed VPS:llä, tilaajalistanne ja kampanjanne ovat koneella, joka on teidän ja jota tiimimme pitävät ajan tasalla ja valvovat yötä päivää. Listmonk on AGPL-3.0-lisenssillä julkaistu avoimen lähdekoodin ohjelma. Tämä opas seuraa sen virallista dokumentaatiota: valittava versio, Docker Compose, PostgreSQL, HTTPS, lähetys SMTP:llä, palautuvat viestit, suostumus, varmuuskopiot ja päivitykset.

Simon Vasconcelos Lee Kirjoittaja: Julkaistu 12. marraskuuta 2026Lukuaika: 13 minuuttia

Kaikki oppaat

Lyhyesti

  1. AGPL-3.0-lisenssi sallii Listmonkin käytön yrityksessä ilman ostettavaa lisenssiä; jos muokkaatte sitä, etäkäyttäjienne on voitava saada versionne lähdekoodi.
  2. Asentakaa vakaa versio 6.2.0 kiinteällä Docker-tunnisteella: versio 7, joka näkyy GitHubissa ensimmäisenä, on vielä beta.
  3. Docker Compose käynnistää Listmonkin ja PostgreSQL:n. Julkaiskaa portti 9000 paikallisesti, tarjotkaa se HTTPS:llä käänteisen välityspalvelimen takaa ja täyttäkää sen ”Root URL”.
  4. Listmonk lähettää määrittämienne SMTP-palvelinten kautta: massalähetykseen valitkaa erikoistunut lähetyspalvelu portissa 587, ja SPF, DKIM ja DMARC verkkotunnukselle.
  5. Suosikaa double opt-iniä, ottakaa palautuvien viestien käsittely käyttöön ja viekää tietokanta komennolla pg_dump ennen jokaista päivitystä.

Mitä Listmonk tekee

Listmonk hallinnoi postituslistojanne ja uutiskirjeitänne verkkokäyttöliittymästä. Se on yksi Go-kielellä kirjoitettu ohjelma, jonka ainoa riippuvuus on PostgreSQL. Sen listat ovat yksisuuntaisia: kirjoitatte tilaajillenne, eikä kyseessä ole heidän keskinäinen keskusteluluettelonsa.

Mitä AGPL-3.0-lisenssi sallii

Listmonk julkaistaan GNU AGPL version 3 -lisenssillä. Voitte käyttää sitä myös yrityksessä ja lähettää omia ja asiakkaidenne kampanjoita ilman ostettavaa lisenssiä. Jäljelle jäävät palvelimen ja lähetyspalvelunne kustannukset.

Pykälä 13 lisää AGPL:lle ominaisen ehdon: jos muokkaatte ohjelmaa, versionne on tarjottava selkeästi kaikille, jotka käyttävät sitä etäyhteydellä verkon kautta, mahdollisuus saada sen lähdekoodi maksutta. Jos jaatte kopioita, lisenssin koodin jakamista koskevat velvoitteet pätevät myös. Listmonkin ajaminen muokkaamatta ei laukaise tätä pykälää.

Minkä Listmonk-version asentaa?

Yksi seikka kannattaa tietää ennen aloittamista. GitHubissa tunniste ”Latest” osoittaa tällä hetkellä versioon v7.0.0-beta.2, 10. marraskuuta 2026, jonka projekti itse esittelee betana. Viimeisin vakaa versio on v6.2.0, joka sisältää tietoturvakorjauksia oikeuksiin. 11. marraskuuta 2026 Docker-image latest osoittaa tähän v6.2.0:aan.

VersioDocker-imageTila
v6.2.0listmonk/listmonk:v6.2.0Vakaa: tämän oppaan versio
v7.0.0-beta.2listmonk/listmonk:betaBeta: kokeiltavaksi kopiolla, varmuuskopion kanssa
nightlylistmonk/listmonk:nightlyTestaamaton projektin mukaan: omalla vastuulla

Versio 7 korvaa koko ylläpitokäyttöliittymän, muuttaa joitakin sen osoitteita, tekee asetuksesta app.from_email osoiteluettelon ja muuttaa käännösavaimia, mikä vaikuttaa mukautettuihin pohjiin. Lukekaa sen julkaisutiedot ennen siirtymistä.

Projektin Compose-tiedosto ajaa --upgrade --yes jokaisessa käynnistyksessä: uusi image migroi tietokannan kysymättä. Migroitua tietokantaa ei kuitenkaan voi lukea vanhemmalla versiolla, ja paluu vaatii varmuuskopion palauttamista. Kiinteällä tunnisteella, kuten v6.2.0, versionvaihto pysyy teidän päätöksenänne.

Asennus Docker Composella

Projekti suosittelee Docker Composea: sen tiedosto käynnistää Listmonkin ja PostgreSQL:n yhdessä. Luokaa palvelimelle, jolle Docker on asennettu, kansio ja noutakaa tämä tiedosto:

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

Projekti pyytää mukauttamaan tämän tiedoston ympäristöönne. Tässä ovat ainoat muutettavat rivit, loput eivät muutu:

docker-compose.yml, muutettavat rivit
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

Käynnistäkää sitten palvelut luoden Super Admin -tili etukäteen. Nämä kaksi muuttujaa palvelevat vain ensimmäistä käynnistystä, ja ilman niitä tili luodaan käyttöliittymän ensimmäisellä käyntikerralla: parempi, että se on olemassa ennen verkkotunnuksenne avaamista.

Pääte
LISTMONK_ADMIN_USER=votre-identifiant LISTMONK_ADMIN_PASSWORD=votre-mot-de-passe docker compose up -d

Ilman Dockeria: binääri

Listmonk toimii myös yksittäisenä ohjelmana oman PostgreSQL-palvelimenne rinnalla, versiossa 12 tai uudemmassa, jossa tietokanta on jo luotu.

  1. Ladatkaa v6.2.0:n arkisto projektin versiosivulta, esimerkiksi listmonk_6.2.0_linux_amd64.tar.gz, välttäen ensimmäisenä näkyvää betaa, ja purkakaa binääri.
  2. Luokaa asetustiedosto ja täyttäkää tietokannan tunnukset tiedostoon config.toml.
  3. Asentakaa taulut ja käynnistäkää sitten Listmonk.
Pääte
./listmonk --new-config
./listmonk --install
./listmonk

Oletuksena config.toml kuuntelee osoitetta localhost:9000, mikä sopii käänteisen välityspalvelimen taakse. Repositorio toimittaa systemd-palvelutiedoston listmonk@.service.

Palvelimen koko

Projektin sivusto mainitsee tuotantoinstanssin, joka lähettää yli 7 miljoonan sähköpostin kampanjan murto-osalla suorittimen ytimestä ja 57 Mt:n muistipiikillä. Se ei julkaise vähimmäisvaatimusta eikä lukua PostgreSQL:lle, jonka tilavuus kasvaa tilaajien, avausten ja klikkausten mukana. Managed VPS -palvelimella kuvailkaa meille käyttötarkoituksenne, niin suosittelemme sopivaa kokoa.

HTTPS ja käänteinen välityspalvelin

Tilaajanne klikkaavat linkkejä, jotka osoittavat instanssiinne: tilauksen peruutus, vahvistus, klikkausten seuranta. Se tarjotaan siksi HTTPS:llä omalla verkkotunnuksellaan. Luokaa tämän nimen A- ja AAAA-tietueet palvelimeenne, jonne kävijät saapuvat portteihin 80 ja 443. Listmonkin dokumentaatio jättää välityspalvelimen valinnan vapaaksi, tässä kaksi yleistä asetusta.

Caddyllä

Caddy hankkii ja uusii varmenteen itse:

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

Nginxillä ja Certbotilla

Nginx hylkää oletuksena yli 1 Mt:n pyynnöt virheellä 413. Tilaajatiedoston tai kuvien tuontia varten nostakaa tätä rajaa tiedostojenne mukaan:

Nginx-lohko
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 asentaa sen jälkeen Let’s Encrypt -varmenteen ja uudelleenohjauksen HTTPS:ään ja uusii varmenteen sitten itse:

Pääte
sudo certbot --nginx -d listmonk.example.com

Ensimmäiset asetukset

Kirjautukaa osoitteessa https://listmonk.example.com/admin ja avatkaa sitten ”Settings”:

Mikä pysyy julkisena, mikä voidaan sulkea

Pääsyn suodattamiseksi IP-osoitteen tai todennusvälityspalvelimen avulla dokumentaatio jakaa reitit näin:

ReititTehtäväPääsy
/admin/*, /api/*, /webhooks/bounceYlläpito, sen rajapinta ja sisäinen palautuvien viestien webhookYksityinen
/subscription/*, /public/*Tilaussivut ja niiden tiedostotJulkinen
/link/*, /campaign/*Linkkien seuranta ja seurantapikseliJulkinen
/webhooks/service/*Lähetyspalvelunne lähettämät palautuvat viestitJulkinen
/uploads/*Sähköpostienne kuvatJulkinen

Lähetys: Listmonk kulkee SMTP-palvelinten kautta

Listmonk valmistelee ja tahdittaa sähköpostinne ja uskoo ne sitten SMTP-palvelimille, jotka ilmoitatte kohdassa ”Settings”, ”SMTP”. Se ei toimita niitä itse tilaajienne postilaatikoihin: toimituksen laatu riippuu siis tästä palvelimesta, verkkotunnuksestanne ja listoistanne.

Massalähetykseen valitkaa erikoistunut lähetyspalvelu: se kantaa lähetystenne maineen ja verkkotunnuksenne allekirjoitukset ja osaa palauttaa palautuvat viestit. Simafrin VPS:ltä lähetys kulkee todennetun SMTP-releen kautta portissa 587: tässä tämän palvelun releen kautta.

Suuntaa-antavasti Listmonkin dokumentaatio kuvaa palautuvat viestit Amazon SES:stä, Azure Communication Servicesistä, SendGridistä, Postmarkista, Forward Emailistä ja Lettermintistä. Vertailkaa niitä volyymin ja vastaanottajienne mukaan.

AsetusArvoMitä tarkistatte
HostPalvelunne SMTP-osoiteKorvaa annetun esimerkkiarvon
Port587Näytön esiasetukset ehdottavat usein toista porttia: palatkaa porttiin 587
TLSSTARTTLSKuuluu yhteen portin 587 kanssa
Auth protocolPalvelunne protokolla, usein LOGINPalvelun SMTP-tunnuksella ja salasanalla

Napsauttakaa sitten ”Test connection”: Listmonk lähettää koeviestin ja näyttää palvelimen virheen, jos lähetys epäonnistuu. Voitte ilmoittaa useita palvelimia, valita yhden kampanjakohtaisesti tai reitittää lähetykset lähettäjän osoitteen tai verkkotunnuksen mukaan.

Läpäisykyky

Säätäkää se kohdassa ”Settings”, ”Performance”, palvelunne rajan alapuolelle:

Epäonnistunut viesti yritetään uudelleen asetuksen ”Retries” mukaan, palvelimen muilla yhteyksillä. Jos se epäonnistuu yhä, Listmonk merkitsee sen virheeksi ja siirtyy seuraavaan: seuratkaa näitä virheitä suuren kampanjan aikana.

Toimitusvarmuus, tilauksen peruutus ja suostumus

Sovelluksen hostaaminen jättää nämä asiat teidän hallintaanne, ja juuri ne ratkaisevat, saapuvatko sähköpostinne perille.

SPF, DKIM ja DMARC

Lähettäkää verkkotunnuksenne osoitteesta ja julkaiskaa sen DNS-vyöhykkeessä SPF- ja DKIM-tietueet, jotka lähetyspalvelunne antaa, sekä DMARC-tietue. Google vaatii kaikki kolme lähettäjiltä, jotka lähettävät yli 5 000 viestiä päivässä Gmail-tileille, lähetysverkkotunnuksen yhdenmukaisena SPF:n tai DKIM:n kanssa, markkinointiviestien tilauksen peruutuksen yhdellä napsautuksella sekä roskapostiksi ilmoittamisen asteen alle 0,30 %, mieluiten alle 0,10 %.

Tilauksen peruutus

Vastaanottajienne suostumus

Listmonk soveltaa valitsemaanne listatyyppiä. Yksinkertaisen opt-inin listalla ilman vahvistusta lisätty tilaaja saa silti kampanjanne. Kaksinkertaisen opt-inin listalla hän saa ensin vahvistussähköpostin, ja vain vahvistaneet tilaajat saavat kampanjanne. Tämä valinta suojaa parhaiten lähetysmainettanne ja säilyttää selkeän jäljen suostumuksesta.

Säännöt riippuvat vastaanottajienne maasta. Esimerkiksi Ranskassa CNIL vaatii yksityishenkilöiden ennakkosuostumuksen myönteisellä toimella, kuten ruudulla, jota ei ole valmiiksi rastitettu, poikkeuksena omat asiakkaanne samankaltaisten tuotteiden tai palveluiden osalta. Yritysten välillä markkinointi voi perustua oikeutettuun etuun, jos se koskee heidän ammattiaan. Joka tapauksessa jokainen viesti tunnistaa lähettäjän ja tarjoaa helpon tavan kieltäytyä seuraavista.

Kirjoittakaa vain ihmisille, jotka odottavat viestejänne. Ostettu tai vanha lista nostaa palautuvien viestien ja roskaposti-ilmoitusten määrää, ja seuraukset kantaa verkkotunnuksenne.

Avausten ja klikkausten seuranta

Seurantapikseli ja klikkausten seuranta koskettavat yksityisyyttä, ja dokumentaatio pyytää käyttämään niitä esimerkiksi GDPR:n kaltaisia sääntöjä noudattaen. Oletuksena tätä seurantaa ei liitetä yksittäiseen tilaajaan: valinta ”Individual subscriber tracking” liittää sen, ja ”Disable tracking” katkaisee sen kokonaan, kohdassa ”Settings”, ”Privacy”.

Palautuvat viestit

Jatkuva kirjoittaminen osoitteeseen, joka hylkää viestinne, heikentää lähetysmainettanne. Palautuvien viestien käsittely on aluksi pois päältä: ottakaa se käyttöön kohdassa ”Settings”, ”Bounces” ja valitkaa sitten jompikumpi näistä kahdesta tiestä.

Erillistä laatikkoa varten ilmoittakaa se paluuosoitteeksi kohdassa ”Settings”, ”SMTP”, ”Custom headers”:

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

Lähtöasetukset ovat ne, jotka dokumentaatio antaa SES:lle, ja ne muodostavat hyvän pohjan:

Palautuksen tyyppiMääräToiminto
Soft (kevyt)2None: ei mitään
Hard (pysyvä)1Blocklist: osoite estetään
Complaint (roskapostiksi ilmoittaminen)1Blocklist: osoite estetään

PostgreSQL, ainoa riippuvuus

Listmonk vaatii PostgreSQL 12:n tai uudemman. Compose-tiedosto tuo mukanaan postgres:17-alpine:n, tiedot Docker-taltiossa listmonk-data. Tilaajat, kampanjat, pohjat, tilastot ja suurin osa asetuksista ovat siellä; vain tietokannan tunnukset ja kuunteluosoite pysyvät asetuksissa.

Osoittaaksenne olemassa olevaan PostgreSQL-palvelimeen muokatkaa palvelun app muuttujia LISTMONK_db__host, LISTMONK_db__port, LISTMONK_db__user, LISTMONK_db__password ja LISTMONK_db__database.

Listmonk on suunniteltu suurille listoille. Tietokannan kasvaessa juuri se voi hidastaa käyttöliittymää: miljoonilla tilaajilla kojelauta ja laskurit voivat kestää kymmeniä sekunteja näkyä. Projekti neuvoo silloin kahta toimenpidettä:

Pääte, docker-compose.yml-tiedoston kansiossa
docker compose exec db psql -U listmonk -d listmonk -c 'VACUUM ANALYZE;'

Varmuuskopiot ja päivitykset

Instanssinne muodostuu kahdesta osasta: PostgreSQL-tietokannasta ja kansiosta uploads, jos kuvanne pysyvät levyllä. pg_dump tuottaa yhtenäisen viennin pysäyttämättä Listmonkia tai estämättä muita pääsyjä tietokantaan:

Pääte, docker-compose.yml-tiedoston kansiossa
docker compose exec -T db pg_dump -U listmonk listmonk > listmonk-$(date +%F).sql
tar -czf listmonk-uploads-$(date +%F).tar.gz uploads

Palauttaaksenne pysäyttäkää Listmonk, tyhjentäkää tietokanta ja ladatkaa vienti uudelleen. Kuten dokumentaatio täsmentää, tämä toimenpide tyhjentää käytössä olevan tietokannan:

Pääte
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

Päivittäminen

  1. Lukekaa uuden version julkaisutiedot: Listmonk ilmoittaa uusista versioista käyttöliittymässään, ja osa sisältää tietoturvakorjauksia.
  2. Viekää tietokanta, kuten projekti pyytää ennen jokaista päivitystä.
  3. Vaihtakaa imagen tunniste tiedostossa docker-compose.yml.
  4. Ajakaa dokumentaation komennot. Compose-tiedosto migroi tietokannan käynnistyksessä.
Pääte
docker compose down app
docker compose pull
docker compose up app -d

Binäärillä pysäyttäkää Listmonk, korvatkaa binääri, ajakaa ./listmonk --upgrade ja käynnistäkää se sitten uudelleen. Palataksenne aiempaan versioon palauttakaa ennen päivitystä otettu vienti ja asettakaa sitten vanha tunniste takaisin.

Kuka tekee mitä Managed VPS:llä

Oma hostaus vaatii palvelimen ylläpitoa sovelluksen lisäksi. Managed VPS -palvelimella tiimimme huolehtivat palvelimesta ja seuraavat instanssianne proaktiivisesti; Listmonk pysyy teidän ohjelmananne asetuksineen, listoineen ja kampanjoineen.

AiheTiimimmeTe
PalvelinJärjestelmä- ja tietoturvapäivitykset, toimenpiteet palvelimella mukaan lukienToimintaanne sopiva ajankohta
ValvontaPalvelinta seurataan ympäri vuorokauden joka päivä, ja puututaan asiaan odottamatta yhteydenottoanneKampanjoidenne ja palautuvien viestienne seuranta
ListmonkProaktiivinen seuranta: virheet, hitaus ja levytila havaitaan, ja korjausta suositellaanSen asennus, päivitykset ja asetukset, jotka toteutatte itse tai tekoälyavustajanne kanssa
LähetysPalvelin, joka tavoittaa SMTP-releenne portissa 587Lähetyspalvelunne, DNS-tietueenne, listanne ja vastaanottajienne suostumus
VarmuuskopiotJoka yö, salattuina ja koneen ulkopuolella säilytettyinä; palautus sisältyyPalautuspyyntö sekä vientinne ennen jokaista päivitystä
SiirtoNykyinen palvelimenne siirretään, veloituksettaKäyttöönoton ajankohta

Jos haluatte tiimiemme toimivan itse sovelluksessa, tämä palvelu laskutetaan tuntiveloituksella tai kiinteällä hinnalla, ja arvio annetaan ennen toimenpidettä.

Listmonk palvelimella, jota ylläpidetään puolestanne

Simafrin Managed VPS -palvelussa tiimimme pitävät Listmonk-instanssinne palvelimen ajan tasalla, valvovat sitä yötä päivää ja toimivat odottamatta yhteydenottoanne; ne seuraavat myös instanssianne proaktiivisesti ja suosittelevat teille hyödyllisiä korjauksia, jotka toteutatte itse tai tekoälyavustajanne kanssa. Varmuuskopiot salataan joka yö ja säilytetään koneen ulkopuolella, niiden palautus sisältyy, ja nykyisen palvelimenne siirto tehdään veloituksetta.

Katso Managed VPS

Usein kysytyt kysymykset

Onko Listmonk maksuton yrityskäytössä?

Kyllä. Listmonk on AGPL-3.0-lisenssillä: voitte käyttää sitä yrityksessä ilman ostettavaa lisenssiä. Jos muokkaatte sitä, etäkäyttäjienne on voitava saada versionne lähdekoodi. Jäljelle jäävät palvelimen ja lähetyspalvelunne kustannukset.

Minkä Listmonk-version asentaa?

Version v6.2.0, viimeisimmän vakaan version 11. marraskuuta 2026. Versio v7.0.0-beta.2, joka näkyy GitHubissa ensimmäisenä, on beta. Kiinnittäkää Docker Composessa image tunnisteeseen listmonk/listmonk:v6.2.0: versionvaihto pysyy silloin teidän päätöksenänne, koska migroitua tietokantaa ei voi lukea vanhemmalla versiolla.

Miten Listmonk asennetaan Docker Composella?

Noutakaa projektin docker-compose.yml-tiedosto, vaihtakaa tietokannan salasana ja imagen tunniste ja ajakaa docker compose up -d. Käyttöliittymä vastaa portissa 9000, PostgreSQL rinnallaan. Tarjotkaa se HTTPS:llä käänteisen välityspalvelimen takaa ja täyttäkää sen Root URL.

Mitä SMTP-palvelinta Listmonkin kanssa käytetään?

Listmonk lähettää määrittämienne SMTP-palvelinten kautta. Massalähetykseen valitkaa erikoistunut lähetyspalvelu, STARTTLS portissa 587, ja julkaiskaa SPF, DKIM ja DMARC verkkotunnuksellanne. Listmonkin dokumentaatio kuvaa esimerkiksi Amazon SES:n, SendGridin ja Postmarkin palautuvat viestit.

Miten palautuvia viestejä hallitaan Listmonkissa?

Ottakaa käsittely käyttöön kohdassa Settings, Bounces ja liittäkää sitten lähetyspalvelunne webhook tai erillinen POP3-postilaatikko. Lähtöasetukset estävät osoitteen heti pysyvän palautuksen tai roskapostiksi ilmoittamisen jälkeen.

Miten Listmonk varmuuskopioidaan?

Viekää tietokanta komennolla pg_dump palvelua pysäyttämättä ja säilyttäkää kansio uploads, jos kuvanne ovat levyllä. Projekti pyytää tätä vientiä ennen jokaista päivitystä, koska aiempi versio ei lue jo migroitua tietokantaa.

Hoitaako Listmonk suostumuksen ja tilauksen peruutuksen?

Se antaa työkalut: double opt-in -listat, peruutuslinkki pohjissanne, List-Unsubscribe-otsake sekä tilaajan tietojen vienti ja poisto. Itse suostumus on kerättävä teidän puoleltanne, vastaanottajienne maan sääntöjen mukaan.

Kattaako Managed VPS Listmonkin?

Managed VPS kattaa palvelimen: järjestelmän, tietoturvan, valvonnan ja varmuuskopiot. Tiimimme seuraavat myös instanssianne proaktiivisesti ja suosittelevat hyödyllisiä korjauksia, jotka toteutatte itse. Toimenpide sovelluksessa laskutetaan tuntiveloituksella tai kiinteällä hinnalla.

Lähteet ja virallinen dokumentaatio

Ota yhteyttä