DOストレージとアップロードされたバックアップが表示されない

SSH経由で新しいストレージドライブにバックアップをアップロードしましたが、管理セクションに表示されません。

私のapp.ymlは、こちらの指示に従って以下のようになっています - Move Uploads and Backups to DigitalOcean Block Storage

## Dockerコンテナはステートレスであり、すべてのデータは/sharedに保存されます
volumes:
   - volume:
      host: /mnt/volume_lon1_01/shared/standalone
      guest: /shared
   - volume:
      host: /mnt/volume_lon1_01/shared/standalone/log/var-log
      guest: /var/log
    - volume:
      host: /var/postgres_data_discourse
      guest: /shared/postgres_data

これは私の頭を混乱させています…

これらの値を変更/追加した後、アプリケーションを再構築しましたか?

「いいね!」 1

はい、変更後にアプリケーションを再構築しました

ディレクトリは何であるべきですか?

バックアップ、それともバックアップ/デフォルト?

現在、バックアップは /backups にあります。

UIで表示されない場合は、本日コマンドラインから復元を試みます。

そこです。どこに保存されているかを確認するためにバックアップを作成できます。

同じコードなので何も変わりません

「いいね!」 1

バックアップを作成しましたが、どこにも見つかりません。ログには次のように表示されています。

[2022-03-01 10:05:53] '/var/www/discourse/public/backups/default' が存在することを確認中...

しかし、存在しません!バックアップはどこにあるのでしょうか?

バックアップは新しいストレージドライブにあると思っていましたが、何が足りないのでしょうか?

./launcher rebuild app は毎回フォーラムをリセットしますか?

画像などもアップロードできません。まともなガイドに従って作業しているつもりなのに、毎回ビルドが壊れてしまうのは嫌です。既存のホスティングにストレージを追加したかっただけなのに、ウェブサイトがなくなり、とてもイライラしています :face_with_spiral_eyes:

「いいね!」 1

「公式ガイド」を使って再度開始します。必要に応じて元に戻せるように、インストール時にスナップショットを作成します。

それはコンテナ内のパスです。

バックアップはコンテナの外にある
/mnt/volume_lon1_01/shared/standalone/backups/default
にあるはずだと思います。

「いいね!」 1

そう思っていましたが、そこにもありませんでした。投稿や画像などに何もアップロードできませんでした。エラーが発生しただけです。ストレージに関するガイドは機能しないと思います。

そのすべてのものを新しい場所に移動しましたか?

  /mnt/volume_lon1_01/shared/standalone


/mnt/volume_lon1_01/shared/
で何が見えますか?

「いいね!」 1

チュートリアルに従って正確に実施しましたが、すべてがその場所にありました。再度やり直しました。

実施したことは以下の通りです。

こちらのガイドに従いました: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

SSH経由でバックアップを backups/default にアップロードしました。

万が一問題が発生した場合に元に戻せるように、この時点のスナップショットを作成しました。

/mnt/ にボリュームをマウントし、移動の準備ができています。前回ディレクトリを移動した際に、以下の問題が発生しました。

  • バックアップが新しいボリュームのバックアップフォルダに保存されませんでした(実際、見つけることすらできませんでした)。
  • 画像のアップロードはすべてエラーになりました。新しいボリュームへのアップロードが何らかの理由でできなかったためだと推測します。

こちらのチュートリアルでアップロードとバックアップはテストされましたか? @techAPJ Move Uploads and Backups to DigitalOcean Block Storage

さらに、letsencrypt を待たなければなりません。再構築のたびに新しい証明書を取得しようとすると、1週間かかると思われます。試行回数を使い果たしてしまいました。SSL証明書がないとサイトにまったくアクセスできません。HTTPは1分間は機能しますが、その後HTTPSに強制されるため、登録できません。

チュートリアルに記載されていた以下のコマンドを使用しました。

mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_lon1_01

それはイライラしますね。すみません。指示は正しく見えますが、ほんの少しのミスでうまくいかなくなるような類のことです。

コンテナに入って /shared/ を見ると、ファイルが見えますか?

Let’s Encrypt を複数のドメインで設定する を行うと、Let’s Encrypt の制限を回避できます。

「いいね!」 1

まだ新しいボリュームに何も移動していませんが、手順を正確に実行したのに機能しなかったため、明確にしたいです。

その投稿は全く理解できませんし、今はもういじりたくありません。あなたの言う通り、イライラするので、何もする前にサイトを復旧させてスナップショットを作成するのを待ちます。

ところで、@pfaffman、これまでのご協力に感謝いたします。

それなら機能するはずがありませんし、指示に従っていません。新しいボリュームにコピーする方が安全な方法でしょう。そうすれば、より簡単に切り替えられます。ファイルをコピーしてから削除する(mvがパーティションをまたいで移動するため、まさにそれを行う)と、指示がより安全に感じられるかもしれません。

私の投稿のこの部分を見なかったのかもしれませんね?

「いいね!」 1

これで全てがより分かりやすくなりました!

何か問題が発生した場合に元の設定に戻しやすくするために、ファイルを移動するのではなく、新しいパーティションに rsync または cp することをお勧めします。その後、以下を実行して新しいセットアップが機能するかどうかを確認できます。

./launcher destroy app
./launcher start app

機能しない場合は、app.yml のバックアップバージョンに戻してください。

「いいね!」 1

それは素晴らしいアイデアですね。できるだけ早く試してみます。

「いいね!」 1