Tự lưu trữ Listmonk với Coolify: Nền tảng newsletter của bạn
Bạn có mệt mỏi vì phải trả phí hàng tháng cho các dịch vụ newsletter như Mailchimp hoặc ConvertKit? Bạn đang tìm kiếm sự kiểm soát hoàn toàn đối với dữ liệu người đăng ký và các chiến dịch email của mình? Listmonk có thể là giải pháp bạn cần.
Listmonk là một công cụ quản lý newsletter và danh sách email mạnh mẽ, cho phép bạn tự lưu trữ mà không cần lo lắng về chi phí định kỳ hay giới hạn người đăng ký. Kết hợp với Coolify để triển khai dễ dàng, bạn có thể có nền tảng marketing email của riêng mình chỉ trong chưa đầy 30 phút.
Tại sao nên chọn Listmonk?
Trước khi đi vào thiết lập, hãy cùng điểm qua những lý do tại sao Listmonk nổi bật:
✅ Tiết kiệm chi phí: Không có phí hàng tháng hay giới hạn người đăng ký
✅ Tập trung vào quyền riêng tư: Hoàn toàn kiểm soát dữ liệu của bạn
✅ Tính năng phong phú: Phân tích chiến dịch, phân khúc, mẫu thiết kế và nhiều hơn nữa
✅ Giao diện hiện đại: Giao diện sạch sẽ, trực quan, rival với các dịch vụ trả phí
✅ API-first: Tích hợp với các ứng dụng hiện có của bạn
✅ Mã nguồn mở: Được duy trì tích cực với cộng đồng ngày càng phát triển
Điều kiện cần có
Trước khi bắt đầu, hãy đảm bảo bạn đã có:
- Một máy chủ hoặc VPS hỗ trợ Docker
- Coolify đã được cài đặt và cấu hình
- Một tên miền trỏ đến máy chủ của bạn
- Thông tin xác thực SMTP (Gmail, SendGrid, AWS SES, v.v.)
Quy trình thiết lập
Bước 1: Tạo dịch vụ Listmonk trong Coolify
- Đăng nhập vào bảng điều khiển Coolify của bạn
- Tạo một dự án mới hoặc sử dụng dự án hiện có
- Thêm một tài nguyên mới và chọn "Docker Compose"
- Đặt tên cho dịch vụ của bạn (ví dụ: "listmonk-newsletter")
Bước 2: Cấu hình Docker Compose
Dưới đây là cấu hình docker-compose.yml hoàn chỉnh hoạt động hoàn hảo với Coolify:
yaml
x-db-credentials:
POSTGRES_USER: listmonk
POSTGRES_PASSWORD: listmonk
POSTGRES_DB: listmonk
services:
app:
image: 'listmonk/listmonk:latest'
container_name: listmonk_app
restart: unless-stopped
ports:
- '9000:9000'
networks:
- listmonk
hostname: '${SERVICE_FQDN_APP:-listmonk.example.com}'
depends_on:
db:
condition: service_healthy
command:
- sh
- '-c'
- "./listmonk --install --idempotent --yes --config '' && ./listmonk --upgrade --yes --config '' && ./listmonk --config ''"
environment:
LISTMONK_app__address: '0.0.0.0:9000'
LISTMONK_app__root_url: '${LISTMONK_app__root_url}'
LISTMONK_db__user: listmonk
LISTMONK_db__password: listmonk
LISTMONK_db__database: listmonk
LISTMONK_db__host: db
LISTMONK_db__port: 5432
LISTMONK_db__ssl_mode: disable
LISTMONK_db__max_open: 25
LISTMONK_db__max_idle: 25
LISTMONK_db__max_lifetime: 300s
TZ: Etc/UTC
LISTMONK_ADMIN_USER: '${LISTMONK_ADMIN_USER}'
LISTMONK_ADMIN_PASSWORD: '${LISTMONK_ADMIN_PASSWORD}'
volumes:
- './uploads:/listmonk/uploads:rw'
healthcheck:
test:
- CMD
- wget
- '--no-verbose'
- '--tries=1'
- '--spider'
- 'http://localhost:9000/'
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
db:
image: 'postgres:17-alpine'
container_name: listmonk_db
restart: unless-stopped
networks:
- listmonk
environment:
POSTGRES_USER: listmonk
POSTGRES_PASSWORD: listmonk
POSTGRES_DB: listmonk
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U listmonk'
interval: 10s
timeout: 5s
retries: 6
volumes:
- type: volume
source: listmonk-data
target: /var/lib/postgresql/data
networks:
listmonk: null
volumes:
listmonk-data: null
Bước 3: Cài đặt biến môi trường
Trong cài đặt dịch vụ Coolify của bạn, thêm các biến môi trường này:
bash
# Bắt buộc - Đặt thông tin xác thực quản trị viên của bạn
LISTMONK_ADMIN_USER=your-admin-username
LISTMONK_ADMIN_PASSWORD=your-secure-password
# Bắt buộc - Cấu hình tên miền của bạn
SERVICE_FQDN_APP=newsletter.yourdomain.com
LISTMONK_app__root_url=https://newsletter.yourdomain.com
Lưu ý bảo mật: Đảm bảo sử dụng mật khẩu mạnh cho tài khoản quản trị của bạn!
Bước 4: Triển khai và truy cập
- Lưu cấu hình của bạn trong Coolify
- Triển khai dịch vụ
- Chờ cho cả hai container trở nên khỏe mạnh (thường mất 2-3 phút)
- Truy cập vào phiên bản Listmonk của bạn tại
https://newsletter.yourdomain.com
Cấu hình ban đầu
Khi Listmonk đang chạy, bạn cần cấu hình:
1. Đăng nhập lần đầu
- Điều hướng đến tên miền của bạn
- Đăng nhập với thông tin xác thực bạn đã đặt trong biến môi trường
- Bạn sẽ được chào đón bằng bảng điều khiển Listmonk sạch sẽ
2. Cấu hình cài đặt SMTP
Đi tới Cài đặt > SMTP và thêm nhà cung cấp email của bạn:
json
{
"host": "smtp.gmail.com",
"port": 587,
"auth_protocol": "plain",
"username": "your-email@gmail.com",
"password": "your-app-password",
"hello_hostname": "",
"tls_enabled": true,
"tls_skip_verify": false,
"max_conns": 10,
"idle_timeout": "15s",
"wait_timeout": "5s",
"max_msg_retries": 2,
"email_headers": []
}
3. Tạo danh sách đầu tiên của bạn
- Đi tới Danh sách và tạo danh sách email đầu tiên của bạn
- Thiết lập tùy chọn đăng ký
- Cấu hình xác thực kép nếu cần
4. Thiết kế các mẫu của bạn
- Điều hướng đến Chiến dịch > Mẫu
- Tùy chỉnh mẫu mặc định hoặc tạo mẫu của riêng bạn
- Sử dụng biến mẫu của Listmonk để cá nhân hóa
Các tính năng chính cần khám phá
Khi bạn đã thiết lập, đây là những tính năng mạnh mẽ bạn có thể tận dụng:
Quản lý chiến dịch
- Trình soạn thảo văn bản phong phú với hỗ trợ mẫu
- Khả năng A/B testing
- Gửi theo lịch
- Phân tích và theo dõi chiến dịch
Quản lý người đăng ký
- Nhập/xuất người đăng ký
- Thuộc tính tùy chỉnh và phân khúc
- Tùy chọn đăng ký
- Xử lý bounce và khiếu nại
Tích hợp API
- API RESTful cho mọi thao tác
- Hỗ trợ Webhook
- Tích hợp dễ dàng với các ứng dụng của bạn
Các cân nhắc sản xuất
Đối với một triển khai sản xuất, hãy xem xét những cải tiến này:
Bảo mật cơ sở dữ liệu
yaml
# Thay đổi thông tin xác thực mặc định
POSTGRES_USER: your-custom-user
POSTGRES_PASSWORD: your-secure-db-password
Chiến lược sao lưu
Thiết lập sao lưu tự động cho dữ liệu PostgreSQL của bạn:
bash
# Ví dụ về script sao lưu
docker exec listmonk_db pg_dump -U listmonk listmonk > backup-$(date +%Y%m%d).sql
Giới hạn tài nguyên
Thêm ràng buộc tài nguyên vào các container của bạn:
yaml
deploy:
resources:
limits:
memory: 512M
cpus: '0.5'
So sánh chi phí
Hãy xem xét các con số:
Mailchimp (10,000 người đăng ký): $99/tháng = $1,188/năm
ConvertKit (10,000 người đăng ký): $119/tháng = $1,428/năm
Listmonk tự lưu trữ: VPS ($20/tháng) = $240/năm
Tiết kiệm hàng năm: $948-$1,188 với quyền sở hữu dữ liệu hoàn toàn!
Khắc phục sự cố các vấn đề thường gặp
Container không khởi động: Kiểm tra biến môi trường và đảm bảo cơ sở dữ liệu đang khỏe mạnh trước.
Không gửi được email: Xác minh cài đặt SMTP của bạn và kiểm tra xem nhà cung cấp của bạn có yêu cầu mật khẩu ứng dụng (Gmail) hoặc khóa API không.
Vấn đề hiệu suất: Giám sát tài nguyên cơ sở dữ liệu của bạn và xem xét nâng cấp máy chủ nếu bạn có một cơ sở người đăng ký lớn.
Kết luận
Tự lưu trữ Listmonk với Coolify mang đến cho bạn khả năng marketing email cấp doanh nghiệp mà không có chi phí định kỳ. Bạn duy trì hoàn toàn quyền kiểm soát dữ liệu của mình trong khi tận hưởng một nền tảng hiện đại, phong phú tính năng và có khả năng mở rộng theo nhu cầu của bạn.
Việc thiết lập ban đầu có thể mất 30 phút, nhưng những lợi ích lâu dài về tiết kiệm chi phí, quyền riêng tư và kiểm soát sẽ rất đáng giá cho bất kỳ nhà sáng tạo nội dung hoặc doanh nghiệp nào.
Sẵn sàng kiểm soát marketing email của bạn? Hãy thử Listmonk – người đăng ký của bạn (và ví tiền của bạn) sẽ cảm ơn bạn!
Bạn đã thiết lập Listmonk với Coolify chưa? Hãy chia sẻ trải nghiệm của bạn trong phần bình luận bên dưới! Nếu bạn thấy hướng dẫn này hữu ích, đừng quên ❤️ và theo dõi để xem thêm nhiều hướng dẫn tự lưu trữ nữa.