ストレージ設定
設定 → 詳細設定 → ストレージでは、LeadHubがアップロードされたファイル(リードの添付ファイル、アバター画像、エクスポートアーカイブ、フォームアップロード)を保存する場所を制御します。
ストレージドライバー
| ドライバー | 使用するタイミング |
|---|---|
| ローカル(サーバーファイルシステム) | デフォルト。ファイルはstorage/app/のサーバーディスクに保存されます。単一サーバーインストールに適しています。 |
| S3互換 | クラウドデプロイメント、CDN配信、またはサーバーディスクが制限されている場合。AWS S3、DigitalOcean Spaces、MinIO、Backblaze B2、Cloudflare R2、および任意のS3互換プロバイダーをサポート。 |
ローカルストレージ
これがデフォルトです。設定は不要です。ファイルは以下に保存されます:
/path/to/leadhub/storage/app/public/
インストール時に設定されたストレージシムリンクを介してhttps://yourdomain.com/storage/...でアクセスできます。
S3互換ストレージ
ステップ1 — プロバイダーの選択
| プロバイダー | 備考 |
|---|---|
| AWS S3 | 最も一般的。エンドポイントURLは空白のまま。 |
| DigitalOcean Spaces | エンドポイント:https://nyc3.digitaloceanspaces.com(リージョンを置き換え) |
| MinIO(セルフホスト) | エンドポイント:MinIOサーバーのURL |
| Backblaze B2 | エンドポイント:https://s3.us-west-004.backblazeb2.com(リージョンによって異なる) |
| Cloudflare R2 | エンドポイント:https://ACCOUNT_ID.r2.cloudflarestorage.com |
ステップ2 — バケットの作成
- プロバイダーのコントロールパネルで新しいバケットを作成します。
- アップロードされたファイルへの直接パブリックアクセスが必要な場合は、バケットをパブリックに設定します(アバターとフォームの添付ファイルに推奨)。
- バケット名とリージョンをメモします。
ステップ3 — アクセスキーの作成
バケットへの読み取り/書き込み権限を持つアクセスキーIDとシークレットアクセスキーを生成します。
ステップ4 — LeadHubで設定
-
設定 → 詳細設定 → ストレージに移動します。
-
ストレージディスクをS3互換に設定します。
-
以 下を入力します:
フィールド 値 エンドポイントURL AWS S3の場合は空白。他のプロバイダーの場合は設定(上記の表参照)。 バケット名 バケット名 リージョン AWSリージョンコードまたはプロバイダーリージョン(例: us-east-1、nyc3)アクセスキーID ステップ3から シークレットアクセスキー ステップ3から(保存済みのシークレットを維持するには空白のまま) -
接続テストをクリックして保存前に設定を確認します。
-
設定を保存をクリックします。
接続のテスト
接続テストをクリック — LeadHubがストレージディスクに小さなテストファイルを書き込んですぐに削除します。✅通知は接続が機能していることを意味します。❌通知はエラーを表示します。
保存前に必ずテストしてください — 設定が間違っているとワークスペース全体でファイルアップロードが壊れる可能性があります。
ローカルからS3への移行
- S3設 定を行い接続をテストします。
- 設定を保存 — 新しいアップロードはS3に保存されます。
- ローカルディスクの既存ファイルは自動的に移行されません。プロバイダーのCLIまたは同期ツールを使用して手動でコピーしてください(例:
aws s3 sync storage/app/public s3://your-bucket)。
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| 「接続テスト失敗:アクセス拒否」 | アクセスキーがバケットへの書き込み権限を持っているか確認する |
| ファイルがパブリックにアクセスできない | バケットにパブリック読み取りACLがあるか、またはCDNを設定する |
| 「NoSuchBucket」エラー | バケット名とリージョンが正しいか確認する |
| エンドポイントURLエラー | AWS以外のプロバイダーの場合、エンドポイントURLが正しくhttps://を含んでいるか確認する |
| シークレットが保存されない | 既存の保存済みシークレットを維持するためにシークレットアクセスキーを空白のままにする |