Isambard
(Isambard)
1
db_id: 2 の値が上記の推奨設定で何をするのか疑問に思っていました。
また、既存のマルチサイト設定に新しいサイトを追加する手順は何ですか?それは単に次のようになりますか?
- YAML を更新する
./launcher bootstrap multisite
./launcher start multisite
フルブートストラップまたは再構築を行わずに、必要な追加のデータベースを何らかの方法で追加して、他のすべての既存サイトへの影響を回避する方法はありますか?
pfaffman
(Jay Pfaffman)
2
db id はもう必要ないと思います。
multisite ファイルを新しいサイトで編集し、
sv restart unicorn
を実行してから、データベースを移行すればよいでしょう。
「いいね!」 1
Isambard
(Isambard)
3
命の恩人です!
再起動に必要なコマンドでした(sv reload unicorn も試しましたが、うまくいきませんでした)。
データベースの作成に関して、自動化する方法はありますか? rake db:create[mynewdbname] のようにできれば嬉しいです。そうでなければ、短いシェルスクリプトを作成します。
現時点では、手動で作成し(DBを作成して権限を設定)、その後 RAILS_DB=newdb rake db:migrate でデータを投入しています。
Isambard
(Isambard)
4
そして、私が愚かなことをしていないか確認するために:
- 現在、Docker内のマルチサイトファイル(/var/www/discourse/config/multisite.yml)を編集しています。
- データベースを手動で作成しています。
rake db:migrate を実行しています。
sv restart unicorn を実行しています。
- 将来の再構築やアップグレードに備えて、Docker外のYAMLファイルも編集して、マルチサイト構成を同期させる必要があります。
1か所で編集して変更をプッシュする方法があるのに、2か所でマルチサイト構成を編集するのは愚かなことでしょうか?
「いいね!」 1
このドキュメントをもう少し整理して、さらに詳しい説明を提供することは可能でしょうか?まず、私はDockerに全くの初心者です。Linuxサーバーの経験はありますが、プロではありません。昔ながらのcronジョブやシェルスクリプト、Apacheのマルチサイトなどの奇妙なものが好きです。しかし、これはもっと複雑で、使い慣れたものとは異なるプログラミング言語を使用しています。もしかしたら、デモンストレーションビデオのようなものも可能でしょうか?Discourseがマルチサイト対応になれば、ファイルをいくつか編集するだけで済むので、それは素晴らしいでしょう。
「いいね!」 2
pfaffman
(Jay Pfaffman)
6
それを貼り付けて、都合に合わせて編集してください。
その後、リバースプロキシを使用するか、複数のドメイン/リダイレクトでLet’s Encryptを設定するに従って、すべてのドメインの証明書を取得する必要があります。
Let’s Encryptとリバースプロキシなしでマルチサイト構成を設定するも参照してください。ただし、これは前のリンクから取得できる別の行が必要になるように更新する必要があります。更新するつもりでしたが、まだできていません。
「いいね!」 1
マルチサイトを行う場合、ドメインはどこを指すべきですか?サーバー(他のフォーラムをホストしている)と同じIPアドレスですか?
はい、すべてのドメインを同じサーバーIPに向けます。
NginxまたはCaddyサーバーでリバースプロキシを設定します。
Caddyは、すべてのドメインに無料の自動SSL証明書を提供するという点で最良です。
「いいね!」 1
Docker を使用してマルチサイト インストールを正常にセットアップするために、このチュートリアルに従いました。最近、アップグレードしようとしたときにエラーが発生し、次の行が:
- exec: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate
次のように編集されるべきだと考えています。
- exec: cd /var/www/discourse && sudo -H -E -u discourse bundle exec rake multisite:migrate
誰かチュートリアルを確認/編集してもらえますか?
「いいね!」 1
はい。私もこれに遭遇しました。ブートストラップが失敗するのを避けるために、その変更を行う必要があります。
「いいね!」 2