minio

MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.

ファイルストレージAmazon S3の代替AGPL-3.0
GitHub
60,581 スター7,331 フォーク
AIによる要約
ひとことで言うと

Amazon S3と互換性のある、自社サーバーで運用できる高性能なオブジェクトストレージ(大容量データ保存システム)です。

こんな方におすすめ

・企業:AI・機械学習やデータ分析の大量データを自社環境で管理でき、S3対応の既存ツールやアプリケーションをそのまま使い続けられます。 ・スタートアップ:クラウドのストレージ費用を抑えつつ、S3互換のAPIでアプリケーション開発を進められるため、将来のクラウド移行もスムーズです。 ・個人事業主・フリーランス:自宅サーバーに写真やバックアップデータを大量に保管でき、S3対応のバックアップツールと組み合わせて自動化できます。

有料サービスとの違い

Amazon S3やGoogle Cloud Storageは従量課金でデータ量が増えるほど費用がかさみますが、MinIOは自社のサーバーで無料運用でき、S3と同じ操作方法でデータを外部に預けずに管理できます。

[!注意] このリポジトリはメンテナンスされていません。

代替案:


MinIO クイックスタートガイド

Slack Docker Pulls license

MinIO](https://min.io)

MinIOは、GNU AGPL v3.0ライセンスの下でリリースされた、高性能なS3互換オブジェクトストレージソリューションである。 スピードとスケーラビリティのために設計され、業界をリードするパフォーマンスでAI/ML、アナリティクス、データ集約型ワークロードを強化します。

  • S3 API互換 - 既存のS3ツールとのシームレスな統合。
  • AIとアナリティクス向けに構築 - 大規模なデータパイプライン向けに最適化されています。
  • ハイパフォーマンス - 要求の厳しいストレージワークロードに最適です。

このREADMEでは、MinIOをソースからビルドし、ベアメタルハードウェアにデプロイする手順を説明します。 ドキュメントのローカルコピーをビルドしてホストするには、MinIO Documentation プロジェクトを使用してください。

MinIOはオープンソースソフトウェアです。

MinIOは、オープンソースソフトウェアコミュニティのためのオープンソースソフトウェアとして設計されました。AGPLv3ライセンスのもと、MinIOをリミックス、再設計、再共有することをコミュニティに推奨しています。

あなたのアプリケーションスタックでMinIOを使用するには、AGPLv3の義務に対する検証が必要であり、これには、あなたが恩恵を受けたコミュニティへの修正コードのリリースが含まれますが、これに限定されません。リパッケージやサービス/機能の再販を含む、AGPLv3ソフトウェアの商用/プロプライエタリな使用は、すべて自己責任で行ってください。

AGPLv3は、オリジナルあるいは改変された作品をサポート、保守、保証する義務をいかなる当事者にも負いません。 すべてのサポートは、GithubとわたしたちのSlackチャンネルを通じて、ベストエフォートで提供されます。コミュニティのメンバーであれば誰でも、このソフトウェアの使い方について貢献し、他の人を支援することを歓迎します。

MinIO AIStor には、商用またはプロプライエタリな使用を必要とするワークロードのためのエンタープライズグレードのサポートとライセンス、およびプロダクションレベルのSLA/SLOに裏打ちされたサポートが含まれています。詳細については、お見積もりはこちら.

ソース・オンリー・ディストリビューション

重要: MinIOコミュニティ・エディションはソースコードのみの配布となります。コミュニティ版ではコンパイル済みのバイナリ・リリースは提供されません。

最新のMinIOコミュニティ版のインストール

MinIOコミュニティエディションを使用するには、2つのオプションがあります:

1.**go install github.com/minio/minio@latest` (推奨) を使用してソースからインストールする。 2.**提供されたDockerfileからDockerイメージをビルドする。

それぞれの方法の詳細については、以下のセクションを参照してください。

レガシー・バイナリーリリース

歴史的なコンパイル済みバイナリ・リリースは、参照用として利用可能ですが、現在は保守されていません:

これらのレガシー・バイナリはアップデートを受けません。 最新の機能、バグ修正、セキュリティ・アップデートにアクセスするためには、ソース・ビルドを使用することを強くお勧めします。

ソースからのインストール

以下のコマンドを使用して、ソースからスタンドアロンのMinIOサーバーをコンパイルして実行します。 Golang環境がない場合は、Golangのインストール方法 に従ってください。最低限必要なバージョンは、go1.24 です。

go install github.com/minio/minio@latest

別の方法として、go build を実行し、環境変数 GOOSGOARCH を使ってOSとアーキテクチャのターゲットを制御することもできる。 例えば

env GOOS=linux GOARCH=arm64 go build

minio server PATH を実行して MinIO を起動する。PATH` はローカルファイルシステム上の任意の空のフォルダである。

MinIO のデプロイは、デフォルトの root 認証情報 minioadmin:minioadmin を使用して開始する。 MinIO Console(MinIOサーバーに組み込まれたWebベースのオブジェクトブラウザー)を使用して、デプロイメントをテストできます。 ホストマシン上で実行されているWebブラウザをhttp://127.0.0.1:9000に向け、ルート認証情報でログインする。 ブラウザを使用して、バケットを作成したり、オブジェクトをアップロードしたり、MinIOサーバーのコンテンツを参照したりできます。

MinIO Client mcコマンドラインツールなどのS3互換ツールを使用して接続することもできる:

以下のようにする。 mc alias set local http://localhost:9000 minioadmin minioadmin mc admin info local


mc`コマンドラインツールの詳細については、[Test using MinIO Client `mc`](#test-using-minio-client-mc) を参照してください。
アプリケーション開発者の方は、<https://docs.min.io/enterprise/aistor-object-store/developers/sdk/> を参照して、サポートされている言語のMinIO SDKをご覧ください。

> 注意]。
> ソースからコンパイルしたMinIOバイナリを使用する本番環境は、自己責任で行ってください。
> AGPLv3ライセンスは、そのような使用に対していかなる保証も責任も負いません。

## Dockerイメージのビルド

ローカルホストマシンでDockerイメージをビルドするには、`docker build .` コマンドを使用します。
最初に[MinIOをビルド](#install-from-source)し、`minio`のバイナリがプロジェクトルートに存在することを確認する必要があります。

次のコマンドは、プロジェクトのルートディレクトリにあるデフォルトの `Dockerfile` を使って、リポジトリとイメージタグ `myminio:minio` でDockerイメージをビルドします。

sh
docker build -t myminio:minio .

docker image ls` を使って、ローカルリポジトリにイメージが存在することを確認する。 標準的なDocker呼び出しを使ってサーバーを実行できる:

sh docker run -p 9000:9000 -p 9001:9001 myminio:minio server /tmp/minio --console-address :9001


Dockerコンテナの構築、カスタムイメージの管理、オーケストレーションプラットフォームへのイメージのロードに関する完全なドキュメントは、このドキュメントの範囲外です。
Dockerfile`と`dockerscripts/docker-entrypoint.sh`は必要に応じて変更してください。

コンテナイメージ内でMinIOを実行するための詳細なガイダンスについては、[MinIO Container](https://docs.min.io/community/minio-object-store/operations/deployments/baremetal-deploy-minio-as-a-container.html#deploy-minio-container) ドキュメントを参照してください。

## Helm Chartsを使用してインストールする

KubernetesインフラストラクチャにMinIOをインストールするには、2つのパスがあります:

- MinIO Operator](https://github.com/minio/operator)を使用する。
- コミュニティがメンテナンスする[Helm charts](https://github.com/minio/minio/tree/master/helm/minio)を使用する。

Operatorを使用したデプロイのガイダンスについては、[MinIOドキュメント](https://docs.min.io/community/minio-object-store/operations/deployments/kubernetes.html)を参照してください。
コミュニティHelmチャートには、フォルダレベルのREADMEに説明があります。

## MinIOの接続性をテストする

### MinIO コンソールを使用したテスト

MinIO Serverには、Webベースのオブジェクトブラウザが組み込まれています。
ウェブブラウザで<http://127.0.0.1:9000>にアクセスし、サーバーが正常に起動したことを確認します。

> 注意]。
> 特定のポートを選択したい場合は、--console-address`を使用して、特定のインターフェースとポートを選択してください。

### MinIO クライアント `mc` を使用してテストする。

mc` は ls, cat, cp, mirror, diff などの UNIX コマンドに代わるモダンなコマンドを提供する。ファイルシステムやAmazon S3互換のクラウドストレージサービスをサポートしている。

以下のコマンドは、ローカルエイリアスを設定し、サーバー情報を検証し、バケットを作成し、そのバケットにデータをコピーし、バケットの内容を一覧表示する。

```sh
mc alias set local http://localhost:9000 minioadmin minioadmin
mc 管理者情報
mc mb データ
mc cp ~/Downloads/mydata data/
mc ls data/

詳細については、MinIO Client Quickstart Guideに従ってください。

さらに調べる

MinIO プロジェクトへの貢献

MinIO コントリビューターガイド に従って、リポジトリに新しいコントリビューターを作成してください。

ライセンス