diff options
author | elijah <elijah@riseup.net> | 2015-04-29 13:51:11 -0700 |
---|---|---|
committer | elijah <elijah@riseup.net> | 2015-04-29 13:51:11 -0700 |
commit | e99856e5338424b36884e21db1f1399f4753ab3a (patch) | |
tree | 1e11e8b27c63f848a876f8f5dfca2e3b4eb5deb7 /doc/DEPLOY.md | |
parent | 73fd6f5ef05adf5abdb31bcca4377c0ee7ca052b (diff) |
clean up docs
Diffstat (limited to 'doc/DEPLOY.md')
-rw-r--r-- | doc/DEPLOY.md | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/doc/DEPLOY.md b/doc/DEPLOY.md new file mode 100644 index 0000000..33d5598 --- /dev/null +++ b/doc/DEPLOY.md @@ -0,0 +1,72 @@ +# Deployment # + +These instructions are targeting a Debian GNU/Linux system. You might need to +change the commands to match your own needs. + +## Server Preperation ## + +### Dependencies ## + +The following packages need to be installed: + +* git +* ruby1.9 +* rubygems1.9 +* couchdb (if you want to use a local couch) + +### Setup Capistrano ### + +We use puppet to deploy. But we also ship an example deploy.rb in +config/deploy.rb.example. Edit it to match your needs if you want to use +capistrano. + +run `cap deploy:setup` to create the directory structure. + +run `cap deploy` to deploy to the server. + +## Customized Files ## + +Please make sure your deploy includes the following files: + +* `public/config/provider.json` -- provider bootstrap file. +* `config/couchdb.yml` -- normal webapp couchdb configuration. +* `config/couchdb.admin.yml` -- configuration used for rake tasks. + +## Couch Security ## + +We recommend against using an admin user for running the webapp. To avoid this +couch design documents need to be created ahead of time and the auto update +mechanism needs to be disabled. Take a look at `test/travis/setup_couch.sh` +for an example of securing the couch. + +### DESIGN DOCUMENTS ### + +After securing the couch design documents need to be deployed with admin +permissions. There are two ways of doing this: + * rake couchrest:migrate_with_proxies + * dump the documents as files with `rake couchrest:dump` and deploy them + to the couch by hand or with puppet. + +#### CouchRest::Migrate #### + +The before_script block in .travis.yml illustrates how to do this: + +```bash +mv test/config/couchdb.yml config/couchdb.yml +mv test/config/couchdb.admin.yml config/couchdb.admin.yml +bundle exec rake db:rotate # create dbs +bundle exec rake couchrest:migrate # run migrations +``` + +#### Deploy design docs from CouchRest::Dump #### + +First of all we get the design docs as files: + +```bash +# put design docs in /tmp/design +bundle exec rake couchrest:dump +``` + +Then we add them to files/design in the site_couchdb module in leap_platform +so they get deployed with the couch. You could also upload them using curl or +sth. similar. |