doc-locale/fr-fr/administration/uploads.md
{{< details >}}
{{< /details >}}
Les uploads représentent toutes les données utilisateur pouvant être envoyées à GitLab sous forme de fichier unique. Par exemple, les avatars et les pièces jointes aux notes sont des uploads. Les uploads sont essentiels au fonctionnement de GitLab et ne peuvent donc pas être désactivés.
[!note] Les pièces jointes ajoutées aux commentaires ou aux descriptions sont supprimées uniquement lorsque le projet ou le groupe parent est supprimé. Les pièces jointes restent dans le stockage de fichiers même lorsque le commentaire ou la ressource (comme un ticket, une merge request, un epic) où elles ont été uploadées est supprimé(e).
Il s'agit de la configuration par défaut. Pour modifier l'emplacement où les uploads sont stockés localement, suivez les étapes de cette section en fonction de votre méthode d'installation :
[!note] Pour des raisons historiques, les uploads pour l'ensemble de l'instance (par exemple le favicon) sont stockés dans un répertoire de base, qui est par défaut
uploads/-/system. Il est fortement déconseillé de modifier le répertoire de base sur une installation GitLab existante.
Pour les installations avec le package Linux :
Les uploads sont stockés par défaut dans /var/opt/gitlab/gitlab-rails/uploads.
Pour modifier le chemin de stockage, par exemple vers /mnt/storage/uploads, modifiez /etc/gitlab/gitlab.rb et ajoutez la ligne suivante :
gitlab_rails['uploads_directory'] = "/mnt/storage/uploads"
Ce paramètre s'applique uniquement si vous n'avez pas modifié le répertoire gitlab_rails['uploads_storage_path'].
Enregistrez le fichier et reconfigurez GitLab pour que les modifications prennent effet.
Pour les installations compilées à partir des sources :
Les uploads sont stockés par défaut dans /home/git/gitlab/public/uploads.
Pour modifier le chemin de stockage, par exemple vers /mnt/storage/uploads, modifiez /home/git/gitlab/config/gitlab.yml et ajoutez ou modifiez les lignes suivantes :
uploads:
storage_path: /mnt/storage
base_dir: uploads
Enregistrez le fichier et redémarrez GitLab pour que les modifications prennent effet.
{{< details >}}
{{< /details >}}
Si vous ne souhaitez pas utiliser le disque local sur lequel GitLab est installé pour stocker les uploads, vous pouvez utiliser à la place un fournisseur de stockage d'objets comme AWS S3. Cette configuration nécessite que des identifiants AWS valides soient déjà configurés.
En savoir plus sur l'utilisation du stockage d'objets avec GitLab.
Cette section décrit le format de configuration spécifique au stockage. Vous devriez utiliser les paramètres de stockage d'objets consolidés à la place.
Pour les installations compilées manuellement, les paramètres suivants sont imbriqués sous uploads: puis sous object_store:. Pour les installations avec le package Linux, ils sont préfixés par uploads_object_store_.
| Paramètre | Description | Valeur par défaut |
|---|---|---|
enabled | Activer/désactiver le stockage d'objets | false |
remote_directory | Le nom du bucket où les uploads sont stockés | |
proxy_download | Définissez sur true pour activer le proxy pour tous les fichiers servis. Cette option permet de réduire le trafic sortant en autorisant les clients à télécharger directement depuis le stockage distant au lieu de proxyfier toutes les données | false |
connection | Différentes options de connexion décrites ci-dessous |
Consultez les paramètres de connexion disponibles pour les différents fournisseurs.
Pour les installations avec le package Linux :
Les uploads sont stockés par défaut dans /var/opt/gitlab/gitlab-rails/uploads.
Modifiez /etc/gitlab/gitlab.rb et ajoutez les lignes suivantes en remplaçant par les valeurs souhaitées :
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'
}
Si vous utilisez des profils AWS IAM, veillez à omettre la clé d'accès AWS et les paires clé/valeur de clé d'accès secrète.
gitlab_rails['uploads_object_store_connection'] = {
'provider' => 'AWS',
'region' => 'eu-central-1',
'use_iam_profile' => true
}
Enregistrez le fichier et reconfigurez GitLab pour que les modifications prennent effet.
Migrez tous les uploads locaux existants vers le stockage d'objets à l'aide de la tâche Rake gitlab:uploads:migrate:all.
Pour les installations compilées à partir des sources :
Les uploads sont stockés par défaut dans /home/git/gitlab/public/uploads.
Modifiez /home/git/gitlab/config/gitlab.yml et ajoutez ou modifiez les lignes suivantes, en veillant à utiliser les paramètres appropriés pour votre fournisseur :
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
Enregistrez le fichier et redémarrez GitLab pour que les modifications prennent effet.
Migrez tous les uploads locaux existants vers le stockage d'objets à l'aide de la tâche Rake gitlab:uploads:migrate:all.