Хостването на Listmonk на Managed VPS означава да пазите списъците си с абонати и кампаниите си на своя собствена машина, която нашите екипи поддържат актуална и наблюдават денем и нощем. Listmonk е свободен софтуер с лиценз AGPL-3.0. Това ръководство следва официалната му документация: коя версия да изберете, Docker Compose, PostgreSQL, HTTPS, изпращането чрез SMTP, отхвърлените писма, съгласието, резервните копия и обновленията.
Автор: Simon Vasconcelos Lee
Публикувано на 12 ноември 2026 г.Време за четене: 13 минути
pg_dump преди всяко обновяване.Listmonk управлява вашите пощенски списъци и бюлетини през уеб интерфейс. Това е единична програма, написана на Go, чиято единствена зависимост е PostgreSQL. Списъците му са еднопосочни: вие пишете на абонатите си, а не става дума за дискусионен списък между тях.
Listmonk е публикуван с лиценз GNU AGPL версия 3. Можете да го използвате, включително във фирма, и да изпращате своите кампании и тези на клиентите си, без да купувате лиценз. Остава цената на сървъра и тази на вашата услуга за изпращане.
Член 13 добавя условие, присъщо на AGPL: ако променяте програмата, вашата версия трябва ясно да предложи на всеки, който я използва от разстояние, през мрежата, да получи безплатно изходния ѝ код. Ако разпространявате копия, прилагат се и задълженията на лиценза за споделяне на кода. Пускането на Listmonk без промяна не задейства този член.
Нещо, което трябва да знаете, преди да започнете. В GitHub етикетът „Latest“ в момента сочи v7.0.0-beta.2 от 10 ноември 2026 г., която самият проект представя като бета. Последната стабилна версия е v6.2.0, която носи поправки за сигурността на разрешенията. Към 11 ноември 2026 г. образът на Docker latest сочи тази v6.2.0.
| Версия | Образ на Docker | Състояние |
|---|---|---|
| v6.2.0 | listmonk/listmonk:v6.2.0 | Стабилна: тази на това ръководство |
| v7.0.0-beta.2 | listmonk/listmonk:beta | Бета: за изпробване върху копие, с резервно копие |
| nightly | listmonk/listmonk:nightly | Нетествана, според проекта: на ваш риск |
Версия 7 заменя целия административен интерфейс, променя някои от адресите му, превръща настройката app.from_email в списък от адреси и променя ключове за превод, което засяга персонализираните шаблони. Прочетете бележките към нея, преди да преминете.
Файлът Compose на проекта изпълнява --upgrade --yes при всяко стартиране: нов образ мигрира базата, без да ви пита. А мигрирана база не се чете повторно от по-стара версия и връщането назад налага възстановяване на резервно копие. С фиксиран етикет, като v6.2.0, смяната на версията остава ваше решение.
Проектът препоръчва Docker Compose: неговият файл стартира Listmonk и PostgreSQL заедно. На сървър с инсталиран Docker създайте папка и изтеглете този файл:
mkdir listmonk
cd listmonk
curl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml
Проектът моли да приспособите този файл към вашата среда. Ето единствените редове, които да промените, останалото не се променя:
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 като начална стойност. Сменете я преди първото стартиране, защото образът на PostgreSQL чете тази променлива само върху празна папка с данни.latest, по причината, видяна по-горе.127.0.0.1: това е нашето приспособяване. Файлът на проекта публикува порт 9000 без ограничение на адреса и вече ограничава PostgreSQL до локалния адрес. Третиран по същия начин, Listmonk е достъпен само през обратния прокси.Стартирайте после услугите, като създадете предварително акаунта Super Admin. Тези две променливи служат само при първото стартиране, а без тях акаунтът се създава при първото посещение на интерфейса: по-добре да съществува, преди да отворите домейна си.
LISTMONK_ADMIN_USER=votre-identifiant LISTMONK_ADMIN_PASSWORD=votre-mot-de-passe docker compose up -d
Listmonk работи и като самостоятелна програма, до вашия собствен сървър PostgreSQL, версия 12 или по-нова, където базата вече е създадена.
listmonk_6.2.0_linux_amd64.tar.gz, като избягвате бетата, показвана най-отгоре, и извлечете двоичния файл.config.toml../listmonk --new-config
./listmonk --install
./listmonk
По подразбиране config.toml слуша на localhost:9000, което е подходящо зад обратен прокси. Хранилището доставя файл за услуга listmonk@.service за systemd.
Сайтът на проекта цитира продукционна инстанция, която изпраща кампания от над 7 милиона имейла с част от ядро на процесор и пик от 57 MB памет. Той не публикува нито минимум, нито число за PostgreSQL, чийто обем расте с абонатите, отварянията и кликовете ви. На Managed VPS ни опишете как го използвате и ще ви препоръчаме подходящия размер.
Абонатите ви кликват върху връзки, които сочат към вашата инстанция: отписване, потвърждение, проследяване на кликовете. Тя се предоставя следователно по HTTPS на собствено име на домейн. Създайте записите A и AAAA на това име към сървъра ви, където посетителите пристигат на портове 80 и 443. Документацията на Listmonk оставя избора на прокси, ето две често срещани конфигурации.
Caddy сам получава и подновява сертификата:
listmonk.example.com {
reverse_proxy 127.0.0.1:9000
}
Nginx по подразбиране отказва заявки над 1 MB, с грешка 413. За да внесете файл с абонати или изображения, вдигнете това ограничение според размера на файловете си:
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 поставя сертификата Let’s Encrypt и пренасочването към HTTPS, а после сам подновява сертификата:
sudo certbot --nginx -d listmonk.example.com
Влезте в https://listmonk.example.com/admin, после отворете „Settings“:
https://listmonk.example.com. Listmonk извлича от него връзките за отписване, потвърждение и проследяване във вашите имейли. Началната му стойност, http://localhost:9000, не би работила при абонатите ви./listmonk/uploads, папката, която файлът Compose монтира на сървъра.За да филтрирате достъпа, по IP адрес или чрез прокси за удостоверяване, документацията разделя маршрутите така:
| Маршрути | Роля | Достъп |
|---|---|---|
/admin/*, /api/*, /webhooks/bounce | Администрирането, неговият API и вътрешният webhook за отхвърлени писма | Частен |
/subscription/*, /public/* | Страниците за абонамент и техните файлове | Публичен |
/link/*, /campaign/* | Проследяването на връзките и пикселът за проследяване | Публичен |
/webhooks/service/* | Отхвърлените писма, изпратени от вашата услуга за изпращане | Публичен |
/uploads/* | Изображенията в имейлите ви | Публичен |
Listmonk подготвя и дозира имейлите ви, после ги поверява на SMTP сървърите, които декларирате в „Settings“, „SMTP“. Той не ги доставя сам до пощенските кутии на абонатите ви: качеството на доставката зависи следователно от този сървър, от вашия домейн и от вашите списъци.
За масово изпращане изберете специализирана услуга за изпращане: тя носи репутацията на изпращанията ви и подписите на домейна ви и умее да връща отхвърлените писма. От VPS на Simafri изпращането минава през удостоверено SMTP реле, на порт 587: тук, на тази услуга.
За ориентир, документацията на Listmonk описва отхвърлените писма на Amazon SES, Azure Communication Services, SendGrid, Postmark, Forward Email и Lettermint. Сравнете ги според вашия обем и получатели.
| Настройка | Стойност | Какво проверявате |
|---|---|---|
| Host | SMTP адресът на вашата услуга | Заменя примерната стойност |
| Port | 587 | Предварителните настройки на екрана често предлагат друг порт: върнете се на 587 |
| TLS | STARTTLS | Върви заедно с порт 587 |
| Auth protocol | Този на вашата услуга, често LOGIN | С потребителското име и SMTP паролата на услугата |
Кликнете после „Test connection“: Listmonk изпраща пробно съобщение и показва грешката на сървъра, ако изпращането пропадне. Можете да декларирате няколко сървъра, да изберете един от тях за кампания или да насочвате изпращанията според адреса или домейна на подателя.
Настройте я в „Settings“, „Performance“, под ограничението на вашата услуга:
Съобщение, което пропадне, се повтаря според настройката „Retries“, през други връзки на сървъра. Ако пропадне отново, Listmonk го отбелязва като грешка и продължава със следващото: следете тези грешки по време на голяма кампания.
Хостването на приложението ви оставя господар на тези теми, а те решават дали имейлите ви пристигат.
Изпращайте от адрес на вашия домейн и публикувайте в неговата DNS зона записите SPF и DKIM, които вашата услуга за изпращане ви дава, заедно със запис DMARC. Google изисква трите от подателите на повече от 5 000 съобщения на ден към акаунти в Gmail, с домейн на подателя, подравнен със SPF или DKIM, отписване с един клик за маркетинговите съобщения и дял на докладвания спам под 0,30 %, в идеалния случай под 0,10 %.
{{ UnsubscribeURL }} в долния колонтитул на шаблона си. Тази връзка води към управлението на предпочитанията и към отписването.Listmonk прилага типа списък, който изберете. В списък с просто opt-in абонат, добавен без потвърждение, получава кампаниите ви въпреки това. В списък с двойно opt-in той получава първо имейл за потвърждение и само потвърдените абонати получават кампаниите ви. Това е изборът, който най-добре защитава репутацията ви при изпращане и който пази ясна следа от съгласието.
Правилата зависят от държавата на получателите ви. Във Франция, например, CNIL изисква предварително съгласие на частните лица, чрез положително действие, като неотметнато предварително квадратче, с изключение за вашите клиенти за сходни продукти или услуги. Между професионалисти проучването може да се основава на легитимен интерес, ако засяга тяхната професия. Във всички случаи всяко съобщение идентифицира подателя и предлага лесен начин за отказ от следващите.
Пишете само на хора, които очакват съобщенията ви. Купен или стар списък вдига отхвърлените писма и докладите за спам, а последиците понася вашият домейн.
Пикселът за проследяване и проследяването на кликовете засягат личния живот и документацията моли да се използват при спазване на правила като GDPR. По подразбиране това проследяване не е свързано с всеки абонат: опцията „Individual subscriber tracking“ го свързва, а „Disable tracking“ го изключва напълно, в „Settings“, „Privacy“.
Да продължавате да пишете на адрес, който отхвърля съобщенията ви, уврежда репутацията ви при изпращане. Обработката на отхвърлените писма е изключена в началото: включете я в „Settings“, „Bounces“, после изберете един от тези два пътя.
https://listmonk.example.com/webhooks/service/ses, като последната дума се сменя според услугата. Този адрес трябва да остане публичен.За специална кутия декларирайте я като адрес за връщане в „Settings“, „SMTP“, „Custom headers“:
[
{"Return-Path": "your-bounce-inbox@example.com"}
]
Началните настройки са тези, които документацията дава за SES, и те са добра основа:
| Тип отхвърлено писмо | Брой | Действие |
|---|---|---|
| Soft (леко) | 2 | None: никакво |
| Hard (окончателно) | 1 | Blocklist: адресът се блокира |
| Complaint (доклад за спам) | 1 | Blocklist: адресът се блокира |
Listmonk изисква PostgreSQL 12 или по-нов. Файлът Compose носи postgres:17-alpine, с данните му в тома на Docker listmonk-data. Абонати, кампании, шаблони, статистика и повечето настройки живеят там; в конфигурацията остават само достъпът до базата и адресът за слушане.
За да насочите към съществуващ сървър PostgreSQL, променете променливите LISTMONK_db__host, LISTMONK_db__port, LISTMONK_db__user, LISTMONK_db__password и LISTMONK_db__database на услугата app.
Listmonk е създаден за големи списъци. С нарастването на базата тя може да забави интерфейса: с милиони абонати таблото и броячите могат да се показват десетки секунди. Проектът съветва тогава два действия:
VACUUM ANALYZE върху голяма база, например всяка седмица. Командата блокира заявките за времето на преминаването си, като цяло няколко секунди.docker compose exec db psql -U listmonk -d listmonk -c 'VACUUM ANALYZE;'
Два елемента съставляват вашата инстанция: базата PostgreSQL и папката uploads, ако изображенията ви остават на диска. pg_dump прави съгласуван експорт, без да спира Listmonk и без да блокира другите достъпи до базата:
docker compose exec -T db pg_dump -U listmonk listmonk > listmonk-$(date +%F).sql
tar -czf listmonk-uploads-$(date +%F).tar.gz uploads
За да възстановите, спрете Listmonk, изпразнете базата, после заредете наново експорта. Както уточнява документацията, това действие изтрива базата на място:
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
С двоичния файл спрете Listmonk, заменете двоичния файл, изпълнете ./listmonk --upgrade, после го стартирайте наново. За да се върнете към по-ранна версия, възстановете експорта, направен преди обновяването, после върнете стария етикет.
Самостоятелното хостване изисква да поддържате сървъра освен приложението. На Managed VPS нашите екипи поемат сървъра и следят проактивно вашата инстанция; Listmonk остава ваш софтуер, с неговите настройки, вашите списъци и вашите кампании.
| Тема | Нашите екипи | Вие |
|---|---|---|
| Сървърът | Обновления на системата и на сигурността, включително намеси на сървъра | Моментът, който пасва на вашата дейност |
| Наблюдението | Сървър, следен денонощно, 7 дни в седмицата, с намеса, без да се чака обаждането ви | Следенето на кампаниите и на отхвърлените ви писма |
| Listmonk | Проактивно проследяване: грешки, забавяния и дисково пространство се откриват, препоръчва се корекция | Инсталирането, обновяванията и настройките му, които прилагате вие или вашият AI асистент |
| Изпращането | Сървър, който достига вашето SMTP реле на порт 587 | Вашата услуга за изпращане, вашите DNS записи, вашите списъци и съгласието на получателите ви |
| Резервните копия | Всяка нощ, криптирани и пазени извън машината; възстановяването е включено | Заявката за възстановяване и вашият експорт преди всяко обновяване |
| Миграцията | Сегашният ви сървър е мигриран, безплатно | Моментът на превключването |
Ако предпочитате нашите екипи да се намесват в самото приложение, тази услуга се фактурира на час или на фиксирана цена, с оферта, съобщена преди намесата.
С Managed VPS от Simafri нашите екипи поддържат актуален сървъра на вашата инстанция на Listmonk, наблюдават го денем и нощем и се намесват, без да чакат обаждането ви; те следят проактивно и вашата инстанция и ви препоръчват полезните корекции, които прилагате вие или вашият AI асистент. Резервните копия се криптират всяка нощ и се пазят извън машината, възстановяването им е включено, а миграцията от сегашния ви сървър е безплатна.
Да. Listmonk е с лиценз AGPL-3.0: можете да го използвате във фирма, без да купувате лиценз. Ако го промените, вашите отдалечени потребители трябва да могат да получат изходния код на вашата версия. Остават цената на сървъра и тази на вашата услуга за изпращане.
v6.2.0, последната стабилна версия към 11 ноември 2026 г. v7.0.0-beta.2, показвана най-отгоре в GitHub, е бета. В Docker Compose фиксирайте образа на listmonk/listmonk:v6.2.0: смяната на версията остава тогава ваше решение, защото мигрирана база не се чете повторно от по-стара версия.
Изтеглете файла docker-compose.yml на проекта, сменете паролата на базата и етикета на образа, после изпълнете docker compose up -d. Интерфейсът отговаря на порт 9000, с PostgreSQL до него. Предоставяйте го по HTTPS зад обратен прокси и въведете неговия Root URL.
Listmonk изпраща през SMTP сървърите, които настроите. За масово изпращане вземете специализирана услуга за изпращане, със STARTTLS на порт 587, и публикувайте SPF, DKIM и DMARC на вашия домейн. Документацията на Listmonk описва например отхвърлените писма на Amazon SES, SendGrid и Postmark.
Включете обработката в Settings, Bounces, после свържете webhook на вашата услуга за изпращане или специална кутия POP3. Началните настройки блокират адрес при първо окончателно отхвърлено писмо или доклад за спам.
Експортирайте базата с pg_dump, без да спирате услугата, и пазете папката uploads, ако изображенията ви са на диска. Проектът изисква този експорт преди всяко обновяване, защото по-ранна версия не чете повторно вече мигрирана база.
Дава инструментите за това: списъци с двойно opt-in, връзка за отписване в шаблоните ви, заглавка List-Unsubscribe, експорт и изтриване на данните от абоната. Самото съгласие остава да се събира от ваша страна, според правилата на държавата на получателите ви.
Managed VPS покрива сървъра: система, сигурност, наблюдение и резервни копия. Нашите екипи следят проактивно и вашата инстанция и ви препоръчват полезните корекции, които прилагате вие. Намеса в самото приложение се фактурира на час или на фиксирана цена.
Simafri
Да поговорим за Вашия проект
Кажете ни с няколко думи от какво имате нужда: отговаряме Ви бързо.
Благодарим! Вашето запитване е изпратено. Ще се свържем с вас скоро.
Предпочитате имейл? Пишете ни на support@simafri.com.