コンテンツにスキップ

オブジェクトストレージ (MinIO)

MyPanel は、MinIO を標準的なコンテナでラップすることで、S3 互換のオブジェクトストアをサーバー上で動かします。これは メールサーバー が docker-mailserver をラップしているのと同じ仕組みです。画像・アップロード・メディアを保存し、それらを URL 経由で配信するために利用できます。

  • Docker が動作する Linux VPS(インストールをクリックすると、パネルが MinIO と mc のイメージを取得します)。

ストレージメニューを開きます。ステータスカードにエンジンの状態が表示されます。

  1. 未インストールMinIO をインストールをクリックします(パネルがイメージを取得してコンテナを起動します。数分かかる場合があります)。
  2. 停止中起動をクリックします。
  3. 稼働中 — すぐ下にバケット管理セクションが表示されます。

アンインストールはコンテナを削除します。データも消去したい場合は、再度確認します。

エンジンが稼働している間:

  • バケットの作成 — 名前を付け(小文字、数字、-.)、必要に応じてウェブサイトを紐付けパブリック読み取りを有効にします(画像を URL 経由で読み込めるようになります)。
  • 各バケットには、**そのバケットのみに限定されたアクセスキー(アクセスキー + シークレット)**が発行されます。あるバケットのキーが別のバケットに触れることはできません。
  • シークレットは作成時に一度だけ表示されます。すぐに保存してください。その後の唯一の手段は、新しいキーを発行するキーのローテーションです。
  • パブリック / プライベート — 匿名読み取りをいつでも切り替えられます。
  • バケットの削除 — オブジェクトがまだ含まれている場合、パネルは空にしてから削除するか(または空の場合のみ削除)を選択できます。

外部アクセス(ワンクリック + SSL)

Section titled “外部アクセス(ワンクリック + SSL)”

安全のため、MinIO はローカル127.0.0.1)でのみ待ち受けます。API/画像はポート 9000、コンソール(管理 UI)はポート 9001 です。ストレージページ上で 「ドメインで公開」 ボタンを使うと、パネルが MinIO へのリバースプロキシのウェブサイトを作成し、DNS が解決され次第自動で Let’s Encrypt を発行します。エントリは 2 つに分かれています。

目的パネルのボタン接続先
画像配信 / S3 API の利用ドメインで公開127.0.0.1:9000
管理コンソールを開くコンソールをドメインで公開127.0.0.1:9001

公開後、ドメインの A レコードをサーバー IP に向けてください(SSL は自動で発行されます)。各ドメインはプラン上限に対してウェブサイト 1 つとしてカウントされます。MyPanel のリバースプロキシは WebSocket をサポートしているため、コンソールも完全に動作します。

バケットは標準的な S3 なので、S3 対応のプラグインや SDK はすべて動作します。

  • エンドポイント — 上記で公開した https://<domain>(同一マシン上で動かしている場合は http://127.0.0.1:9000)。
  • アクセスキー / シークレットキー — バケットのキー(アップロードに必要)。
  • バケット — バケット名。SDK の設定で必ずパススタイルを有効にしてください。

WordPress の場合: オフロードメディア系プラグイン(WP Offload Media など)がこれらの値を使って、メディアライブラリを MinIO にプッシュします。

パブリック画像リンク(パブリック読み取りを有効にしたバケット): https://<domain>/<bucket>/<file><img src> として直接使用できます。

FreePro
エンジンのインストールと起動
バケット数1無制限
バケット単位のキー
パブリック読み取り / キーのローテーション

MinIO の実データは、サーバーの /var/lib/mypanel/minio/data に存在します。

  • 別のストアへのミラーmc mirror(または MinIO のレプリケーション)で、バケットを別の S3/MinIO にスケジュールに沿ってプッシュします。
  • rsync / スナップショット/var/lib/mypanel/minio/data フォルダーをシステムレベルでスケジュールに沿ってバックアップします。