古いアップロードを S3 に移行する方法は?

現在はすべての新しいアップロードが直接 S3 に保存されるようになりましたが、以前のアップロードもすべて S3 に移動させたいと考えています。これに関する手順マニュアルはありますか?

フォーラムを検索しましたが、断片的な情報しか見つけられず、ステップバイステップのガイドは見当たりませんでした。現時点では解決策を見つけることができませんでした。

uploads:migrate_to_s3 の Rake コマンドを使用できるはずです。これにより、ローカルファイルが設定された S3 バケットに移行されます。

みなさん、こんにちは。

私も同じ状況です。ただ、すでに /uploads/ フォルダを新しい S3 に移動しました。uploads:migrate_to_s3 の代替手段で、実際のアップロードをスキップしてリンクの再設定のみを行うものはありますか?

インスタンスをローカルから S3 アップロードに切り替えたのですが、S3 移行ツールがどのように動作するのか、どうしてもわかりませんでした。このトピックを訪れる他の人のために、必要な手順をここにまとめます。

  1. 管理画面で「S3 アップロード」を有効にし、必要な S3 キーと設定をすべて入力して、新しいアップロードが S3 に送信されるようにします。
  2. app.yml の env セクションに、必要な DISCOURSE_S3_ 環境変数を追加します。
    例:
  DISCOURSE_S3_BUCKET: your-bucket-name
  DISCOURSE_S3_REGION: your-s3-bucket-region
  DISCOURSE_S3_ACCESS_KEY_ID: your-s3-access-key-id
  DISCOURSE_S3_SECRET_ACCESS_KEY: your-s3-secret-access-key
  1. ./launcher rebuild app でアプリを再構築します。
  2. ./launcher enter app でアプリにアクセスします。
  3. Docker コンテナ内から rails uploads:migrate_to_s3 を実行します。

当初は ./launcher run app rails uploads:migrate_to_s3 でコマンドを実行しようとしましたが、タスクが見つかりませんでした。