Roots Discourse

Is there a decent, up-to-date setup tutorial?

I’ve been trying to step up my WP development for my next side project with trellis + ansible + vagrant + bedrock + sage + git + digital ocean and I’m having the darndest time.

Over the last few days I’ve gone through dave kiss’ tutorial, which is the only decent tutorial I can find on the topic, 5 times now with only partial success.

I’ve been able to get a local version of working or, a git-deployed-to-DO, but not both at the same time and never without some errors output during the process.

Today, I updated all of the software/packages in use (I’m on a Mac Air runnin’ 10.9) and went through the tutorial again. I got the local .dev version running, git seems to be working, the DO server is provisioned, but with one seemingly non-fatal error:

TASK [wordpress-setup : Create/assign database user to db and grant permissions] *** fatal: []: FAILED! => {“failed”: true, “msg”: “ERROR! ‘dict object’ has no attribute u’’”}

When I attempt to deploy, I get another error during Initialize that stops everything (possibly caused by updating ansible):

fatal: []: FAILED! => {“changed”: false, “failed”: true, “module_stderr”: “”, “module_stdout”: “Traceback (most recent call last):\r\n File “/home/web/.ansible/tmp/ansible-tmp-1455751360.52-201700745318992/deploy_helper”, line 2409, in \r\n main()\r\n File “/home/web/.ansible/tmp/ansible-tmp-1455751360.52-201700745318992/deploy_helper”, line 434, in main\r\n changes += deploy_helper.create_path(facts[‘project_path’])\r\n File “/home/web/.ansible/tmp/ansible-tmp-1455751360.52-201700745318992/deploy_helper”, line 297, in create_path\r\n os.makedirs(path)\r\n File “/usr/lib/python2.7/”, line 150, in makedirs\r\n makedirs(head, mode)\r\n File “/usr/lib/python2.7/”, line 157, in makedirs\r\n mkdir(name, mode)\r\nOSError: [Errno 13] Permission denied: ‘/srv/www’\r\n”, “msg”: “MODULE FAILURE”, “parsed”: false}

I’m surprised at how difficult and buggy this has been. I thought all this VM-ing, scripting and abstraction action was supposed to make it easy? Is this how it is?

I’m also surprised at the lack of an “official” up-to-date tutorial for setting everything up. Maybe I’m not finding it?

A tutorial explaining how to set up multiple roots sites on one DO droplet would be extremely cool.

Feelin’ pretty over it at this point. If anyone has any info that could help me, I’d appreciate it!


Sorry to hear that

Yes, unfortunately there have been some updates, especially to Trellis, that render some parts of that tutorial out of date.

The most up to date information you’ll find is in the README of each project. The main one you’ll need to follow very closely is Trellis.

Also keep in mind that Trellis has not been released as version 1 yet, so although many people are using it in production and using it daily, it’s still prone to updates and changes that everyone feels will be beneficial for version 1 and the project itself. But let’s see where we can help you out here:

You probably did not update the URL in {environment}/vault.yaml

I’m not sure what this one is. Can you confirm what version of Ansible you have?

I don’t think you’ll find many people claiming it’s a one click process to use Trellis. Some experience using Vagrant, Ansible, etc. definitely goes a long way in getting you going quicker, but those tools are generally learned alongside Trellis.

And yes, talk to any dev who has taken the time to learn these tools, 99% of them will say it makes things easier, but there is some initial learning and time requirements up front.

I also can understand your frustration with things not working out, however I do want to point out that people who work hard on projects like this don’t necessarily appreciate phrases like “I’m surprised at how difficult and buggy this has been. I thought all this VM-ing, scripting and abstraction action was supposed to make it easy? Is this how it is?”. No, we do not try to release difficult, bug-ridden software.

The README will always be the most up to date. It’s not glamorous and it’s very to the point, but it is the most up to date. We sincerely appreciate people who write tutorials like Dave Kiss, and we try to when we have time as well, but everyone has a limited amount of time they can give towards open source projects.

Sorry you feel that way.


Hey @Gerald,

As it so happens I made a tutorial this summer. Unfortunately I’ve been busy enough that I just barely got it all edited together. Like @kalenjohnson said, everything updates so fast that they become quickly dated.

That being said, I’m someone who learns 1000x better when I can see it done seamlessly. So hopefully it gets you 90% of the way.

Here’s the tutorial series:

When I launch this in the 4-6 weeks, I’m going to likely make it private membership after if gets enough hits (planning to launch it on Medium, then make it private as it picks up traction).

I’m going to definitely open it up to you guys (roots users) before hand. So consider this a beta peek.
I’d love some feedback! Enjoy.

Edit: PS- Following this tutorial you should in theory be able to get you DO server deployed in 5 minutes (if you skip the first 7 minutes). After the first 2 tuts, you’re ready to start customizing.


Thanks for the reply/reality check @kalenjohnson! I’m new to bash and pretty much all of the software in use and expected this part of the process to sorta just work and got frustrated when it didn’t. Sincerely sorry for being a brat.

I know these problems are not yours and really appreciate the software, support and time and effort that’s gone into it and look forward to integrating the tools into my workflow / being able to debug and hack ansible more better. Will check out the READMEs!

You probably did not update the URL in {environment}/vault.yaml


Can you confirm what version of Ansible you have?


This error started after I updated Ansible today while troubleshooting, and I attempted to roll back to 1.8 and 1.9 to no avail. Some quick searching made it out to be a recent, active bug with ansible. I have since completely removed the two older versions via brew and it now works!

Seems like all of my woes stemmed from outdated software and human error.

Thank you for your help!!

@masoninthesis That looks really nice, great job and thanks for sharing. I like how you added the whole workflow (with PSD, svg etc.).

1 Like

Thanks mate.

That was the one thing I saw an opportunity to go beyond the stack and tie it all together into more of an employee training tutorial for myself.

Feel free to give some criticism if you found parts hard to follow, etc.

Last summer, I made a more well organized tutorial series, but it only covers initial setup (Trellis, Bedrock, and Sage 8). Little to no customization.

Roots Tutorial Videos

1 Like