Discourseをサブドメイン間で移動させる – これは機能するでしょうか?

状況:

注:以下の 2 つのインスタンス(サーバー 1 と 2)は、それぞれ異なるサーバー上の Docker コンテナで実行されています。両方のサーバーは、Let’s Encrypt 証明書を使用して HTTP および HTTPS(ポート 80 と 443)で動作しています。

  1. サーバー 1(IP アドレス 1)上で完全に動作中の Discourse。HTTP および HTTPS 両方:discourse-test.example-domain.com
  2. サーバー 2(IP アドレス 2)上で初期化され動作中の Discourse(まだ投稿やトピックは追加されていません)。HTTP および HTTPS 両方:talktime.example-domain.com

目標:

サーバー 1(テスト環境)からサーバー 2(本番環境)へすべてを移行し、ドメインを discourse-test.example-domain.com から talktime.example-domain.com に変更すること。

提案されたアプローチ:

  1. サーバー 1 の Discourse からバックアップを取得
  2. サーバー 1 の Discourse バックアップをサーバー 2 に復元

これで問題なく動作するでしょうか?

それとも注意すべき落とし穴はありますか?

ご教示いただければ幸いです。

「いいね!」 2

それで問題ないはずです。復元後に

script/discourse remap //discourse-test.example-domain.com //talktime.example-domain.com

を実行してください。

「いいね!」 5

更新:

動作しました… ありがとうございます。

ただし、アバターが何らかの理由で復元されませんでした。

もしかして、これが失敗しているからでしょうか?

script/discourse remap //discourse-test.example-domain.com //talktime.example-domain.com

Traceback (most recent call last):

2: from script/discourse:4:in `<main>'

1: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require'

/usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- thor (LoadError)
「いいね!」 1

以下が機能しました:

su discourse -c 'bundle exec script/discourse remap //discourse-test.example-domain.com //talktime.example-domain.com

…正常に実行されました…

ただし、この復元プロセスではアバターが移行されませんでした(バックアップ時に画像を含めるオプションを選択していました)。

更新情報:

サーバー1からサーバー2へ、以下の場所の画像を移行することで、アバターが機能するようになりました:

/var/discourse/shared/standalone/uploads/defaults
「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.