Discourseのアップデートを無効にすることは可能ですか?

プラグインが正常に動作するセルフホスト環境を構築していますが、Discourse が許可なく自動更新され、ついにはプラグインの互換性切れによりフォーラムが壊れてしまいました。

私のユースケースはすでに決まっており、新しい Discourse の機能は必要ありません。プラグインが壊れないように更新を無効にするにはどうすればよいでしょうか?

Discourseは自動的に更新されません。自動更新機能さえ持っていません。

誰かがあなたのフォーラムを更新しているのでしょうか?それとも、ホストサーバーでそれを行うための手動のバックグラウンドジョブを追加しましたか?

それは驚きです。自動更新を実行するプラグインは持っていませんし、app.yml ファイルにもそのような記述は見当たりません。しかし、Discourse にはその機能がないことはすでに仰っていただきました。

Discourse が最後に更新された正確な時刻(日付と時間)を取得する方法はありますか?

日付は /admin の最下部(旧ページの場合)にあります。

以下のように表示されます:

もしかしたら、より詳細な情報が別の場所にあるかもしれませんね… :thinking:

なるほど、わかりました。最終更新が3時間前と表示されていますが、その3時間前に私は以下のコマンドを実行しました:

./launcher rebuild app

このコマンドはDiscourseを更新するものなのでしょうか?それとも、Discourseを更新せずにプラグインをインストールするにはどうすればよいのでしょうか?

はい、それが Discourse を更新する主な方法です。

プラグインをインストールしている場合、またはあなたが

技術的には、プラグインをインストールしながら Discourse を特定のバージョンに固定することも可能ですが、これはバージョンの互換性を非常に慎重に分析する必要があり、多くのプラグインが最新の Discourse バージョンを前提としているためです。

Discourseを特定のバージョンに固定してプラグインをインストールすることは技術的に可能です

どうすればよいですか?

これにはバージョンの互換性を非常に慎重に分析する必要があり、多くのプラグインがDiscourseの最新バージョンを前提としています

これらのプラグインは私が開発したもので、壊れたくありません。Discourseのアーキテクチャが変更された際などにすでに不愉快な経験をしています。フォーラムはGo言語の哲学に従ってほしいものです。

特定のバージョンを固定する代わりに、ESR リリースに切り替えることは検討しましたか? そうすれば、セキュリティ修正は引き続き受け取れますが、他の変更に対応するのは半年に一度だけで済みます。

それは一つのステップですが、特定のバージョンに固定する方法を説明してくれる人が現れるまで待ってみます。

具体的に何を待っているのかがよくわかりません。私がリンクしたトピックには、インストールしたいバージョンを設定する方法がすでに説明されています。

ESRバージョンではなく、特定のバージョンが欲しいとおっしゃっていましたが、ブランチ、タグ、または特定のコミットハッシュを使用する場合でも、同じプロセスが適用されます。version の値を適宜置き換えるだけです。この方法の例は、フォーラムでもいくつか見つけることができます [1] [2]

:warning: 本番環境では固定コミットの使用は避けることをお勧めします。手動で追跡しない限り、セキュリティアップデートや修正を受け取ることができないためです。

でも、それは結局のところ、どのブランチを使うかという変更点の話です。私は、2026.6.0のような特定のバージョンで修正を行い、そのバージョン以降は更新を行わないようにするべきだと主張しています。あなたが提案しているのは、異なるブランチ間で行き来しながらバージョンが頻繁に変わる状態を維持することですね。

参照先を動かさないものにしても変わりません:

ただし、上記の注意点すべてが適用されます。これは一般的に推奨されません。

このアプローチ(または特定のリリースブランチの追跡)を採用することは、サポート終了時の状況を追跡する責任をより多く負い、それに応じたリスク管理を行うことを意味します。

そこには任意のバージョンを指定できると言いました。私がリンクした例を確認しましたか?

そのような固定されたコミットハッシュがいつ変わると思いますか?

ごめんなさい、私の不注意でした。その部分を読み逃していました。現在のインストールで長いコミットIDをどうやって見つけたらよいですか?