DiscourseのセルフホスティングをDocker composeで

皆さん、こんにちは!:blush:

お元気でお過ごしでしょうか?Discourseについて質問があります。Discourseはセルフホストできますか?このプラットフォームに非常に興味があり、経験のある方がいらっしゃればぜひ知りたいです。何か特別な要件や注意すべき点はありますか?

事前にご協力いただきありがとうございます!:folded_hands:

「いいね!」 6

はい、それ専用のサブカテゴリ全体があります!:

Documentation > Self-Hosting
標準インストールを特に読む必要があります。

「いいね!」 14

お返事ありがとうございます!

当協会で使用するために、起動して利用できるスタンドアロンの「docker-compose」ファイルが欲しいのですが。

可能でしょうか?

バックグラウンドで実行されている、よくわからないたくさんのスクリプトを実行するのは好きではありません。

はい、可能ですが、ご自身で作成およびサポートする必要があります。

以下は、開発用に最近投稿された Dockerfile で、開始点として役立つかもしれません。

Discourse はオープンソースです。ランチャースクリプトとテンプレートを読んでみてはいかがでしょうか?(それらは Compose についても情報を提供します)

「いいね!」 3

これはサポートされていませんが、メインライン Discourse に追従しようとする取り組みがあります。ここで docker compose を検索 するか、次の 2 つのバリアントをご覧ください。

ただし、注意してください。バージョン間で Discourse を維持することは困難になる可能性があります。しかし、IndieHosters は数年前からそれを実行しています。

どちらのプロジェクトも元の Discourse/base docker image を使用していますが、@sampupsdiscourse-docker 用に行っているように、インストールを調整しているかどうかはわかりません。

「いいね!」 6

返信ありがとうございます!

discourse/base イメージのみをインストールしましたが、コンテナはログなしで終了しました。
The image shows a command-line interface displaying a container named "discourse-container" in a Docker environment, which was recently exited with no processes running.

理由をご存知ですか?

なぜなら、ベースイメージはそれ自体では何も行わないからです。その中にDiscourseをコンパイルしてから実行する必要があります。そしてそれは、まずイメージの外で./launcherスクリプトを実行することによって行われます。したがって、まず公式の方法でインストールを試してから、オプションについて考えるべきです。

Discourseのインストール手順はあまり一般的ではありませんが、長年にわたり、ある理由からこのアプローチを本当に気に入っています。それは、ソースコードへの各コミットの後にアップグレードできる可能性です。信じられないほどです。あなたはバグを報告し、1時間後にはチームまたはコミュニティによって対処され、自動テストが実行され、コミットがマージされて利用可能になる可能性があります。そして、すぐにアップグレードできます。最新のソースコードでDiscourseを再コンパイルするためです。

したがって、特定のバージョンがコンパイルされたイメージはありません。あなたは「空の」イメージを取得し、必要なプラグインの組み合わせで、必要な時点からバージョンをコンパイルします。そして、それはまだ動作します!

このような柔軟性は他では得られません。

したがって、確信はありませんが、docker composeファイルを作成したい場合は、コンパイルを別のイメージに行い、それを接続するだけのように、コンパイルファイル内に./launcherスクリプトの手順を複製する必要があります。しかし、アップグレードが必要な場合に組み込み手順を使用することはできません。自分で新しいバージョンをコンパイルする必要があります。

「いいね!」 4

皆さん、ご協力ありがとうございます。Discourseを私のような初心者でも簡単に使えるようにしてくれてます!

はい、ですが、クラブでDiscourseを利用できるようにする前に、ローカルホストでDiscourseを実行していくつかのテストを行い、Discourseの管理インターフェースとコマンドラインに慣れておきたいのです。エラーが発生した場合に、自分で修正できるようにしたいのです。 「サポートされている」バージョンでは、DNSエントリ、ポート443および80が必要ですが、私の場合は不要です。少なくとも私はそう思います。

ローカルホストでこれを実行するためのハックを知っている人はいますか?

「いいね!」 1

Dockerをインストールして、これを実行してください。

「いいね!」 1

はい:

https://meta.discourse.org/tags/c/documentation/developer-guides/56/dev-install

:slight_smile:

「いいね!」 2

あるいはそれも。ただし、Maxは本番環境での動作を知りたいと考えているが、ホスティング環境を購入する前にローカルでテストしたいと考えていると理解しています。そのためには、Dockerの設定がより適切でしょう。実際にバグを修正するためには、開発環境が正しい選択です。

「いいね!」 4

皆さん、サポートありがとうございました!

Docker を使用した「通常の」インストールで動作させることができました。

「いいね!」 2

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