Django-Mingus Blog On Heroku

Who wants a free self-hosted blog – raise your hand. Well, almost free, I did have to pay for the domain name.

I decided this past weekend to move this blog from Tumblr to my own platform. I used it as an excuse to play with some technologies I’ve been wanting to ramp up on. Specifically Django and Heroku, so beware, if you decide to follow in my footsteps understand that my choices are likely not the most sound choices, and you might be better off with a standby like Wordpress or even Jekyll (which seems to be a popular choice at the moment). /disclaimer

Going into this I thought the biggest difficulty I would face would be choosing among all of the Django-based blog platforms that surely were out there. Boy was I wrong. While there are many tutorials for creating your own blog in Django I didn’t want to role my own. Surprisingly, I only managed to find a few somewhat active Django blog projects and among the ones I found Mingus seemed to be my best bet.

After a somewhat impulsive selection, I got right to work installing it locally. That was relatively easy, I just ran into one issue. Mingus has a dependency of Django-db-log which doesn’t seem to be an active project any longer and apparently doesn’t work right with Django 1.3.1. The Github project points to a successor but I didn’t try to implement it. Instead I opted to just remove the database logging functionality. I may regret it later, but I doubt it.

With the aforementioned tweak to the dependencies and some other fiddling it was up and running locally. Once that was established I got to work on ramping up with Heroku. I had never done anything with that platform before so I was starting from square one. Luckily they have an excellent getting started document which brought me up to speed in short order.

Despite the excellent getting started guide, I ran into the only significant snag in this whole project when I tried to deploy to Heroku. Apparently when running the script to install dependencies you can’t point to a Subversion repository and mark it as editable (with an “-e” flag). Heroku was returning “svn command not found.” Mercurial and Git were no problem however, so I ended up submitting a support ticket. It took a couple of day (I had to wait until Monday) to get a response, but with that flag removed it worked without problem.

In order to easily share the changes I made to the project I forked it on Github and the instructions below pull from that repository. For your reference the original repository can be found at Github.That’s enough background. Without further ado here are the instructions that should get Mingus deployed on Heroku for you. These assume you have some familiarity with virtualenv, pip and Heroku. It also assumes you have those installed as well as Python 2.7.

To get it running locally:

To install it at Heroku:

You should now have a Mingus installation running on Heroku. Congratulations!


Now read this

Privacy Jobs

If you think privacy is just the domain of lawyers and compliance professionals think again. As I’ve argued often on this blog, and as a speaker at dozens of various technology conferences, privacy is marching inexorably into the... Continue →