clojureweb-chef
- chef recipes for setting up a server for Clojure deployment.
This project was born during Clojure Cup 2013 and right now I don't know anybody who use it in production, so you can be the first ;)
- Preferred way to use is to clone this repo and customize for your project
git clone git://github.com/juggler/clojureweb-chef.git --origin upstream APPLICATION-NAME-chef
- Bootstrap local environment with
script/bootstrap
- Setup key based authentication to the target host (e.g.
ssh-copy-id
-brew install ssh-copy-id
) - Prepare target server with
script/prepare root@HOSTNAME
- Customize
nodes/HOSTNAME.json
based on nodes/default.json - Apply configuration to target host with
script/cook user@HOSTNAME
There are 3 scripts to automate cooking process:
script/bootstrap
will installlibrarian-chef
andknife-solo
gemsscript/prepare
will download cookbooks and install Chef on target nodescript/cook
will apply recipes to the target node (you can re-run this script if you will add a new recipe or change an existing one)
deployer
user with key-based ssh authentication (you have to rename user.json.example touser.json
and add your public key)- latest stable leiningen (based on this cookbook)
- openjdk 7
- nginx which will serve static files/pages, cache content and will act as a reverse proxy for your app server (you should read this article by JUXT team)
Checkout this deploy.rb
- do not use
flatstack[rails]
cookbook because it just includes nginx
This application is based on chef-solo and Flatstack's Rails Chef recipes. Check them out for default attributes.
- Max Prokopiev
- Based on rails3-base-chef template.
MIT