4

Is there a pre-existing, best practices project skeleton for Chef + Django web applications on Linux (Ubuntu preferably)?

For production Django systems our preferred setup is Supervisor, Nginx, Ubuntu and Uwsgi. Additionally we use Chef to do configuration management and Vagrant + Chef to do development environment management.

While this system is great once they're all up and running they can be very time consuming to setup properly.

My ideal solution would be pre-made Chef Github repository which was a skeleton for a best-practices Django deployment. (It would come with a chef-solo.rb ready to be used to deploy to some cloud ubuntu instance and a Vagrantfile ready to be used to create Vagrant dev machine.) Basically all you would have to do is add a Chef cookbook to deploy your application code and tweak a few settings.

Does anything like that ideal solution exist?

Chris W.
  • 37,583
  • 36
  • 99
  • 136
  • 3
    If not, you should make it and share :) – Ngenator May 08 '13 at 18:50
  • I don't know about the repo, but I would recommend you to look at http://rove.io/. For know it has Rails and LAMP stacks, but you could create one for Django using a simple DSL and share it with the others ) – melekes May 10 '13 at 19:22
  • I would recommend using typical [chef-repo](https://github.com/opscode/chef-repo) from opscode.com where it manages a repository for your chef based configuration no matter using chef-solo or chef-client with chef server. Then provide individual cookbook for each component and manage/test them as individual repository. – shawnzhu Jul 29 '13 at 05:17

1 Answers1

1

Here's typical chef based configuration solution:

  1. one git repo saves chef-repo. you can use knife solo init <repo-name> to create it. Or just clone that from git repo of opscode.com

  2. one git repo per cookbook. you can use berkshelf cookbook <your-cookbook-name> to create a full set of cookbook content including cookbook itself, test-kitchen, vagrant and berks. Please install berkshelf first via gem install berkshelf

For any other cookbooks that from cookbook community or git repo, you can use berkshelf to download them and managed as local cookbooks.

shawnzhu
  • 7,233
  • 4
  • 35
  • 51