ノート: GitHub Packagesは現在GitHub Enterprise Server 2.22でベータです。 GitHub Enterprise Serverのインスタンスのベータに参加するには、サインアップフォームを使ってください。
GitHub Enterprise Server インスタンス で GitHub Packages を有効にして設定する前に、サードパーティのストレージソリューションを準備する必要があります。
MinIO は、Enterprise で S3 API と GitHub Packages をサポートするオブジェクトストレージを提供します。
このクイックスタートでは、Docker を使用して GitHub Packages で使用するように MinIO をセットアップする方法を説明していますが、Docker 以外に MinIO を管理するオプションがあります。 MinIO の詳細については、公式の MinIO ドキュメントを参照してください。
1. ニーズに合わせて MinIO モードを選択する
| MinIO モード | 最適化対象 | 必要なストレージインフラストラクチャ | 
|---|---|---|
| スタンドアロン MinIO (シングルホスト) | 高速セットアップ | なし | 
| NAS ゲートウェイとしての MinIO | NAS (ネットワーク接続ストレージ) | NAS デバイス | 
| クラスタ型 MinIO (分散型 MinIO) | データセキュリティ | クラスタ内で実行中のストレージサーバー | 
オプションの詳細については、公式の MinIO ドキュメントを参照してください。
2. MinIO をインストール、実行、サインインする
- 
MinIO のお好みの環境変数を設定します。 これらの例では、 MINIO_DIRを使用しています。$ export MINIO_DIR=$(pwd)/minio $ mkdir -p $MINIO_DIR
- 
MinIO をインストールします。 $ docker pull minio/minio詳しい情報については、公式の MinIO クイックスタートガイドを参照してください。 
- 
MinIO アクセスキーとシークレットを使用して MinIO にサインインします。 $ export MINIO_ACCESS_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) # これは実際にはシークレットのため注意してください $ export MINIO_SECRET_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)$ export MINIO_ACCESS_KEY=$(cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) # これは実際にはシークレットのため注意してください $ export MINIO_SECRET_KEY=$(cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)環境変数を使用して MinIO キーにアクセスできます。 $ echo $MINIO_ACCESS_KEY $ echo $MINIO_SECRET_KEY
- 
選択したモードで MinIO を実行します。 - 
単一のホストで Docker を使用して MinIO を実行します。 $ docker run -p 9000:9000 \ -v $MINIO_DIR:/data \ -e "MINIO_ACCESS_KEY=$MINIO_ACCESS_KEY" \ -e "MINIO_SECRET_KEY=$MINIO_SECRET_KEY" \ minio/minio server /data詳しい情報については、MinIO Docker クイックスタートガイドを参照してください。 
- 
Docker を NAS ゲートウェイとして使用して MinIO を実行します。 この設定は、GitHub Packages のバックアップストレージとして使用する NAS がすでに存在するデプロイメントに役立ちます。 $ docker run -p 9000:9000 \ -v $MINIO_DIR:/data \ -e "MINIO_ACCESS_KEY=$MINIO_ACCESS_KEY" \ -e "MINIO_SECRET_KEY=$MINIO_SECRET_KEY" \ minio/minio gateway nas /data詳しい情報については、NAS 用の MinIO ゲートウェイを参照してください。 
- 
Docker をクラスタとして使用して MinIO を実行します。 この MinIO デプロイメントでは、複数のホストと MinIO のイレイジャーコーディングを使用して、最強のデータ保護を実現します。 MinIO をクラスタモードで実行するには、「分散型 MinIO クイックスタートガイド」を参照してください。 
 
- 
3. GitHub Packages の MinIO バケットを作成する
- 
MinIO クライアントをインストールします。 $ docker pull minio/mc
- 
GitHub Enterprise Server がアクセスできるホスト URL を使用してバケットを作成します。 - 
ローカルデプロイメントの例: $ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @localhost:9000" $ docker run minio/mc BUCKET-NAMEこの例は、MinIO スタンドアロンまたは NAS ゲートウェイとしての MinIO に使用できます。 
- 
クラスタ型デプロイメントの例: $ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @minioclustername.example.com:9000" $ docker run minio/mc mb packages
 
- 
次のステップ
GitHub Packages のストレージの設定を完了するには、MinIO ストレージ URL をコピーする必要があります。
echo "http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY}@minioclustername.example.com:9000"
次のステップについては、「MinIO でGitHub Packages を有効にする」を参照してください。