ncoghlan / openshift-kallithea

Kallithea for OpenShift
Other
3 stars 1 forks source link

Kallithea on OpenShift

NOTE: Upgrades from earlier versions of the quickstart that used the DIY cartridge are known not to work - any older demo instances will need to be recreated from scratch. Upgrades should otherwise work in theory, but have not yet been tested.

Kallithea is a fast and powerful management tool for Mercurial and GIT with a built in push/pull server, full text search, pull requests and code-review system.

Kallithea was forked from RhodeCode in July 2014. This quickstart was forked from the RhodeCode kickstart in December 2014.

More information on Kallithea can be found at:

This quickstart is not recommended for production use at this time, but should be perfectly acceptable for running demonstration servers. For an online example of this quickstart running see:

Running on OpenShift

Create an account at http://openshift.redhat.com/

Create a python-2.7 application, together with a PostgreSQL cartridge:

rhc app create kallithea python-2.7 postgresql-9.2 --no-git

Clone the quickstart repo and switch into it:

git clone https://github.com/ncoghlan/openshift-kallithea.git kallithea
cd kallithea

Add the OpenShift git repository as a remote to the local repository, using the actual git remote URI given:

git remote add openshift ssh://$myappid@kallithea-$yourdomain.rhcloud.com/~/git/kallithea.git/

Force push the local repository up to the OpenShift repository:

git push -f openshift master

Head to your application at:

http://kallithea-$yourdomain.rhcloud.com

Default Credentials

Default Admin Usernameadmin
Default Admin Passwordchangethis

To give your new Kallithea site a web address of its own, add your desired alias:

rhc app add-alias -a kallithea --alias "$whatever.$mydomain.com"

Then add a cname entry in your domain's dns configuration pointing your alias to $whatever-$yourdomain.rhcloud.com.

Hosting Mechanism

Kallithea is based on Pylons and can be hosted with any WSGI server. For OpenShift this quickstart is using Apache/mod_wsgi. Rather than use the standard OpenShift Apache/mod_wsgi setup however, mod_wsgi-express is used. This allows the configuration for mod_wsgi to be customised, including the ability to use a multi process configuration, which will be better suited to hosting such an application as Kallithea.

Replacing the default WSGI application hosting mechanisms in OpenShift is not obvious, but Graham Dumpleton has documented how it can be done in the blog post:

This quickstart uses the approach described in that post.