Note
These instructions were written for the first Vumi workshop on the 21st of April 2013, right after the ScaleConf conference in Cape Town.
Spotted an error? Please feel free to contribute to the documentation.
If you're feeling particularly brave you can by all means set up Vumi from scratch on your local machine by cloning the GitHub repository and installing all the necessary packages.
However we would strongly recommend you use the VirtualBox image that's been ready made for the workshop in combination with Vagrant. It has all of the necessary dependencies already installed for you on an Ubuntu Precise machine image.
Ensure you have the latest versions of both Vagrant and VirtualBox installed before starting.
To add and start the vumi dev box do the following:
$ git clone git://github.com/praekelt/vumi.git
$ cd vumi
$ vagrant box add vumi ~/path/to/the/vumi-dev.box
$ vagrant up
When this completes you'll have a virtual machine running Ubuntu Precise 64 with the Vumi repository mounted at /var/praekelt/vumi
Log in to your machine with:
$ vagrant ssh
Now things will only get interesting once you can start interacting with them via your phone. Let's get the SMS and USSD transports set up:
$ cd /var/praekelt/vumi/
$ virtualenv ve
$ source ve/bin/activate
$ pip install -r requirements.pip
Grab a coffee while you're waiting for this to complete, it can take a while.
You should by now have received your username, password and tokens for https://go.vumi.org/ which you are going to federate with. This will allow you to receive USSD traffic right on your machine.
Complete the config file below with the details provided and save it in a file called `ussd_transport.yaml`:
./sample-ussd-transport.yaml
Next save the following bit in a file called supervisord.conf in the etc folder:
./sample-supervisord-hangman.conf
When that's done we can start things up:
$ supervisord -c etc/supervisord.conf
$ supervisorctl -c etc/supervisord.conf tail -f ussd_transport
Now dial the number that's associated with your conversation and you will be prompted with a game of hangman running from your local machine.
In the next section </intro/scaleconf03>
we'll be getting into application development, starting with Python and later moving on to Javascript.