Running on OpenShift ===================== Create an account at http://openshift.redhat.com/ Create a wsgi-3.2 application rhc-create-app -a blog -t wsgi-3.2 Add this upstream mezzanine-openshiftrepo cd blog git remote add upstream -m master git://github.com/k4ml/mezzanine-openshift.git git pull -s recursive -X theirs upstream master Then push the repo upstream git push That's it, you can now checkout your application at (default admin account is admin/admin): http://blog-$yourlogin.rhcloud.com Ref:- https://github.com/lmacken/django-example Feel free to change or remove this file, it is informational only. Repo layout =========== wsgi/ - Externally exposed wsgi code goes wsgi/static/ - Public static content gets served here libs/ - Additional libraries data/ - For not-externally exposed wsgi code setup.py - Standard setup.py, specify deps here ../data - For persistent data (also env var: OPENSHIFT_DATA_DIR) .openshift/action_hooks/build - Script that gets run every push, just prior to starting your app Environment Variables ===================== OpenShift Express provides several environment variables to reference for ease of use. The following list are some common variables but far from exhaustive: os.environ['OPENSHIFT_APP_NAME'] - Application name os.environ['OPENSHIFT_APP_DIR'] - Application dir os.environ['OPENSHIFT_DATA_DIR'] - For persistent storage (between pushes) os.environ['OPENSHIFT_TMP_DIR'] - Temp storage (unmodified files deleted after 10 days) When embedding a database using rhc-ctl-app, you can reference environment variables for username, host and password: os.environ['OPENSHIFT_DB_HOST'] - DB host os.environ['OPENSHIFT_DB_PORT'] - DB Port os.environ['OPENSHIFT_DB_USERNAME'] - DB Username os.environ['OPENSHIFT_DB_PASSWORD'] - DB Password To get a full list of environment variables, simply add a line in your .openshift/action_hooks/build script that says "export" and push. Notes about layout ================== Please leave wsgi, libs and data directories but feel free to create additional directories if needed. Note: Every time you push, everything in your remote repo dir gets recreated please store long term items (like an sqlite database) in ../data which will persist between pushes of your repo. Notes about setup.py ==================== Adding deps to the install_requires will have the openshift server actually install those deps at git push time.