Lightsailとmailuでメールサーバを建てる

今どき自前でメールサーバ持つよりGsuite最低プランの方が安いですが

aries

はじめに

見栄のために独自ドメインのメール欲しいなー楽にやるなら雑にoffice365とかGsuiteの最低プランかなー、とか考えていましたがLightsail値下がりしたし大差ない金額でメールサーバ組めそうだったためやってみました。

(勿論運用の手間とかあるいは上記SaaSにくっついてくるストレージとか考えると自分で立てるのなんて完全な道楽です)

今回の記事の中身としては「ドキュメント通りやったらできたよ!」というだけなので、まぁ事例紹介的な。

技術が微妙な身でもメールサーバ持てるよ、というそんな記事。

構成

  • AWS Lightsail RAM1GB Ubuntu18.04 $5/month
  • AWS Route53で取得, DNSホスティングしているドメイン
  • mailu 1.6

ストレージ用にS3を使うとかは直接だとできないので今回はやっていません。(もしやるとしたら、goofysを使ってdockerのvolumeを、とかかなぁ)

月額$5 + ドメイン代のみ。

mailuって?

dockerを使っていい感じに楽にメールサーバを建てられる。

k8sもあるけど今回はdocker-composeを使います。

Mailu — Mailu, Docker based mail server

作業の流れ

大体以下のような感じです

  • LightsailでVPS作成
  • グローバルIPアドレスを静的にし、Route53へとりあえずAレコード登録
  • 作成したVPSのアプデやタイムゾーンなど設定
  • docker.io, docker-composeをインストール
  • ここ を見て設定ファイルを作る
  • MXレコードの登録やLightsailのファイアウォールのポート開放とか
  • docker-compose build
  • docker-compose up -d
  • 最後にユーザ作ったりDMARCとかDKIMとかsshのポート閉じるとか細かい所

詰まった所

ドキュメントがかなり優しいため基本的にドキュメント通りでなんとかなりました。

mailu用意してくれている設定ファイル作成ツールがかなり便利で、これがちゃんと使えるなら全く問題はないかと。

[IPv4 listen address]という項目がありますが、Lightsailの場合ここに直接staticIPを書くとうまく行きませんでした。

LightsailのVMが持っているローカルアドレスを入力しましょう。

また少し使って思いましたが、Webを通しての管理UIは合ったほうが楽です。(勿論MFAとかあるわけではないのでセキュリティ落ちますが……)

特にDNS周りを設定するとき、管理UIから「どんなレコードを設定すればいいか」というのを確認できるため私には必須でした。(ユーザ追加とかエイリアスとかも可能)

その他

Fail2banとか無いのでその辺はちょっと心配。

サイジングについてはドキュメントに合ったためそれに合わせて最低1GBとのことだったためこれにした。

けど、一人でちょいちょい使う分にはRAM1GBもいらなそう。

前のブログのVPS代1000円が無くなって、さらにElasticCacheも無くした分若干お金に余裕ができて色々遊んでるけどこれじゃ元の木阿弥では……。