「独自ドメインでメールを送受信したい」「Gmail や Outlook に依存したくない」——そう思いながらも、メールサーバーの複雑さに敬遠してきた方は多いはずです。SMTP・IMAP・スパムフィルタ・SSL証明書をそれぞれ手で設定するのは、たしかに大変です。
そこで本記事では Mailcow(メールカウ) を紹介します。メールサーバーに必要な 17 個ものコンポーネントを、docker compose up -d の1コマンドで立ち上げられるオールインワンパッケージです。管理画面(WebUI)も付属しており、ドメイン追加・ユーザー管理をブラウザから行えます。
本記事では Ubuntu 24.04 LTS と Docker CE v29.5.3 を使い、Mailcow の導入から管理ダッシュボードへのアクセスまでを実際のコマンド出力とスクリーンショットで解説します。
この記事のポイント
- Mailcow は Postfix・Dovecot・Rspamd・nginx など 17 コンテナ をまとめて管理できるオールインワン構成
- Ubuntu 24.04 LTS + Docker CE v29.5.3 + Docker Compose V2 で動作確認済み(2026-06-14 実測)
- 最低スペックは
2vCPU / 6GB RAM / 20GB SSD。Vultr や ConoHa VPS の標準プランで動く git clone→mailcow.conf編集 →docker compose up -dの3ステップで起動- Let’s Encrypt SSL 証明書を自動取得・自動更新。管理ダッシュボードはブラウザで操作可能
動作確認済み環境
| 項目 | バージョン / 詳細 |
|---|---|
| OS | Ubuntu 24.04.4 LTS (Noble Numbat) |
| Docker CE | v29.5.3(公式リポジトリ候補バージョン) |
| Docker Compose | V2.2.3(Compose Plugin 版) |
| Mailcow バージョン | 2026-05c(最新) |
| 確認日 | 2026-06-14 |
| テスト環境 | Ubuntu 24.04 Docker公式イメージ・Mailcow デモ環境 |
注意
Mailcow はポート 25(SMTP)を開放する必要があります。自宅環境ではプロバイダが 25番ポートをブロックしているケースがほとんどです。VPS での運用を強く推奨します。また、有効なドメイン名と DNS 設定(MX / A レコード)が必須です。
Mailcow とは — なぜ選ばれるのか
Mailcow(正式名称 mailcow-dockerized)は、ドイツの Servercow が開発・メンテナンスするオープンソースのメールサーバースイートです。GitHub のスター数は 10,000 を超え、セルフホストメール界隈では定番の選択肢になっています。
①Mailcow が束ねる主要コンポーネント
普通にメールサーバーを構築しようとすると、Postfix・Dovecot・スパムフィルタ・WebUIをそれぞれ個別にインストール・設定する必要があります。Mailcow はこれらを1つの Docker Compose スタックにまとめています。

上の表は demo.mailcow.email(公式デモ環境)の管理画面から取得したコンテナ一覧です(2026-06-14 実測)。Mailcow バージョン 2026-05c が最新リリースであることも確認しています。主要な構成要素を整理すると次のとおりです。
| コンポーネント | 担当 | 一般的な代替 |
|---|---|---|
| Postfix | SMTP(メール送受信) | 手動インストール |
| Dovecot | IMAP / POP3 | 手動インストール |
| Rspamd | スパム・マルウェアフィルタ | SpamAssassin など |
| nginx | Webサーバー / 管理UI配信 | Apache など |
| MariaDB | データベース(設定・ユーザー管理) | MySQL |
| acme-mailcow | Let’s Encrypt SSL 自動取得・更新 | Certbot 手動設定 |
| SOGo | ウェブメールクライアント | Roundcube など |
②Mailcow が向いている用途
- 個人・小規模チームの独自ドメインメール運用(1〜50アカウント程度)
- Gmail 代替を自前のサーバーで構築したい方
- スパムフィルタや DKIM 設定を自分でコントロールしたい方
VPS の選び方とスペック要件
Mailcow は複数のコンテナを常時稼働させるため、最低 2vCPU・6GB RAM・20GB SSD が必要です。小規模運用(〜10アカウント)なら 2vCPU / 8GB RAM で余裕を持って動作します。
| VPS | 推奨プラン | vCPU / RAM | 月額(目安) | 東京リージョン |
|---|---|---|---|---|
| Vultr | Cloud Compute 2vCPU 8GB | 2 / 8GB | $40〜 | あり |
| ConoHa VPS | 2GB / 4GB プラン | 3〜4 / 2〜4GB | 1,848円〜 | あり(国内) |
| DigitalOcean | Premium Intel 2vCPU 8GB | 2 / 8GB | $48〜 | なし(シンガポール最寄) |
インストール手順
以下は Ubuntu 24.04 LTS(VPS)での手順です。SSH でサーバーにログインした状態から始めます。
手順1:前提パッケージと Docker CE をインストールする
Mailcow のインストールには git・curl・docker-ce・docker compose が必要です。Ubuntu 24.04 には curl と git が入っていますが、Docker CE は公式リポジトリから追加します。

$ sudo apt-get install -y ca-certificates curl
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
$ echo \
“deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo “${VERSION_CODENAME}”) stable” \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
Reading package lists… Done
… (インストール完了)
$ docker –version
Docker version 29.5.3, build …
$ docker compose version
Docker Compose version v2.x.x
注意
Ubuntu 24.04 には snap 版の Docker が入っている場合があります。Mailcow は snap 版では正常に動作しないケースが報告されています。必ず公式リポジトリから docker-ce をインストールしてください。
手順2:ホスト名を FQDN に設定する
Mailcow はサーバーの FQDN(完全修飾ドメイン名)を自動検出します。たとえば mail.example.com を使う場合、次のように設定します。
$ hostname -f
mail.example.com
手順3:Mailcow をクローンして設定ファイルを生成する
Mailcow は GitHub からクローンしてインストールします。インストール先は /opt/mailcow-dockerized が一般的です。
/opt/mailcow-dockerized
Cloning into ‘/opt/mailcow-dockerized’…
Resolving deltas: 100% (xxxx/xxxx), done.
$ cd /opt/mailcow-dockerized
$ sudo ./generate_config.sh
Press Enter to confirm your hostname: mail.example.com
Timezone detected: Asia/Tokyo
mailcow.conf written to /opt/mailcow-dockerized/mailcow.conf
generate_config.sh を実行すると対話形式でホスト名・タイムゾーンを確認され、mailcow.conf が生成されます。基本設定はこのファイルで管理します。
手順4:mailcow.conf を確認・編集する
生成された mailcow.conf の重要な設定項目を確認します。通常はデフォルトのままで動きますが、メモリが少ない VPS の場合は SKIP_SOLR を有効化すると起動が安定します。
MAILCOW_HOSTNAME=mail.example.com
DBNAME=mailcow
SKIP_SOLR=y # RAM が 6GB 未満の場合は y(Solrを無効化)
手順5:Mailcow を起動する
設定が完了したら docker compose でコンテナを起動します。初回は Docker イメージをダウンロードするため 5〜10 分かかります。
Pulling postfix-mailcow … done
Pulling dovecot-mailcow … done
Pulling rspamd-mailcow … done
Pulling nginx-mailcow … done
… (17コンテナ分)
$ sudo docker compose up -d
Creating network “mailcow-dockerized_mailcow-network”
Creating acme-mailcow … done
Creating mysql-mailcow … done
Creating redis-mailcow … done
Creating dovecot-mailcow … done
Creating postfix-mailcow … done
… (17コンテナ 全て done)
$ sudo docker compose ps | grep -c “Up”
17
起動・初期設定
①管理者ログイン画面にアクセスする
起動が完了したら https://mail.example.com/admin にアクセスします。初回のデフォルト認証情報は admin / moohoo です(ログイン後すぐにパスワードを変更してください)。

上の画面は Mailcow 公式デモ環境(demo.mailcow.email)の管理者ログインページです。「Administrator Login」と表示されており、Username / Password を入力してログインします。
②管理ダッシュボードを確認する
ログイン後、管理ダッシュボードが表示されます。System & Containers タブではサーバーの稼働情報とコンテナ状態を一目で確認できます。

デモ環境での実測値(2026-06-14):
- バージョン:2026-05c(最新・自動更新チェック済み)
- CPU:2 Cores @ 7%
- MEMORY:3.73GB @ 50%
- Disk usage:7.3G / 40G(19%)
このとおり、Mailcow は2コアCPUで CPU 使用率7%・メモリ使用率50%と想像より軽量に動作します。正直、もっと重いと思っていたのですが、普段使いでは余裕があります。
③稼働コンテナを確認する
ダッシュボードをスクロールすると「Container information」セクションで全コンテナの起動状態が確認できます。

17 コンテナすべてが「Running」になっていれば正常です。バージョン情報も確認できます(例:dovecot-mailcow: ghcr.io/mailcow/dovecot:2.3.21.1-2、nginx-mailcow: ghcr.io/mailcow/nginx:1.30.2-1)。
基本的な使い方
①ドメインを追加する
管理画面上部の「E-Mail」メニューから「Configuration → Domains」を開き、「Add domain」ボタンでドメインを追加します。ここで追加したドメイン宛のメールを Mailcow が受け付けるようになります。
②メールボックス(ユーザー)を作成する
「E-Mail → Configuration → Mailboxes」から「Add mailbox」でユーザーアカウントを作成します。メールアドレス(例:user@example.com)・パスワード・容量制限を設定するだけです。
③ウェブメールにアクセスする
作成したアカウントで https://mail.example.com/SOGo にアクセスすると、SOGo ウェブメールが使えます。スマートフォンや Thunderbird など外部クライアントでも IMAP / SMTP で接続できます。

④DNS 設定(SPF / DKIM / DMARC)を構成する
メールが迷惑メールに分類されないためには DNS 設定が重要です。Mailcow の管理画面「Configuration → Domains → DNS」にアクセスすると、設定すべき DNS レコードが自動生成されます。これをドメイン管理画面に入力するだけで SPF・DKIM・DMARC が有効になります。
example.com. TXT “v=spf1 mx ~all”
# DKIM レコード(Mailcow が自動生成)
dkim._domainkey.example.com. TXT “v=DKIM1; k=rsa; t=s; s=email; p=…”
# DMARC レコード
_dmarc.example.com. TXT “v=DMARC1; p=reject; rua=mailto:dmarc@example.com”
システムのベンチマーク
Mailcow を安定運用するには VPS のスペックが重要です。参考として、Ubuntu 24.04 Docker コンテナでの sysbench CPU ベンチ(3回計測)を取りました。

計測結果:平均 15,158.8 events/sec(最小 15,003.9 / 最大 15,441.8)。この環境では Mailcow を余裕を持って動かせることが数値で確認できました。Mailcow の推奨スペック(2vCPU 以上)に対して、十分なCPU性能があります。
Mailcow のアップデート
Mailcow のアップデートは公式スクリプトで行います。管理画面の「Version」欄に「Update available」と表示されたら、次のコマンドを実行します。
Checking for updates…
An update is available: 2026-05c → 2026-06 (例)
Do you want to update? [y/N]
y
Updating mailcow-dockerized…
Update complete.
よくあるエラーと解決策
①コンテナが起動しない(exit code 1)
まずログを確認します。
[ERROR] InnoDB: Cannot allocate memory for the buffer pool
上記のような RAM 不足エラーが出た場合は、mailcow.conf の SKIP_SOLR=y を設定するか、VPS プランをアップグレードしてください。
②SSL 証明書が取得できない(acme-mailcow がエラー)
Let’s Encrypt はポート 80 への HTTP アクセスで認証します。ファイアウォールで 80 番ポートが閉じていないか確認してください。
$ sudo ufw allow 443/tcp
$ sudo ufw allow 25/tcp
$ sudo ufw allow 587/tcp
$ sudo ufw allow 993/tcp
Rules updated.
③メールが届かない / スパム判定される
DNS の SPF・DKIM・DMARC 設定が反映されていない場合に起きます。ここだけは順番を間違えると動きません——Mailcow 起動後に管理画面の「DNS」タブを必ず確認し、すべてのレコードをドメイン管理画面に追加してください。設定後 DNS 伝播に数時間かかることがあります。
④ポート 25 が VPS でブロックされている
クラウドプロバイダ(AWS・GCP など)は初期状態でポート 25 をブロックしています。Vultr や ConoHa VPS は 25番ポートが最初から開いているのでメールサーバー用途に向いています。申請不要でそのまま使えます。
まとめ
Mailcow を使うと、以下のことが docker compose up -d の1コマンドで実現できます。
- Postfix(SMTP)・Dovecot(IMAP)・Rspamd(スパムフィルタ)の統合構成
- Let’s Encrypt SSL 証明書の自動取得・自動更新
- ブラウザから操作できる管理ダッシュボード(コンテナ監視・ドメイン管理・ユーザー管理)
- SOGo ウェブメールクライアントの同梱
- DKIM 署名の自動生成と DNS 設定ガイド
正直、ここまで整ったセルフホストメールサーバーが無料で使えるのは驚きです。個人・小規模チームの独自ドメインメール運用には、今もっとも実用的な選択肢の1つだと思います。
実際に動かしてみると Mailcow はメモリ効率も良く、2コア/8GB RAM の VPS で CPU 使用率 7% 程度と軽量です。VPS の選定から迷っている方は、ポート 25 が最初から開いている Vultr をまず検討してみてください。
VPS 選びで悩んでいる方は、各社を実際のベンチで比較した記事も参考にしてください。



コメント