亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Table of Contents
Table of contents
Advantages of using Listmonk
Install Listmonk
Install Docker and Docker Compose
Deploy Listmonk instances
Start the Listmonk container
Configure Nginx reverse proxy
Home Computer Tutorials Computer Knowledge How to Create Your Own Newsletter with Listmonk - Make Tech Easier

How to Create Your Own Newsletter with Listmonk - Make Tech Easier

Jul 30, 2025 am 12:12 AM

Listmonk is a simple, all-in-one self-hosted newsletter and mailing list solution for Linux systems. Unlike traditional mailing list programs, it is known for its lightweight, fast and efficient. This article will guide you on how to install Listmonk using Docker on Ubuntu and teach you how to start sending newsletters.

Table of contents

  • Advantages of using Listmonk
  • Install Listmonk
  • Configure Nginx reverse proxy
  • Install the SSL certificate
  • Access and configure Listmonk

Advantages of using Listmonk

One of the biggest highlights of Listmonk is that it is compatible with almost any external mail delivery service. This means you can send newsletters through hosted mailbox services such as Gmail, or your own built mail system.

How to Create Your Own Newsletter with Listmonk - Make Tech Easier

In addition, Listmonk supports creating programmable email templates, allowing you to dynamically adjust content according to the context of the user receiving emails, achieving highly personalized email push.

Finally, Listmonk has built-in intuitive analytics module to help you track the performance of each newsletter. It can not only count the number of clicks per email, but also analyze the browsing of the entire mailing list in a specific time period.

Install Listmonk

Install Docker and Docker Compose

Prerequisites : This article assumes that you are running Listmonk on an always-on VPS and you already have a domain name and the A record and PTR record are correctly pointed to your server IP.

First, get the repository keys for Docker and Docker Compose:

 <code>curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg<br>sudo chmod ar /etc/apt/keyrings/docker.gpg</code>

Create a new repository file for Docker and Docker Compose:

 <code>sudo nano /etc/apt/sources.list.d/docker.list</code>

Add the following to the file:

 <code>deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable</code>

Update and upgrade the system:

 <code>sudo apt update && sudo apt upgrade</code>

Install the Docker engine, Docker Compose and its related components:

 <code>sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git curl</code>

Ensure that the current user has permission to access Docker:

 <code>sudo usermod -aG docker ramces</code>

Deploy Listmonk instances

Create a folder for storing Docker files in the user's home directory:

 <code>mkdir ~/listmonk && cd ~/listmonk</code>

Create a Listmonk configuration file:

 <code>nano ./config.toml</code>

Paste the following in:

 <code>[app]<br>address = "0.0.0.0:9000"<br>admin_username = "listmonk"<br>admin_password = "listmonk"<br><br>[db]<br>host = "listmonk_db"<br>port = 5432<br>user = "listmonk"<br>password = "INSERT_RANDOM_PASSWORD_HERE"<br><br>database = "listmonk"<br><br>ssl_mode = "disable"<br>max_open = 25<br>max_idle = 25<br>max_lifetime = "300s"<br><br>params = ""</code>

Tip : Random passwords can be generated through commands: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1

After saving, create the docker-compose.yml file:

 <code>nano ./docker-compose.yml</code>

Paste the following configuration (adjusted according to the time zone):

 <code>---<br>version: "3.7"<br>x-app-defaults:<br> restart: unless-stopped<br> image: listmonk/listmonk:latest<br> ports:<br> - 9000:9000<br> networks:<br> - listmonk<br> environment:<br> - TZ=Asia/Manila<br>x-db-defaults:<br> image: postgres:13<br> ports:<br> - 9432:5432<br> networks:<br> - listmonk<br> environment:<br> - POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE<br> - POSTGRES_USER=listmonk<br> - POSTGRES_DB=listmonk<br> restart: unless-stopped<br> healthcheck:<br> test:<br> - CMD-SHELL<br> - pg_isready -U listmonk<br> interval: 10s<br> timeout: 5s<br> retries: 6<br>services:<br> db:<br> image: postgres:13<br> ports:<br> - 9432:5432<br> networks:<br> - listmonk<br> environment:<br> - POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE<br> - POSTGRES_USER=listmonk<br> - POSTGRES_DB=listmonk<br> restart: unless-stopped<br> healthcheck:<br> test:<br> - CMD-SHELL<br> - pg_isready -U listmonk<br> interval: 10s<br> timeout: 5s<br> retries: 6<br> container_name: listmonk_db<br> volumes:<br> - type: volume<br> source: listmonk-data<br> target: /var/lib/postgresql/data<br> app:<br> restart: unless-stopped<br> image: listmonk/listmonk:latest<br> ports:<br> - 9000:9000<br> networks:<br> - listmonk<br> environment:<br> - TZ=Asia/Manila<br> container_name: listmonk_app<br> depends_on:<br> - db<br> volumes:<br> - ./config.toml:/listmonk/config.toml<br> networks:<br> listmonk: null<br>volumes:<br> listmonk-data: null</code>

Start the Listmonk container

Run the database container first to initialize the database:

 <code>docker compose up db</code>

Open another terminal and execute the installation command:

 <code>docker compose run --rm app ./listmonk --install</code>

When prompted to clear existing data, enter "Y" and press Enter to ensure that the environment is clean.

How to Create Your Own Newsletter with Listmonk - Make Tech Easier

Return to the database terminal, press Ctrl C to stop the database container.

How to Create Your Own Newsletter with Listmonk - Make Tech Easier

Finally, start all services in the background mode:

 <code>docker compose up -d app db</code>

Configure Nginx reverse proxy

Although Listmonk is running, it has not been made public yet. Nginx reverse proxy needs to be configured to make it accessible.

Create a site configuration file:

 <code>sudo nano /etc/nginx/sites-available/listmonk</code>

Add the following:

 <code>server {<br><br> server_name listmonk.myvpsserver.top;<br><br> location / {<br> proxy_pass http://127.0.0.1:9000;<br> proxy_http_version 1.1;<br> proxy_set_header Upgrade $http_upgrade;<br> proxy_set_header Connection "upgrade";<br> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br> proxy_set_header Host $host;<br> }<br>}</code>

Enable the site

The above is the detailed content of How to Create Your Own Newsletter with Listmonk - Make Tech Easier. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1488
72
Google Translate Picture | Translate Text in Images - MiniTool Google Translate Picture | Translate Text in Images - MiniTool Jul 12, 2025 am 12:57 AM

This Google translate picture guide shows you how to translate text from an image. If you are looking for more computer tips and solutions, you can visit php.cn Software official website where you can also find some useful computer tools like php.cn

How to Install Device Drivers Manually on Windows 11/10? - MiniTool How to Install Device Drivers Manually on Windows 11/10? - MiniTool Jul 06, 2025 am 12:15 AM

If your Windows 11/10 computer doesn’t automatically the latest versions of device drivers, you will need to manually install them. In this post, php.cn Software will show you 3 different methods to manually install drivers on your device.

How to Amplify/Boost/Increase Microphone Volume Windows 11? - MiniTool How to Amplify/Boost/Increase Microphone Volume Windows 11? - MiniTool Jul 06, 2025 am 12:27 AM

This post delivered by php.cn official web page introduces three methods to improve microphone volume and boost its performance, in Control Panel, via Settings, and by Device Manager. Read the below content to view details.

How to Open and Run dxdiag.exe on Windows 10/11 How to Open and Run dxdiag.exe on Windows 10/11 Jul 06, 2025 am 12:23 AM

This post includes answers for what is dxdiag, how to run dxdiag in Windows 10/11, DirectX Diagnostic Tool’s main functions, and how to update dxdiag.exe driver. php.cn Software also provides many other computer tips and solutions for users. You can

what is an operating system what is an operating system Jul 11, 2025 am 03:16 AM

The operating system is the basic software for managing hardware resources, running programs, and providing user interaction interfaces. It coordinates the relationship between hardware and software and is responsible for memory allocation, device scheduling, file management and multitasking. Common systems include Windows (suitable for office and gaming), macOS (Apple devices, suitable for creative work), Linux (open source, suitable for developers), and Android/iOS (mobile device system). The choice of ordinary users depends on the usage scenario, such as software compatibility, security and customization requirements. How to view system information: Use winver command for Windows, click on the machine for macOS, use terminal commands for Linux, and find the phone in settings. The operating system is the underlying tool for daily use,

Best Ways to Fix Windows 11/10 Control Panel Not Opening! Best Ways to Fix Windows 11/10 Control Panel Not Opening! Jul 08, 2025 am 12:01 AM

Have you ever wanted to adjust computer settings to fix some issues but suffered from Control Panel not opening? There is nothing more frustrating than this app not turning on, stopping you from viewing and changing system settings. In this post, mul

What Is Dell Digital Locker? How to Log in and Use It on Dell PC? - MiniTool What Is Dell Digital Locker? How to Log in and Use It on Dell PC? - MiniTool Jul 07, 2025 am 12:28 AM

What is Dell Digital Locker? How to log into Dell Digital Locker? This post from php.cn provides answers. Besides, you can know how to use your Dell Digital Locker to find software products included with your Dell computer.

How to Open Windows 11 Computer Management Console in 7 Ways? - MiniTool How to Open Windows 11 Computer Management Console in 7 Ways? - MiniTool Jul 09, 2025 am 12:18 AM

This essay summarized by php.cn Software mainly teaches you how to open Windows 11 Computer Management with Windows Search, Quick Link menu, Run dialog, command prompt, PowerShell, File Explorer, Control Panel, as well as a desktop shortcut.

See all articles