= OpenShift = [[TOC]] == Introduction == [https://www.openshift.com/ OpenShift] is an Open Hybrid Cloud Application Platform / PaaS by Red Hat.It has a free plan as well as enterprise pricing options. Here is a good [http://stackoverflow.com/questions/17727788/deploying-ruby-on-rails-is-there-a-good-alternative-for-heroku post] comparing [http://heroku.com/ Heroku]. and OpenShift == Deployment Steps == === Install RHC=== The first step is to create an account on OpenShift - it's free and easy. The next step is to intstall RHC.RHC is the OpenShift client tool. The simplest way to install it is to do {{{ sudo gem install rhc }}} If the above command doesn't work install [https://www.ruby-lang.org/en/downloads/ Ruby first] and then [http://rubygems.org/pages/download Ruby Gems] === Deploy the template Web2py app === . Now we create a blank web2py app and get it running on OpenShift. For this we use the following [https://github.com/prelegalwonder/openshift_web2py repo]. You can follow the instructions given in the readme except change the Python version to 2.7 instead of 2.6 The basic steps are- Create a python-2.7 application {{{ rhc app create -a YOUR_APP_NAME -t python-2.7 }}} Add this upstream repo {{{ cd YOUR_APP_NAME git remote add upstream -m master git://github.com/prelegalwonder/openshift_web2py.git git pull -s recursive -X theirs upstream master Note: If you want a specific release and not the latest snapshot, replace "master" with the branch name in the above lines (ie. 2.3.2). }}} Then push the repo upstream {{{ git push }}} That's it, you can now checkout your application at: {{{ http://YOUR_APP_NAME-$yournamespace.rhcloud.com # you'll be prompted for your namespace while creating your account, you needn't worry about it. }}} Once your app is up you'll need administrative access to continue.For the admin app to work you need to put your password hash in parameters_8080.py in wsgi/web2py/. === Package and deploy Eden === Now locally create package your local Eden setup via the administrative interface. Then create a new application on your OpenShift by uploading the package. Once Eden is installed you will need OpenShift to install a lot of the required packages and libraries for it to work.For that edit the setup.py file in the following way- Edit the install_requires line to {{{ install_requires=['newrelic','GitPython','xlrd','lxml','shapely','python-dateutil','xlwt','pyserial','tweepy','pil'], }}} Note that these are only some of the libraries - please add them as needed. Commit these changes and push them to OpenShift. === Updates === To deploy updates simply package Eden locally and re-deploy it on OpenShift via the admin interface ( check the overwrite installed app option) == ToDo == 1. Have the admin interface directly fetch Eden from a Git repo.