DiscourseでLet’s Encryptを設定してHTTPS化

議論型掲示板DiscourseにSSLを設定する

オープンソースの議論型掲示板Discourseに、Let’s Encryptで無償のSSL証明書を追加してHTTPS化する方法についてです。

まず/var/discourse/containers/app.ymlを編集して以下の項目をコメントアウトします。

  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
…
  - "443:443" # https
…
  LETSENCRYPT_ACCOUNT_EMAIL: 'メールアドレス'

この後にDockerをリビルドすればHTTPS化は完了です。

$ sudo ./launcher rebuild app

nginx: unable to open supervise/ok: file does not exist.エラーが出たら

nginx: unable to open supervise/ok: file does not exist

上記のエラーが出た場合はapp.ymlが適切に設定されていないことが原因です。

私の場合はLETSENCRYPT_ACCOUNT_EMAILをシングルクォテーションで囲っていなくて上記のエラーとなりました。