/var/discourse が shared のみで git リポジトリではない場合のアップグレード方法

皆様へ、

当部署の Web サーバーには、前任の管理者によって Discourse インスタンスがセットアップされています。Discourse については詳しくありませんが、更新が必要とのことで、以下の手順が提案されています。

        cd /var/discourse
        git pull
        ./launcher rebuild app

しかし、/var/discoursecd すると shared ディレクトリしか表示されず、git pull も失敗します(Git リポジトリではないため)。どうすればよいでしょうか?

新しい VM でクリーンインストールを行い、バックアップを作成して、新しいインストールに復元してください。

その回答が気に入らない場合は、その設定を行った担当者に連絡して修正させてください。

@pfaffman 新しい VM とは何を意味していますか?Discourse 用の Docker イメージのことでしょうか?問題は、Docker を通じて Discourse を管理する方法を記したマニュアルが見つからないことです。

新しい VM は、インスタンスが専用ハードウェア上にない場合、新しい仮想サーバーを意味します。

Discourse が実行されていても /var/discourse が空の場合、それは非常に古いインストールか、サポートされていないパッケージのいずれかです。

いずれにせよ、バックアップを作成し、新しい仮想サーバーを起動し、標準的なインストールガイドラインに従ってから、バックアップから復元する必要があります。

以下の手順で行います:https://meta.discourse.org/t/discourse-official-standard-installation/142537

おっしゃる通り、それが最も可能性が高い状況です。Discourse 2.1.0 が稼働しています(状況が明確になるよう記載します)。

次に、別のマシンにインストールします。リソースのスケーリングが容易なため、VM(仮想マシン)が推奨されます。システム要件はインストールドキュメントに記載されています。

新しいインストールが稼働したら、バックアップを復元してください。

このインスタンスはどのような種類ですか?どれくらい利用されていますか?常に使用されていますか?

あらま…それは2018年後半のバージョンですね。更新されることを強くお勧めします。多くの素晴らしい機能がないだけでなく、いくつかの重要なセキュリティ修正が含まれていますが、それらはまだ適用されていません。

残念ながら、別のマシンを持っていません。

ご指摘ありがとうございます。ただ、更新の必要性については疑問はありません。私は更新を試みています。昨日までこのインスタンスの管理者ではなかったのですが、更新の重要性は理解しています。

みなさん、回答ありがとうございます!前任者に相談して、彼が助けてくれました。どうやらGitリポジトリが理由不明で /var/discourse ではなく /var/docker 内にあったようです。そこから標準的な手順を適用することができました。現在、最新リリース(2.6)に更新できました!やったね!:tada:

ああ!それははるか昔(私が4年前に Discourse を使い始める前)に推奨されていた場所でした。

「年配の人に聞く」という私の解決策が本当に機能したようですね!

念のため、いくつかのドキュメントを残しておくことをお勧めします:

echo "it's in /var/docker" > where-is-launcher

いい考えですね。あるいは

 cd /var/
 ln -s /var/docker discourse

ただし、これだと launcher が混乱するかもしれません。

あまり良い案ではありません。/var/discourse は既に存在し、shared を含んでいるためです。