Favicon of listmonk

listmonk

Manage millions of subscribers and send fast email campaigns. This self-hosted manager offers dynamic templates, built-in analytics, and multi-SMTP routing.

Manage your email campaigns and transactional messages with a highly efficient, self-hosted solution. Designed for speed and minimal resource consumption, this tool operates as a single binary application that easily handles millions of subscribers. You can segment your audience using SQL expressions and track campaign performance through built-in analytics that monitor bounces, clicks, and top links.

Key features include:

  • Dynamic Templating: Create emails using a drag-and-drop builder, WYSIWYG editor, Markdown, or raw HTML.
  • High Performance: Utilize multi-threaded, multi-SMTP queues with precise rate limiting for optimal delivery.
  • Extensibility: Send emails, SMS, WhatsApp, and push notifications via HTTP webhooks.
  • Complete Control: Maintain full privacy over subscriber data and integrate with S3-compatible storage.

Directory Structure

listmonk
data
.env
config.toml
docker-compose.yml

docker-compose.yml

services:
  db:
    image: postgres:13-alpine
    container_name: listmonk_db
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_DB=${POSTGRES_DB}
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
      interval: 10s
      timeout: 5s
      retries: 5

  app:
    image: listmonk/listmonk:latest
    container_name: listmonk_app
    restart: unless-stopped
    ports:
      - "9000:9000"
    depends_on:
      - db
    volumes:
      - ./config.toml:/listmonk/config.toml

.env

POSTGRES_USER=listmonk
POSTGRES_PASSWORD=listmonk
POSTGRES_DB=listmonk

Share:

Ad
Favicon

 

  
 

Similar to listmonk

Favicon

 

  
  
Favicon

 

  
  
Favicon