正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

アップロード管理

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

アップロードは、単一のファイルとしてGitLabに送信される可能性のあるすべてのユーザーデータを表します。たとえば、アバターやノートの添付ファイルはアップロードです。アップロードはGitLabの機能に不可欠であるため、無効にすることはできません。

コメントまたは説明に追加された添付ファイルは、親プロジェクトまたはグループが削除された場合のみ削除されます。添付ファイルは、イシュー、マージリクエスト、エピックなど、アップロードされたコメントまたはリソースが削除されても、ファイルストレージに残ります。

ローカルストレージを使用する

これはデフォルト設定です。アップロードがローカルに保存されている場所を変更するには、インストール方法に基づいて、このセクションの手順に従ってください:

歴史的な理由により、インスタンス全体のアップロード(たとえば、favicon)は、デフォルトではuploads/-/systemであるベースディレクトリに保存されます。既存のGitLabインスタンスへのベースディレクトリの変更は、強く推奨されません。

Linuxパッケージインストールの場合:

デフォルトでは、アップロードは/var/opt/gitlab/gitlab-rails/uploadsに保存されます。

  1. ストレージパスを/mnt/storage/uploadsに変更するには、/etc/gitlab/gitlab.rbを編集し、次の行を追加します:

    gitlab_rails['uploads_directory'] = "/mnt/storage/uploads"

    この設定は、gitlab_rails['uploads_storage_path']ディレクトリを変更していない場合にのみ適用されます。

  2. ファイルを保存して、GitLabを再設定し、変更を有効にします。

自己コンパイルによるインストールの場合:

デフォルトでは、アップロードは/home/git/gitlab/public/uploadsに保存されます。

  1. たとえば、ストレージパスを/mnt/storage/uploadsに変更するには、/home/git/gitlab/config/gitlab.ymlを編集し、次の行を追加または修正します:

    uploads:
      storage_path: /mnt/storage
      base_dir: uploads
  2. ファイルを保存して、GitLabを再起動し、変更を有効にします。

オブジェクトストレージを使用する

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

GitLabがインストールされているローカルディスクにアップロードを保存したくない場合は、代わりにAWS S3などのオブジェクトストレージプロバイダーを使用できます。この設定は、有効なAWS認証情報がすでに設定されていることを前提としています。

GitLabにおけるオブジェクトストレージの使用の詳細については、こちらをご覧ください

オブジェクトストレージ設定

このセクションでは、ストレージ固有の設定形式について説明します。代わりに、オブジェクトストレージの統合された設定を使用する必要があります。

セルフコンパイルインストールの場合、次の設定はuploads:、次にobject_store:の下にネストされます。Linuxパッケージインストールでは、uploads_object_store_がプレフィックスとして付きます。

設定説明デフォルト
enabledオブジェクトストレージを有効または無効にします。false
remote_directoryアップロードが保存されているバケット名
proxy_downloadtrueに設定すると、提供されるすべてのファイルに対してプロキシ処理を有効にします。このオプションを使用すると、クライアントがすべてのデータをプロキシ処理する代わりに、リモートストレージから直接ダウンロードできるようになるため、エグレストラフィックを削減できます。false
connectionさまざまな接続オプション(以降のセクションで説明します)。

接続設定

プロバイダーごとの使用可能な接続設定を参照してください。

Linuxパッケージインストールの場合:

デフォルトでは、アップロードは/var/opt/gitlab/gitlab-rails/uploadsに保存されます。

  1. /etc/gitlab/gitlab.rbを編集し、必要な値に置き換えて、次の行を追加します:

    gitlab_rails['uploads_object_store_enabled'] = true
    gitlab_rails['uploads_object_store_remote_directory'] = "uploads"
    gitlab_rails['uploads_object_store_connection'] = {
      'provider' => 'AWS',
      'region' => 'eu-central-1',
      'aws_access_key_id' => 'AWS_ACCESS_KEY_ID',
      'aws_secret_access_key' => 'AWS_SECRET_ACCESS_KEY'
    }

    AWS IAMプロファイルを使用している場合は、AWSアクセスキーとシークレットアクセスキー/キー/バリューペアを省略してください。

    gitlab_rails['uploads_object_store_connection'] = {
      'provider' => 'AWS',
      'region' => 'eu-central-1',
      'use_iam_profile' => true
    }
  2. ファイルを保存して、GitLabを再設定し、変更を有効にします。

  3. gitlab:uploads:migrate:all Rakeタスクを使用して、既存のローカルアップロードをオブジェクトストレージに移行する。

自己コンパイルによるインストールの場合:

デフォルトでは、アップロードは/home/git/gitlab/public/uploadsに保存されます。

  1. /home/git/gitlab/config/gitlab.ymlを編集し、次の行を追加または修正して、プロバイダーに適したものを必ず使用してください:

    uploads:
      object_store:
        enabled: true
        remote_directory: "uploads" # The bucket name
        connection: # The lines in this block depend on your provider
          provider: AWS
          aws_access_key_id: AWS_ACCESS_KEY_ID
          aws_secret_access_key: AWS_SECRET_ACCESS_KEY
          region: eu-central-1
  2. ファイルを保存して、GitLabを再起動し、変更を有効にします。

  3. gitlab:uploads:migrate:all Rakeタスクを使用して、既存のローカルアップロードをオブジェクトストレージに移行する。