🐳

クラウドインスタンスでメールサーバーを一瞬で構築)(Docker)

2023/08/03に公開1

※ ガン酔いで書きました。あとで色々直すと思います。

メールサーバー最速構築

環境

  • 必須 Docker
  • OS: Ubuntu 22
>cat /etc/os-release

PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
  • docker-mailserver
  • クラウド=Digital-Ocean

なんでデジタルオーシャンかというと、そっちに金が入っているからです。

注意なのが、デジタルオーシャンのインスタンスではデフォルトユーザーはrootです笑

1. Dockerなど入れる。

Docker

apt update and apt upgrade

shutdown -r now

sudo apt install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common \

&&

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - \

&&

sudo apt-key fingerprint 0EBFCD88

&&

sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"

&& 
apt update
&&

sudo apt-get install docker-ce docker-ce-cli containerd.io

lvim install

snapが入ってるから一瞬だよ

忘れちゃいけない。

Cloudflareはオラクル

私は自分のドメイン管理やセルフホストのアプリへのセキュリティとしてCloudflareを利用している。
今回はそのプロキシ内にインスタンスを作成していたため、苦労した。

####気をつけよう!!

"docker-mailserver"について。

写真がありません。以下に全ての手順を述べます。

  1. compose.yamlとmailserver.envを入手
  2. docker compose up -dでコンテナ起動
  3. docker compose down
  4. mailserver.envでドメイン、compose.yamlでホストネームを設定
  5. ここでは、mail.domain.tldをこのインスタンスのドメインとする。
  6. SSL_TYPE=letsencryptとする。(Let'sEncryptでの証明書でメールサーバー)
  7. ./setup.shを入手。これは、docker内のメールサーバーを操作するのに使う。
  8. dmsコマンドを作成した。これに./setup.shをエイリアスしているから以下はそれを踏まえる。
  9. dms email add a@domain.tldでメールを量産する
  10. mailserver.envのポストマスターメールを上で作成したどれかを指定する。

サーバーはもう完成。

thunderbirdで検証します。

もうこれでもオッケーだよね。

とりあえず、ドメインの証明などは後回しにしても、ssl付きのメールサーバーは完成しました。

ここから、dkimなどは設定できますが、どれもドメインのレコードでの設定となり、レジストリによって手順は異なると思いますので、割愛します。

シラフに戻れば描き直します。
問題、クレーム、喧嘩の申し出などは、Discordに送ってください。(buntin-synthia)

では。

Discussion

RUNFUNRUNRUNFUNRUN

lunarvimのインストールでエラーが出てますが、僕が直しときました。

一度アンインストールして、

https://github.com/LunarVim/LunarVim/issues/3612#issuecomment-1528977941

これを実行してから、もう一度インストールしたら治りました。
やったね。

そもそも酔ってるこの人はなんでlvimいれたんですかね。vscodeのリモートSSH使ってるのに。
入れる必要ないですからね普通に。簡単なenvの編集ならvimでいいやろとも思いますね。
まあでもlvimは最高なので、皆さん入れましょう。