こんにちは。
R-Pi 4にDiscourseとCloudflaredをインストールし、元の投稿の指示に従いましたが、Discourseのホストとして何を入力すればよいかわかりません。Cloudflaredトンネルが転送するので、localhostを入力すればよいのでしょうか?
Falcoさん、お手伝いいただけますか?
ちなみに、スレッドを上げ直してすみません。
こんにちは。
R-Pi 4にDiscourseとCloudflaredをインストールし、元の投稿の指示に従いましたが、Discourseのホストとして何を入力すればよいかわかりません。Cloudflaredトンネルが転送するので、localhostを入力すればよいのでしょうか?
Falcoさん、お手伝いいただけますか?
ちなみに、スレッドを上げ直してすみません。
このガイドでは、ドメインを所有している必要があります。そのため、ホストの値は、Discourse およびトンネル用に設定したドメインのルートまたはサブドメインのいずれかになります。
ということは、ホストの値はDiscourseにしたいサブドメインになるということですか?
はい、Discourse を配置したい URL になるはずです。
本当ですか?
もしそうした場合、このエラーが発生します。
Discourseのホスト名を、Discourseを配置したい正確なサブドメインに設定しました。
Cloudflare Oneのドキュメント(Set up your first tunnel · Cloudflare One docs
そして、元の投稿で説明されているとおりにDiscourseをインストールしました。私はかなり確信しています。
ドメインを共有していただけますか?
DMでお送りしてもよろしいでしょうか?見ず知らずの人に見られたくありません。
これで正しいドメインを設定したので、動作しますか?
はい!起動しました!ご協力ありがとうございます!SMTPで使用しているメールプロバイダーであるMailJetで、確認メールが事前にブロックされるという問題が発生しています。
投稿が既存のトピックにマージされました: MailJetの代替案はありますか?
こんにちは、インストールがうまくいきました!ちょっとした質問ですが、4GBのRAMを搭載したR-Pi 4 Model Bは、どのくらいの活動/メンバーを処理できると思いますか?
それは良い質問ですね。Discourseのような複雑なシステムでは、ユーザー数とサーバー負荷の直接的な相関関係を把握するのは難しいため、Raspberry Piシステムにおける主なボトルネックはストレージIOPSであると認識するのが妥当です。
したがって、必要なリソースのほとんどがRAM内に収まっている限り、プロセスRSSとLinuxキャッシュの間で、スムーズな体験が得られるはずです。CloudflareがキャッシュCDNのように機能することもかなりの助けとなり、しばらくするとオブジェクトストレージをアップロードに使用する(S3とクローン)を使用することで、Piセットアップの寿命を延ばすことさえできます。
Docker の一部でこのエラーが発生しました。
FAILED
--------------------
Pups::ExecError: /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end' がリターン #<Process::Status: pid 115 exit 1> で失敗しました
失敗場所: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec はパラメータ "/usr/local/bin/ruby -e 'if ENV[\"DISCOURSE_HOSTNAME\"] == \"discourse.example.com\"; puts \"Aborting! Domain is not configured!\"; exit 1; end'" で失敗しました
ブートストラップが終了コード 1 で失敗しました
** ブートストラップに失敗しました ** 上にスクロールして、以前のエラーメッセージを探してください。複数ある場合があります。
./discourse-doctor が問題を診断するのに役立つ場合があります。
9ba0db264ae559f3f748cc1e42a8683ea0b4e355b0d45da0f472afea7ff7c472
ドメインが正しく設定されていないことを意味します。機能させるには有効なドメインが必要です。再度 ./discourse-setup を実行するか、app.yml ファイルを編集して修正してください。
返信ありがとうございます。
RockPi4に正常にデプロイできました ![]()
こんにちは @Falco、
ガイド通りに設定したつもりですが、奇妙なことに気づきました。
コンテナの設定では、SSLテンプレートをロードしておらず、DISCOURSE_FORCE_HTTPS 環境変数を true に設定しています。これが何をするかはわかりませんが、SiteSetting.force_https を true に設定し、管理ダッシュボードで無効化されないように非表示にするのだと思います。
私のCFトンネルの設定は次のとおりです。
ingress:
- hostname: dc.example.com
service: http://dc:80 # dc は私の Discourse スタンドアロンアプリコンテナ名です
問題は、http://dc.example.com にアクセスでき、HTTPS にリダイレクトされないことです。これは期待される動作でしょうか?
再現できますか?バグではないかと思います。
私の関連するCF設定は次のとおりです。
CFにリダイレクトを実行させることはわかっています(HTTPS を常に使用 または一括リダイレクトルールを使用)。しかし、force_https がオンの場合、Discourse がそれを処理し、すべての内部URIをリダイレクトすると想定していました。どう思われますか?
リダイレクトの問題はさておき、https://dc.example.com の閲覧は、DISCOURSE_FORCE_HTTPS または SiteSetting.force_https の値に関係なく正常に機能します。
編集: force_https が実際に何をしているのか理解していませんが(SSLテンプレートが含まれていない場合は何もしていないだけかもしれませんか?)、トンネルの設定は、Discourse が実際にすべてをHTTPSにリダイレクトした場合、そのままでは機能しないだろうことに気づきました。もしそうであれば、argotunnel は HTTP(service: http://dc:80 のような)で Discourse にヒットできないため、おそらく次のいずれかを行うべきです。
service: https://dc:443)で Discourse オリジンにヒットするようにするいずれにしても、この点を考慮して、argotunnel ガイドを更新できるかもしれませんか?
おっしゃる通りです。テストTLDの.devがHTTPSのみであることを知りませんでした。
これを回避するためにページルールを使用するようガイドを更新しました。ご報告ありがとうございます!
しかし、質問があります。
Consolidated Pageviewshowで高い匿名ビューが見られます。CPUサーバーが60%になり、クローラーはわずかですが、DDoSによるものだと思います。しかし、DDoSから保護するにはどうすればよいですか?回答ありがとうございます。
リバースプロキシとしてCloudflare(Cloudflared/Argo Tunnelとは別物)を使用している場合、標準でDDoS保護機能が利用できるはずです。DNSレコードの「オレンジ色の雲」で有効にしてください。