Discourse を Digital Ocean で立てたときのメモ
立ててる途中に気づきましたが,Digital Ocean にはワンクリックで Discourse などのアプリケーションを立てられるイメージもあります。月1000円,時間料金2円からのやつ。
以下は公式ドキュメントに従って作成。
デプロイ環境
安いのと,Discourse 公式のおすすめになってることから DigitalOcean で。
- Droplets の最小構成で立てた
- 月500円くらい,時間1円くらい
- Ubuntu 16.04.3 x64
- 1 GB メモリ
- シンガポールリージョン
- バックアップON
- 料金が月額料金の20%ぶん固定で増える。今回なら月100円固定
- droplet name はなんでもいい
- DNS機能にドメインを追加
- Aレコードは必ず追加
- DNSレコードは割りと一瞬で浸透するので、 https://www.whatsmydns.net/ とか使うとよくわかる。なんかつながらないなと思ったらDNSレコードの設定ミス
ドメイン
お名前.com にした。
- ドメイン>初期設定>ドメイン詳細>ネームサーバー設定に「その他のネームサーバー」として ns1.digitalocean.com./ns2/ns3 を登録
- これやらないとDigitalOceanのDNSが働かない
- モダンな人は Google domains とかでやるのでしょうか。
メールプロバイダ
これも公式おすすめ筆頭のMailgunで。
- 毎月10,000通まで無料
- SPFとDKIMが発行されるので DigitalOcean のコントロールパネル/Network/Domains のDNSレコードから設定
- DigitalOcean の DNS レコード追加の HOSTNAME 欄ではドメイン欄が自動補完されるので注意。
- "Check DNS" ボタンを連打しても反映されない場合はたいていDNSレコードに設定された内容がおかしい
- Settings にタイムゾーン設定あり
discourse installation
基本的に ./discourse_setup
で終わる。
- Hostname: フルドメイン
- Email address for admin: 管理者のアカウント作成用メールアドレス
- SMTP address: smtp.mailgun.org
- SMTP port: 587 (default)
- SMTP username: スクリプトでやるとなぜかドメイン先頭の
mail.
が削られるので、1回スクリプトまわしたら/var/discourse/container/app.yml
を直接編集してリビルドするほうが良い - Let's Encrypt account email:
- 最初はOFFでないとサイトにアクセスできない
- あとで有効にして rebuild する
- メルアドはこの時点で Let's Encrypt 登録されてなくてよい
ビルド後の初期セットアップ
TOSとプライバシーポリシーは適当でも名前を入れて生成しておいたほうがあとで楽。