`gitlab:uploads:migrate` migrates uploads between different storage types.
After [configuring the object storage](../../uploads.md#using-object-storage-core-only) for GitLab's uploads, you may use this task to migrate existing uploads from the local storage to the remote storage.
## Migrate to object storage
>**Note:**
After [configuring the object storage](../../uploads.md#using-object-storage-core-only) for GitLab's
All of the processing will be done in a background worker and requires **no downtime**.
uploads, use this task to migrate existing uploads from the local storage to the remote storage.
Read more about using [object storage with GitLab](../../object_storage.md).
[Read more about using object storage with GitLab](../../object_storage.md).
NOTE: **Note:**
All of the processing will be done in a background worker and requires **no downtime**.
### All-in-one Rake task
### All-in-one Rake task
GitLab provides a wrapper Rake task that migrates all uploaded files - avatars,
GitLab provides a wrapper Rake task that migrates all uploaded files (for example avatars, logos,
logos, attachments, favicon, etc. - to object storage in one go. Under the hood,
attachments, and favicon) to object storage in one step. The wrapper task invokes individual Rake
it invokes individual Rake tasks to migrate files falling under each of this
tasks to migrate files falling under each of these categories one by one.
category one by one. The specifications of these individual Rake tasks are
described in the next section.
These [individual Rake tasks](#individual-rake-tasks) are described in the next section.
To migrate all uploads from local storage to object storage, run: