メールサーバーを建てる【WebARENA Indigo + Mailu + Cloudflare】

選定理由 WebArena Indigo 結論からいうと、圧倒的コスパです もともとはさくらのVPS でメールサーバーを建てる予定でしたが、Mailuをウイルス対策ソフト等を込みで起動するには 3GB以上のメモリが必要でした。 執筆時点(2022年3月)では、メモリを3GB以上にすると、もっとも安い石狩リージョンでも 3,530円/月 になります。 それはちょっと高いなぁ。。。と思っているところに、ふと以前お客さんがWebARENA Indigo のVPSを使用されていたことを思い出し調べてみると、 従量課金制なのですが メモリ4GB SSD80GB で、ずっと起動していても最大 1,272円/月 です。 1/3程度の価格で、SSD容量こそ少ないですが、メールサーバーということを考えればこちらの方がずいぶん良い選択でした。 Mailu 公式サイトの言葉を借りると Mailu is a simple yet full-featured mail server as a set of Docker images. It is free software (both as in free beer and as in free speech), open to suggestions and external contributions. The project aims at providing people with an easily setup, easily maintained and full-featured mail server while not shipping proprietary software nor unrelated features often found in popular groupware....

2022/03/21 · 3 分

Dockerのubuntuでcronを起動する

TL;DR Docker Ubuntuでcronが動作せずに悩んでる人は、以下のように変更することで、動作させることができる。 最後のCMDはやめて、RUN cron -f &とかに変更しても大丈夫。 FROM ubuntu:18.04 RUN apt-get update && apt-get install cron RUN echo '* * * * * echo Hello World > /var/log/cron.log' > /etc/cron.d/crontab RUN chmod 0644 /etc/cron.d/crontab RUN /usr/bin/crontab /etc/cron.d/crontab CMD ["cron", "-f"] なぜ困ったか このサイトはDocker内でHugo を使いサーバーを建てて起動しています。 ちょうどメインページにGitHub のAPIから取得した、repo情報を表示するところがあるのですが、これを定期的にリフレッシュしたくてcronを使うことにしました。 staticフォルダ内にAPIから取得したjsonを保存しておくと、それが変更されたときにrebuildされるので最新の情報にしておくことができるというわけです。 そのため、cronを用いて # 毎時0分にAPIから取得したjsonを保存する 0 * * * * wget -O - "https://api.github.com/users/nagataaaas/repos?type=owner&sort=updated&per_page=100" --no-check-certificate > /static/github_repos.json みたいなものを設定することで、リフレッシュ出来るわけです。 しかし、(これは知らなかったんですが)Docker内ではデフォルトでcronを使えません(少なくともubuntu:18.04では)。 そのため、いろいろ試したんですが、cronがどうにも実行されない? 漁りに漁ってようやく見つけたのがこのリポジトリです。 これを見つけるまでに、私は以下のようなものを試して上手くいきませんでした FROM ubuntu:18.04 RUN apt-get update && apt-get install -y cron --no-install-recommends # setting cron RUN echo '0 * * * * wget -O - "https://api....

2022/03/16 · 1 分