Video Tutorial for Setting Up Trellis and Deploying to Production

Hey @Joe_Thomas

This video series should help, but do note that this is for Sage 8, not Sage 9 (which is the current master branch for Sage):

Hey @jlengstorf, just watched your tut. Loved it! It’s funny how I’ve done tons of Roots installs over the years, but I always learn something new from other people’s processes.

I mainly watched it for the WP Sync DB because I’d never messed with that before. I watched it on 2x speed. So your 20 minute tutorial will probably end up saving me days worth of time!

A couple notes:

• You asked for tutorial requests– personally I’d love to see you configure the smtp stuff. I’ve never done that either.
• My workflow is a little different. I use Github’s desktop app because I figured it’d have a lower barrier of entry for anyone I’m working with who’s never used Git before. To my surprise, I think it way less steps than running Git/Github through command line. (see here:

Keep up the great work man!

That WP Sync DB workflow is no joke. :slight_smile:

SMTP could be a good add-on to this tutorial; I’m collecting tutorial ideas over at GitHub if you don’t mind opening an issue for that.

I’ve seen the GitHub app before, but I found that it’s excellent until you need to do something other than commit (such as unstaging a change). I watched a beginner irrevocably destroy an entire repo because the UI didn’t make it clear if she was about to remove the commits or remove the files. (It removed the files, which hadn’t been committed.) So I’m wary. :slight_smile:

Thanks for the feedback! I appreciate it.

1 Like

Yeah it’s actually shameful I haven’t done much DB syncing until now. I was planning out my morning thinking of adding a bunch of woocommerce products to a staging env, which will be pushed to production in the next week or two. I was thinking… either I can spend an hour duplicating it all manually, or I can just spend an hour getting DB syncing setup. DRY methodology FTW.

Will do, I’ll add that request to the github repo.

Re: The Github app, exactly. I’ve learned the hard way, if you’re doing anything other than committing, don’t do it in the app! :slight_smile:

Yes, this is great thank you! One question… does it matter how you install Ansible on your Mac? I noticed that you used Brew. The official doc recommends “pip”

Also here is another tutorial I found ( actually 3 parts) which is also excellent… much thanks to Jimmy Smutek

Much thanks for these tutorials! I’d love to see something on trellis with multiple sites. e.g. Best practice for Trellis with multiple sites

1 Like

@masoninthesis & @jlengstorf : First, thank you both for the videos. They really cleared up a whole lot of questions I had and helped set up for the first time. I still go back and reference them.

Have you heard of, or used, VesrionPress before? I just stumbled upon it and it looks very promising.

@Sergio My pleasure.

VP looks interesting. Haven’t used it, but would definitely like to hear opinions if some has.

@jlengstorf Ever used WP Migrate/Sync from the command line? If you have, I’d love to see how that’s done, potentially even automated in the build/deploy process. :slight_smile:

I haven’t tried it in the command line yet. It’s on my (ever-growing) list of things to experiment with. :slight_smile:

I’d recommend reading this blog post and the comments that go with it :slight_smile:

Lots of good stuff for syncing environments via the command line.

1 Like

As a designer, this video tutorial by @jlengstorf helped me tremendously to make the leap from a shared hosting setup to a VPS.

Had my down moments in he process as described here. Fortunately, @fullyint came to the rescue with quick fixes.

For anyone else going through this tutorial, wp-sync-db needed a lower composer installer in order to be installed, so I’ve updated “composer/installers”: “~1.0.6” in composer.json and composer.lock. (If there’s a better workaround please share but this seems to work okay).

Additionaly, wp-sync-db admin panel become unresponsive once activated in local environment. I’ve tracked the solution to Commit #120.

Very happy with current setup.

Thanks again @fullyint and @jlengstorf and the rest of the Roots team.


As an aside, I think it’s worth mentioning the origin of, and the history behind “wp-sync-db”, which is just a fork some dude made of the premium version of WP Migrate DB Pro.


This rookie had a heck of a time all week with your tutorial, but it made it possible! The biggest difference for any other newbie is to make sure the DO Droplet has the updated Ubuntu…

My biggest headache and the only thing keeping me from being successful is the “wp-sync-db” process… I have tried everything to make this work, but to no success… I’ve also manually added these to the app/plugins folder, and git won’t see these within the git add -A…

Any ideas? Here is my composer file.

>     {
>   "name": "boothwise",
>   "type": "project",
>   "license": "MIT",
>   "description": "WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure",
>   "homepage": "",
>   "authors": [
>     {
>       "name": "Scott Walkinshaw",
>       "email": "",
>       "homepage": ""
>     },
>     {
>       "name": "Ben Word",
>       "email": "",
>       "homepage": ""
>     }
>   ],
>   "keywords": [
>     "bedrock", "composer", "roots", "wordpress", "wp", "wp-config"
>   ],
>   "support": {
>     "issues": "",
>     "forum": ""
>   },
>   "config": {
>     "preferred-install": "dist"
>   },
>   "repositories": [
>     {
>       "type": "composer",
>       "url": ""
>     }
>   ],
>   "require": {
>     "php": ">=7.1",
>     "composer/installers": "^1.4",
>     "vlucas/phpdotenv": "^2.0.1",
>     "oscarotero/env": "^1.1.0",
>     "roots/wordpress": "5.0.2",
>     "roots/wp-config": "1.0.0",
>     "roots/wp-password-bcrypt": "1.0.0"
>   },
>   "require-dev": {
>     "squizlabs/php_codesniffer": "^3.0.2",
>     "roave/security-advisories": "dev-master"
>   },
>   "extra": {
>     "installer-paths": {
>       "web/app/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
>       "web/app/plugins/{$name}/": ["type:wordpress-plugin"],
>       "web/app/themes/{$name}/": ["type:wordpress-theme"]
>     },
>     "wordpress-install-dir": "web/wp"
>   },
>   "scripts": {
>     "post-root-package-install": [
>       "php -r \"copy('.env.example', '.env');\""
>     ],
>     "test": [
>       "phpcs"
>     ]
>   }
> }

composer require wp-sync-db/wp-sync-db:dev-master@dev

shows this error…

Problem 1
- Installation request for wp-sync-db/wp-sync-db dev-master@dev -> satisfiable by wp-sync-db/wp-sync-db[dev-master].
- wp-sync-db/wp-sync-db dev-master requires composer/installers ~1.0.6 -> satisfiable by composer/installers[1.0.x-dev, v1.0.10, v1.0.11, v1.0.12, v1.0.13, v1.0.14, v1.0.15, v1.0.16, v1.0.17, v1.0.18, v1.0.19, v1.0.20, v1.0.21, v1.0.22, v1.0.23, v1.0.24, v1.0.25, v1.0.6, v1.0.7, v1.0.8, v1.0.9] but these conflict with your requirements or minimum-stability.

So I changed the composer number to ~1.0.6… no success…

Has anyone recently had luck?? I’ll send beer money if you can help! <3

Locking this thread as it’s 2 years old and wp-sync-db is an unethical version of a paid product (WP Migrate DB Pro) that we don’t recommend using and will not support here