<p>Matt Wilcox alluded to it in his original comment, but something like Craft-Scripts will really help out with this workflow. You can read more here: <a href="https://nystudio107.com/blog/database-asset-syncing-between-environments-in-craft-cms" rel="nofollow noreferrer">Database &amp; Asset Syncing Between Environments in Craft CMS</a></p>

CC BY-SA 3.0
2017-11-19T09:50:04.250Z
2017-11-19T09:50:04.250Z
andrew.welch
<p>I'd recommend you take a look at the excellent existing threads on this:</p>

<ol>
<li><a href="https://craftcms.stackexchange.com/questions/55/git-workflow-and-multi-environment-how-to-approach/62#62">Git Workflow and Multi Environment - how to approach</a> </li>
<li><a href="https://craftcms.stackexchange.com/questions/10/whats-the-best-practice-for-handling-data-migration-and-organization-across-dev">What's the best practice for handling data migration and
organization across development environments?</a></li>
</ol>

<p>as well as the official documentation on <a href="https://craftcms.com/docs/multi-environment-configs" rel="nofollow noreferrer">Multi-Environment Configs</a></p>

<p>Source: <a href="https://craftcms.stackexchange.com/questions/6548/correct-way-to-set-up-development-and-production-environments-for-craft">Correct way to set up development and production environments for Craft?</a></p>

CC BY-SA 3.0
2017-11-20T07:55:59.230Z
2017-11-20T07:55:59.230Z
Shahroze Nawaz
<p>Maybe this is a stupid idea (correct me if so) but why don't you use a shared folder through Dropbox, Spideroak or Tresorit to synch the assets?</p>

CC BY-SA 3.0
2018-01-23T10:40:18.313Z
I've found a solution I'm happy with :)
With imager it's possible to transform remote images and since I upload backend assets on a development server, are me and my co-workers able to transform the images in the local templates.
Marco Schuler
CC BY-SA 3.0
2018-01-19T12:55:33.950Z
2018-01-19T12:55:33.950Z
Tobias S.
<p>That's the setup we use here. It's ok, but local development runs slowly because the database is off-site - we'll be moving to an internal database server in the new year because of that.</p>

<p>Image transforms we just deal with by manually syncing the folders every now and then. I believe Andrew Welch has a script to help manage that - I've not tried it <a href="https://github.com/nystudio107/craft-scripts" rel="noreferrer">https://github.com/nystudio107/craft-scripts</a></p>

<p>But I wish there was a way to tell Craft, in dev mode, that a missing image file is not a "stop everything" error.</p>

CC BY-SA 3.0
2017-11-15T14:30:33.787Z
Thanks for sharing your setup!
I agree it's very slow but for me it still outweighs working locally. Internal db-server sounds like a good solution.
The craft-scripts seem really worth checking out. I've not given enough love to backups yet and it's seems the craft-scripts could help me change that. ( backup_assets.sh, backup_db.sh)
Marco Schuler
CC BY-SA 3.0
2017-11-15T15:33:26.593Z
We work kind of the same here. Only thing we do different I guess is even though we work "local" all our projects are on our own parts of our server. Also use the same DB and sync via gitlab on a daily basis.
Justin Dekkers
CC BY-SA 3.0
2017-11-16T00:30:21.273Z
Using Amazon S3 and – ideally – image transforming via services like [Imgix](https://imgix.com) makes local development tons more fun. Plugins like [Imager](https://github.com/aelvan/Imager-Craft) and [Image Optimize](https://github.com/nystudio107/craft3-imageoptimize) support the latter out of the box.
Mats Mikkel Rummelhoff
CC BY-SA 3.0
2017-11-15T14:06:37.520Z
2017-11-15T14:06:37.520Z
Matt Wilcox
<p>I've started with Craft developing all locally. The struggle for me when working locally was synchronizing the database and the backend assets with coworkers on the same project.</p>

<p>In the last project we tried a different approach, where we have the db, the assets and the CP on a server. So all devs involved in the project had the same backend.</p>

<p>What we still had locally were our templates and frontend stuff. The db.php pointed to the remote db. The basepath pointed to our local root so it would load the local templates. </p>

<p>I'm actually pretty happy with that solution the only problem I haven't figured out yet is using image transforms. Since I'm using locale templates (and a locale craft installation for templating ), the transforms tries to generate the images locally which doesn't seem to work. Maybe my configuration is off since I don't have to much experience with transforms and the configuration with this setup can get a little confusing as well :)</p>

<p>How does your setup look while working in a team?</p>

<p>And any suggestions for the my problem with transform?</p>

<image-transforms><multi-environment><best-practice><setup>
What are the best practices for the development setup?
# What are the best practices for the development setup?

(Asked by: username_0 on 2017-11-15)

I've started with Craft developing all locally. The struggle for me when working locally was synchronizing the database and the backend assets with coworkers on the same project.

In the last project we tried a different approach, where we have the db, the assets and the CP on a server. So all devs involved in the project had the same backend.

What we still had locally were our templates and frontend stuff. The db.php pointed to the remote db. The basepath pointed to our local root so it would load the local templates.

I'm actually pretty happy with that solution the only problem I haven't figured out yet is using image transforms. Since I'm using locale templates (and a locale craft installation for templating ), the transforms tries to generate the images locally which doesn't seem to work. Maybe my configuration is off since I don't have to much experience with transforms and the configuration with this setup can get a little confusing as well :)

How does your setup look while working in a team?

And any suggestions for the my problem with transform?

**Tags:** image-transforms, multi-environment, best-practice, setup


---

## 4 answers

### Answer by username_4 on 2017-11-15. Score: 6 | Accepted answer

That's the setup we use here. It's ok, but local development runs slowly because the database is off-site - we'll be moving to an internal database server in the new year because of that.

Image transforms we just deal with by manually syncing the folders every now and then. I believe Andrew Welch has a script to help manage that - I've not tried it <https://github.com/nystudio107/craft-scripts>

But I wish there was a way to tell Craft, in dev mode, that a missing image file is not a "stop everything" error.

> **Comments:**
> **username_0**: Thanks for sharing your setup! I agree it's very slow but for me it still outweighs working locally. Internal db-server sounds like a good solution. The craft-scripts seem really worth checking out. I've not given enough love to backups yet and it's seems the craft-scripts could help me change that. ( backup_assets.sh, backup_db.sh)  
> **username_5**: We work kind of the same here. Only thing we do different I guess is even though we work "local" all our projects are on our own parts of our server. Also use the same DB and sync via gitlab on a daily basis.  
> **username_6**: Using Amazon S3 and – ideally – image transforming via services like [Imgix](https://imgix.com) makes local development tons more fun. Plugins like [Imager](https://github.com/aelvan/Imager-Craft) and [Image Optimize](https://github.com/nystudio107/craft3-imageoptimize) support the latter out of the box.  

---

### Answer by username_1 on 2017-11-19. Score: 4

username_4 alluded to it in his original comment, but something like Craft-Scripts will really help out with this workflow. You can read more here: [Database & Asset Syncing Between Environments in Craft CMS](https://nystudio107.com/blog/database-asset-syncing-between-environments-in-craft-cms)


---

### Answer by username_2 on 2017-11-20. Score: 2

I'd recommend you take a look at the excellent existing threads on this:

1. [Git Workflow and Multi Environment - how to approach](https://craftcms.stackexchange.com/questions/55/git-workflow-and-multi-environment-how-to-approach/62#62)
2. [What's the best practice for handling data migration and
   organization across development environments?](https://craftcms.stackexchange.com/questions/10/whats-the-best-practice-for-handling-data-migration-and-organization-across-dev)

as well as the official documentation on [Multi-Environment Configs](https://craftcms.com/docs/multi-environment-configs)

Source: [Correct way to set up development and production environments for Craft?](https://craftcms.stackexchange.com/questions/6548/correct-way-to-set-up-development-and-production-environments-for-craft)


---

### Answer by username_3 on 2018-01-19. Score: 0

Maybe this is a stupid idea (correct me if so) but why don't you use a shared folder through Dropbox, Spideroak or Tresorit to synch the assets?

> **Comments:**
> **username_0**: I've found a solution I'm happy with :) With imager it's possible to transform remote images and since I upload backend assets on a development server, are me and my co-workers able to transform the images in the local templates.  

---

