Listmonk Deployment | Part 4
About Listmonk
Listmonk is an open-source, self-hosted email newsletter and marketing automation tool. It allows you to manage and send email campaigns to your subscribers and analyze their engagement with your content. Listmonk provides a user-friendly web interface and a RESTful API for easy integration with your existing systems. With Listmonk, you can create and maintain multiple mailing lists, schedule and send email campaigns, and track their performance with detailed analytics. You have full control over your subscriber data and can easily import, export, and manage it. Listmonk is highly customizable, extensible, and can be deployed on any infrastructure that supports Docker. It is an excellent solution for businesses, organizations, and individuals who want to build and maintain their own email marketing platform while avoiding the costs and restrictions of third-party providers.
Try Listmonk Demo.
Get 20€ in cloud credits to get started with Hetzner on this link.
Benefits
Listmonk offers several benefits to businesses, organizations, and individuals looking for an email marketing solution. Some of the key benefits of using Listmonk are:
- Control and Ownership: By self-hosting Listmonk, you have full control and ownership over your subscriber data and email marketing platform. You are not bound by the restrictions and policies of third-party email marketing providers.
- Cost-effective: Listmonk is a free and open-source solution that can be deployed on any infrastructure that supports Docker. This means that you can save money on expensive third-party email marketing providers.
- Customizability: Listmonk is highly customizable and extensible. You can customize the look and feel of your email campaigns, as well as add your own features and integrations using the RESTful API.
- User-friendly interface: Listmonk provides a user-friendly web interface that makes it easy to manage your mailing lists, create and send email campaigns, and track their performance.
- Privacy and Security: Listmonk provides privacy and security features, such as encryption of sensitive data and support for two-factor authentication, to ensure the protection of your subscriber data.
- Analytics and Reporting: Listmonk provides detailed analytics and reporting on the performance of your email campaigns, including open and click-through rates, bounce rates, and unsubscribes. This information can help you optimize your campaigns and improve engagement with your subscribers.
Overall, Listmonk is an excellent solution for businesses and organizations looking for a cost-effective, customizable, and self-hosted email marketing platform.
Video Walkthrough
Installation
This is not standard installation via Portainer. Everything needs to be done inside server terminal (CLI).
- Log into your terminal via SSH
- Create listmonk folder
mkdir listmonk && cd listmonk
- Create docker-compose.yml file
nano docker-compose.yml
- Copy following config into docker-compose file
version: "3.7"
x-app-defaults: &app-defaults
restart: unless-stopped
image: listmonk/listmonk:latest
ports:
- "9000:9000" #Change port on left side if needed.
networks:
- listmonk
environment:
- TZ=Etc/UTC #Change to your timezone.
x-db-defaults: &db-defaults
image: postgres:13
ports:
- "9432:5432"
networks:
- listmonk
environment:
- POSTGRES_PASSWORD=listmonk #Change if desired.
- POSTGRES_USER=listmonk #Change if desired.
- POSTGRES_DB=listmonk #Change if desired.
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U listmonk"]
interval: 10s
timeout: 5s
retries: 6
services:
db:
<<: *db-defaults
container_name: listmonk_db
volumes:
- type: volume
source: listmonk-data
target: /var/lib/postgresql/data
app:
<<: *app-defaults
container_name: listmonk_app
depends_on:
- db
volumes:
- ./config.toml:/listmonk/config.toml
networks:
listmonk:
volumes:
listmonk-data:
- Save & Exit
- Create config.toml file
nano config.toml
- Paste following config into config.toml
[app]
# Interface and port where the app will run its webserver. The default value
# of localhost will only listen to connections from the current machine. To
# listen on all interfaces use '0.0.0.0'. To listen on the default web address
# port, use port 80 (this will require running with elevated permissions).
address = "localhost:9000" #Change, if you added different port in docker-compose.yml file.
# BasicAuth authentication for the admin dashboard. This will eventually
# be replaced with a better multi-user, role-based authentication system.
# IMPORTANT: Leave both values empty to disable authentication on admin
# only where an external authentication is already setup.
admin_username = "listmonk"
admin_password = "listmonk"
# Database.
[db]
host = "localhost"
port = 5432
user = "listmonk" #Change if desired.
password = "listmonk" #Change if desired.
# Ensure that this database has been created in Postgres.
database = "listmonk" #Change if desired.
ssl_mode = "disable"
max_open = 25
max_idle = 25
max_lifetime = "300s"
# Optional space separated Postgres DSN params. eg: "application_name=listmonk gssencmode=disable"
params = ""
- Save & Exit
- Install Listmonk DB
docker compose up -d db
- Install Listmonk App
docker compose run --rm app ./listmonk --install
- Start Listmonk
docker compose up -d app
- Add DNS Record
- Add SSL and proxy in the NPM
- Visit your new app and configure according to your likings
About Webnestify
Imagine a world where you can focus on your business and less time maintaining your cloud infrastrucure. With Webnestify cloud based solutions, we provide customized solutions for all types of companies to meet their needs; no matter how big or small they may be!
Read our reviews on Trustpilot!
Subscribe to our YouTube channel!
If you need to setup your own custom app instances or need help with security, visit our custom deployment service page.
