オープンソースのニュースレターおよびメールリスト管理ツールであるListmonkをセルフホストすることは、メールキャンペーンや購読者データの管理を自分でコントロールできる優れた方法です。本ガイドでは、Dockerを使用してVPSにListmonkを展開するプロセスを説明します。これにより、開発者やホームラブ愛好家も簡単に設定できるようになります。
なぜListmonkを選ぶのか?
Listmonkは、次のような堅牢で使いやすいインターフェースと機能を提供します。
- ビルトインのSMTPサーバー
- 購読者管理
- キャンペーンスケジューリング
- アナリティクス
- RESTful APIによる連携
信頼できるVPSプロバイダーの選択は、スムーズなパフォーマンスのために重要です。以下は主要なVPSプロバイダーの比較です。
| プロバイダー | 価格 (EUR/USD) | スペック | 理想的な用途 |
|---|---|---|---|
| Contabo VPS | 5.99 EUR/月 | 4 CPU, 8 GB RAM, 200 GB SSD | 予算重視のオプション |
| Hetzner Cloud | 4.15 EUR/月 | 1 CPU, 2 GB RAM, 20 GB SSD | 小規模プロジェクトに最適 |
| DigitalOcean | 6 USD/月 | 1 CPU, 1 GB RAM, 25 GB SSD | スタートアップに良い |
| Vultr | 6 USD/月 | 1 CPU, 1 GB RAM, 25 GB SSD | シンプルなインターフェース |
| Linode (Akamai Cloud) | 5 USD/月 | 1 CPU, 2 GB RAM, 25 GB SSD | パフォーマンス重視のプロジェクト |
詳細なVPS比較は、full VPS comparisonをご覧ください。
前提条件
始める前に、以下を準備してください。
- 最低1 CPU、2 GB RAMを備えたVPS
- VPSにDockerをインストール(未インストールの場合は公式ガイドに従ってください)
- Listmonkのインスタンス用にドメイン名(ブランドドメインからメール送信したい場合)
ステップ1:VPSにアクセス
SSHを使ってVPSに接続します。
ssh your_username@your_vps_ip
your_username と your_vps_ip を適切な値に置き換えてください。
ステップ2:Dockerをインストール
Dockerが未インストールの場合、次のコマンドを実行します。
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
インストールの確認:
docker --version
ステップ3:PostgreSQLデータベースのセットアップ
Listmonkはデータ保存にPostgreSQLを必要とします。以下のコマンドでセットアップします。
docker run -d \
--name listmonk-postgres \
-e POSTGRES_DB=listmonk \
-e POSTGRES_USER=listmonk \
-e POSTGRES_PASSWORD=your_password \
-p 5432:5432 \
postgres:latest
your_passwordを強力なパスワードに置き換えてください。
ステップ4:Listmonkをデプロイ
以下のコマンドでListmonkをプル・実行できます。
docker run -d \
--name listmonk \
-e LISTMONK_DB_HOST=listmonk-postgres \
-e LISTMONK_DB_USER=listmonk \
-e LISTMONK_DB_PASSWORD=your_password \
-e LISTMONK_DB_NAME=listmonk \
-p 9000:9000 \
--link listmonk-postgres:postgres \
--restart unless-stopped \
listmonk/listmonk:latest
your_passwordはPostgreSQLで設定したものと同じにしてください。
ステップ5:Listmonkダッシュボードへアクセス
コンテナが稼働したら、ウェブブラウザで http://your_vps_ip:9000 にアクセスしてください。デフォルトの認証情報は次の通りです。
- ユーザー名:admin
- パスワード:listmonk
初回ログイン時にはこれらの資格情報を変更し、セキュリティを確保してください。
ステップ6:ドメインとSMTPサーバの設定
カスタムドメインを使用する場合は、DNS設定でVPSのIPに向けます。また、メール送信用にSMTPサーバを設定します(Listmonkは外部SMTPサービスも利用可)。
よくある質問
1. Dockerを使わずにListmonkをセルフホストできますか?
はい、可能ですが、Dockerを使用するとインストールや管理が簡素化されます。Goを使った直接インストールもできますが、依存関係のインストールやサービス設定など追加のステップが必要です。ほとんどのユーザーには、デプロイが容易であらかじめ隔離された環境を提供するDockerがお勧めです。
2. Listmonkをホスティングするのに最適なVPSプロバイダーはどれですか?
予算やパフォーマンスの要件によります。軽量なアプリケーション向けには、Hetzner CloudやLinodeが4.15 EUR/月からの手頃なプランを提供しています。高負荷な設定には、Contaboが優れたリソースと競争力のある価格を提供します。選択時は、アプリケーションの特性と予想される負荷を考慮してください。
3. Listmonkをアップデートするにはどうしたらいいですか?
アップデートするには、実行中のコンテナを停止・削除し、最新イメージをプルして、再度コンテナを起動します。
docker stop listmonk
docker rm listmonk
docker run -d ... # 元のrunコマンドを最新のイメージとともに実行
アップデート前にデータのバックアップを取ることを忘れないでください。
これらの手順に従えば、VPS上にListmonkをセルフホストし、メールキャンペーンを効果的に管理できるツールを手に入れることができます。ハッピーセルフホスティング!