Digital OceanでDiscourseをセットアップしたところ、以下のエラーメッセージが表示され、現在wespenreboards.comのDiscourseボードが読み込めません。
IPアドレスではなくドメイン名を入力しようとしたようです。角括弧内の値は既存の値ですので、更新しないものは「Enter」キーを押して何も変更せずに次に進むことができます。
以下を実行することで、インスタンスを再起動できるはずです。
./launcher restart web_only
素晴らしい!うまくいきました…ありがとうございます!これでウェブサイトが読み込まれます。では、ホスト名はウェブアドレスということですか?WinSCPではHOSTがIPアドレスとして記載されていたので、IPアドレスを入力しました。
discourse set-up のその部分については、前回からすでに認識されているので、「Enter」を押して次のステップに進むだけでよいはずです。そして、SMTP固有の設定に達したら、新しい情報を追加して既存の情報を上書きできます。
ただし、これはIPアドレスでは機能せず、ドメインでのみ機能します。![]()
様子を伺いに来ました。
もう動きましたか?
ジャミー、連絡ありがとう。引っ越しでバタバタしていて、まだ試せていません。
コンソールで続行するように提案されたときにはすでにログアウトしていたので、ホスト名を最初からやり直す必要があると思います。そして、それは discourse.example.com で合っていますよね?
もし、プロセス中にユーザーに悪影響を与えるような問題が発生した場合、例えば前回のようにDiscourseがダウンした場合、「万能」な元に戻すコマンドはありますか?コンソールを使い始める前の状態に戻すだけで良いのですが。念のため確認しておきたいのです ![]()
大丈夫です、急がせるつもりはありません。 ![]()
準備ができたときに参照できるように、手順を以下に示します。
- Digital Ocean コンソールを開きます
cd /var/discourse./discourse-setup
これにより、一連の質問が表示されます。フォーラムはすでに稼働しているため、角かっこ内の値(例:[discourse.example.com])は既存の情報で事前入力されていることがわかります。
その情報に変更が必要ない場合は、「Enter」キーを押して次の質問に進むことができます。
質問は次のとおりです。
Hostname for your Discourse? [discourse.example.com]:
Email address for admin account(s)? [me@example.com,you@example.com]:
SMTP server address? [smtp.example.com]:
SMTP port? [587]:
SMTP user name? [user@example.com]:
SMTP password? [pa$$word]:
Let's Encrypt account email? (ENTER to skip) [me@example.com]:
Optional Maxmind License key () [xxxxxxxxxxxxxxxx]:
新しい情報を追加したいのはSMTP関連の項目です。SMTPポートは引き続き587なので、これも「Enter」キーを押すだけで問題ありません。その他の情報は、メールプロバイダー(sendinblueだと思います)から取得する必要があります。
すべての情報が入力されると、入力内容を確認する機会が与えられ、その新しい情報でインスタンスが再構築されます。すべてうまくいけば、これで完了です。 ![]()
何らかの理由でうまくいかない場合(昨日みたいに)、./launcher restart web_only を実行すると、再構築前のバージョンに戻すことができます。
以前のスクリーンショットの1つから、サーバーのメンテナンスも少し必要そうですが、メールが機能するようになったら、興味があればそれについても説明できます。 ![]()
![]()
大変助かります!ありがとうございます。試してみて、成功したかどうかにかかわらず、すぐにまたここに来てお知らせします ![]()
実行したところ、最後に次のようなエラーメッセージが表示されました。
その後、web_only を再起動しようとしたところ、次のエラーメッセージが表示され、Discourse がダウンしました。どうすればよいですか?
Let’s Encrypt のメールが承認されなかったようです。
ただし、古いものを元に戻すには、以下を実行できます。
./launcher restart data
その後、
./launcher restart web_only
まだできません。まずコンソールからログアウトしてから、restart data を実行し、その後 web_only を実行する必要がありますか?
これも意味がわかりません。:Cannot link to a non running container: /data AS /web_only/data
それらの追加の web_only ファイルは、更新を試みた2つの結果です。これらはクリーンアップ中に削除されます(ただし、サイトが稼働するまでクリーンアップは実行しないでください。アクティブに接続されていないものはすべて整理されてしまいます
)。
テストサイトであなたのセットアップ(コンテナ2つとSendinblue SMTP)をミラーリングして、何が起こっているのかをよりよく把握しようとしています。Cannot link to a non running container: /data AS /web_only/data というメッセージを受け取ったとき、データコンテナを再起動してから web_only コンテナを再起動するとうまくいきました。しかし、あなたの状況を正確に再現してより深く理解するために、discourse-setup の再実行を同様の方法で絡ませようとしてみました。
1コンテナインストールははるかに広くサポートされていると言っておくべきかもしれません。もしこれが非常にイライラするようであれば、別の選択肢として、新しいDigital Oceanドロップレットを作成し、標準のインストールガイドを使用して新しいインスタンスをインストールすることが考えられます。その後、バックアップを復元すれば、より簡単に管理できるはずです。
これで接続できます。
./launcher destroy web_only
./launcher start web_only
これにより、データコンテナに接続できます。
SMTP設定のみを変更したい場合は、nanoでweb_only.ymlを編集し、上記のdestroy、startシーケンスを実行してください。
コンソールからログアウトし、新しいコンソールを開いて指示に従いましたが、同じエラーメッセージ「実行されていないコンテナにリンクできません」が表示されます。
コンソールでSMTP設定を行う前に、以前の状態に戻す方法はありますか?引っ越し中なので、Discourseの完全な新規セットアップはできません。あまりにもフラストレーションが溜まります。
Jammyさん、ありがとうございます。
幸いにも騎兵隊が再び到着しました。
サイトも復旧したようです。![]()
@pfaffman ありがとうございます、うまくいきました。Jayさん、ありがとう!
来週後半に新しい場所に移るまで、これはこのままにしておく必要があると思います。今の重要なことは、フォーラムを稼働させ続けることです。Googleの既存のパスワードを使用することで、フォーラムのパスワードを変更したり、登録したりできるようです。ですので、今はそれで進めます。そして、昨日WinSCPからハードドライブのバックアップを作成する方法を教えていただきました。ですので、今はそれで対応できると思います。
改めて感謝します!
編集: うまくいったというのは、サイトが稼働しているという意味です。SMTPを直接変更するためのあなたの提案の残りはまだ試す必要がありますが、おそらく後で実行します。
LOL を手放すのは難しいです。Jay、Jammy、または他の誰か、これに何か不一致がありますか?たとえば、LETSENCRYPT_ACCOUNT_EMAIL: の後に OFF と入力しましたが、それが正しかったかどうかはわかりません…
## TODO: 新規アカウントの検証と通知送信に使用される SMTP メールサーバー
# SMTP アドレス、ユーザー名、パスワードが必要です
# WARNING SMTP パスワードの '#' 文字は問題を引き起こす可能性があります!
DISCOURSE_SMTP_ADDRESS: smtp-relay.sendinblue.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: wespenre2@gmail.com
DISCOURSE_SMTP_PASSWORD: "このペーストでは削除されました"
DISCOURSE_SMTP_ENABLE_START_TLS: false # (オプション、デフォルトは true)
DISCOURSE_SMTP_DOMAIN: gmail.com
DISCOURSE_NOTIFICATION_EMAIL: wespenre2@gmail.com
## Lets Encrypt テンプレートを追加した場合、無料 SSL 証明書を取得するには以下をコメント解除してください
LETSENCRYPT_ACCOUNT_EMAIL: OFF
## TODO: データベースへの接続を設定する
DISCOURSE_DB_SOCKET: ''
#DISCOURSE_DB_USERNAME: discourse
DISCOURSE_DB_PASSWORD: "このペーストでは削除されました"
DISCOURSE_DB_HOST: data
DISCOURSE_REDIS_HOST: data
letsencrypt_account_email をデフォルトの me@example.com のままにしました(メールアドレス以外を設定すると再構築が失敗します)。また、DISCOURSE_SMTP_ENABLE_START_TLS: もデフォルトの true のままにしました。
そして、メールドメインはドメイン名にし、通知メールは noreply@ のようなものを前に付ける必要があると思います。
私の設定をコピーしてきます。
DISCOURSE_SMTP_ADDRESS: smtp-relay.sendinblue.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: admin@jammydodger.monster
DISCOURSE_SMTP_PASSWORD: "secret-password"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
DISCOURSE_SMTP_DOMAIN: test.jammydodger.monster
DISCOURSE_NOTIFICATION_EMAIL: noreply@test.jammydodger.monster
## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
Jammyさん、ありがとうございます。ふぅ、もう一度試してみて、またここに戻ってきますね…(笑)。
始める前に、確認しておきたいのですが、noreplyメールは noreply@gmail.com にすべきでしょうか?GmailはDiscourseで使用している唯一のメールドメインです。Gmailでnoreplyオプションが自動的に作成されるのでしょうか、それともnoreplyメールにはどのドメインを使用すればよいのでしょうか?それとも、noreplyメールの代わりに wespenre2@gmail.com を入力することはできますか?
WinSCPで以下を編集しました(下記参照)。右クリックで web_only.yml を編集しましたが、まだリフレッシュしていません。まずご意見をお聞かせください。
その後、すべて問題がなければリフレッシュして、リフレッシュ後に ./launcher destroy web_only を実行し、次に ./launcher start web_only を実行すればよいのですよね?そうすればうまくいくはずですか?
これでどうでしょうか?
## TODO: 新規アカウントの検証や通知の送信に使用されるSMTPメールサーバー
# SMTPアドレス、ユーザー名、パスワードが必要です
# 注意:SMTPパスワードの文字 '#' は問題を引き起こす可能性があります!
DISCOURSE_SMTP_ADDRESS: smtp-relay.sendinblue.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: wespenre2@gmail.com
DISCOURSE_SMTP_PASSWORD: "password"
DISCOURSE_SMTP_ENABLE_START_TLS: true # (オプション、デフォルトはtrue)
DISCOURSE_SMTP_DOMAIN: gmail.com
DISCOURSE_NOTIFICATION_EMAIL: noreply@gmail.com
## Let's Encryptテンプレートを追加した場合、以下をコメント解除して無料SSL証明書を取得してください
LETSENCRYPT_ACCOUNT_EMAIL: wespenre2@gmail.com






