<p><strong>Ignore my answer. Andris' is better.</strong></p>

<p>There is no functionality in Craft that I'm aware of, but you should be able to handle it similar to moving a website. The hardest part I think would be updating fields and references within entries.</p>

<ol>
<li>Set up your new asset source (whether local or another object store).</li>
<li>Move all of your files to the new source.</li>
<li>Go to the settings page in the control panel. First icon under <strong>Tools</strong> is <strong>Update Asset Indexes</strong>.</li>
<li>Add your new source to Asset fields, and go update all of the entries.</li>
<li>After the entries are updated, you can just delete the old asset source.</li>
</ol>

<p>There's really no automated way to update fields and entries, but it might be possible with a really clever plugin.</p>

CC BY-SA 3.0
2014-07-17T13:35:11.400Z
Wouldn't changing the asset-source type to local, keep all relations? And just moving the files + updating the asset indexes be enough?
Victor
CC BY-SA 3.0
2014-07-17T13:41:09.883Z
Simply changing the source type would be sufficient in this case, provided that the files are copied to the local server.
Andris Sevcenko
CC BY-SA 3.0
2014-07-17T13:41:23.417Z
I'm not sure. It depends on how they're stored in the database. I'll go check and update my answer if I find anything that suggests what you say will work.
Bryan Redeagle
CC BY-SA 3.0
2014-07-17T13:24:40.467Z
2014-07-17T13:45:19.920Z
2014-07-17T13:45:19.920Z
Bryan Redeagle
<p>The easiest way I imagine would be to</p>

<ol>
<li>Create a local folder</li>
<li>Download all the files into the folder (outside of Assets - via Transmit or similar)</li>
<li>Change your source settings from S3 to Local with correct paths</li>
</ol>

<p>And you're done. Whoa, that was easy :)</p>

CC BY-SA 3.0
2016-01-20T22:48:35.843Z
@AndrisSevcenko Can you confirm if this workflow would work going from local to s3 as well? 1. Create an S3 bucket, 2. Upload all files into the bucket (outside of Craft), 3. Update the Asset Source settings from Local to S3
Ben Parizek
CC BY-SA 3.0
2016-01-21T07:41:07.020Z
@BenParizek can't see why not. It's all the same, to Craft, as long as the structure within the Assets source remains identical.
Andris Sevcenko
CC BY-SA 4.0
2019-11-06T16:59:07.707Z
This works! One note that messed me up: If you use the cache tag, you'll also need to clear template cache and compiled templates in Settings. Do NOT clear anything image related though, or all image transforms will need to be re-generated, which can be an issue if there are a lot of them
Bryce
CC BY-SA 3.0
2014-07-17T14:02:44.803Z
Wouldn't step 4 be to update indexes?
Matt Stein
CC BY-SA 3.0
2014-07-17T14:13:01.480Z
Assets stores the whole structure relative to the Source. The thumbnails are stored based on the Assets ID. None of those parameters change so, from Assets Index point of view nothing has changed at all.
Andris Sevcenko
CC BY-SA 3.0
2014-07-17T13:40:25.460Z
2014-07-17T13:40:25.460Z
Andris Sevcenko
<p>S3 is seemingly costing us a lot. While it has its benefits, I think we could do with moving images from s3 to the server we are running the site from. How difficult/impossible of a task would that be?</p>

CC BY-SA 3.0
2014-07-17T13:23:44.713Z
When I say a lot, $25 after 2 days in production
Seán O'Grady
<assets>
Is it possible to move an entire asset source?
# Is it possible to move an entire asset source?

(Asked by: username_0 on 2014-07-17)

S3 is seemingly costing us a lot. While it has its benefits, I think we could do with moving images from s3 to the server we are running the site from. How difficult/impossible of a task would that be?

**Tags:** assets

> **Comments:**
> **username_0**: When I say a lot, $25 after 2 days in production  

---

## 2 answers

### Answer by username_3 on 2014-07-17. Score: 20 | Accepted answer

The easiest way I imagine would be to

1. Create a local folder
2. Download all the files into the folder (outside of Assets - via Transmit or similar)
3. Change your source settings from S3 to Local with correct paths

And you're done. Whoa, that was easy :)

> **Comments:**
> **username_6**: Wouldn't step 4 be to update indexes?  
> **username_3**: Assets stores the whole structure relative to the Source. The thumbnails are stored based on the Assets ID. None of those parameters change so, from Assets Index point of view nothing has changed at all.  
> **username_4**: @AndrisSevcenko Can you confirm if this workflow would work going from local to s3 as well? 1. Create an S3 bucket, 2. Upload all files into the bucket (outside of Craft), 3. Update the Asset Source settings from Local to S3  
> **username_3**: @BenParizek can't see why not. It's all the same, to Craft, as long as the structure within the Assets source remains identical.  
> **username_5**: This works! One note that messed me up: If you use the cache tag, you'll also need to clear template cache and compiled templates in Settings. Do NOT clear anything image related though, or all image transforms will need to be re-generated, which can be an issue if there are a lot of them  

---

### Answer by username_1 on 2014-07-17. Score: 2

**Ignore my answer. Andris' is better.**

There is no functionality in Craft that I'm aware of, but you should be able to handle it similar to moving a website. The hardest part I think would be updating fields and references within entries.

1. Set up your new asset source (whether local or another object store).
2. Move all of your files to the new source.
3. Go to the settings page in the control panel. First icon under **Tools** is **Update Asset Indexes**.
4. Add your new source to Asset fields, and go update all of the entries.
5. After the entries are updated, you can just delete the old asset source.

There's really no automated way to update fields and entries, but it might be possible with a really clever plugin.

> **Comments:**
> **username_2**: Wouldn't changing the asset-source type to local, keep all relations? And just moving the files + updating the asset indexes be enough?  
> **username_3**: Simply changing the source type would be sufficient in this case, provided that the files are copied to the local server.  
> **username_1**: I'm not sure. It depends on how they're stored in the database. I'll go check and update my answer if I find anything that suggests what you say will work.  

---

