The machine booking system allows users of the ETH Zurich to book machines. It could be easily adjusted to support other institutions, with or without LDAP authentication.



Get mbs

git clone git://

Mirrors (all should be up-to-date):

  • git://
  • git://


To get mbs up and running, you need ruby and rails and the gems specified in the Gemfile. You may use rvm to assist you, like the following commandline:

rvm install ruby-1.8.7
rvm ruby-1.8.7
rvm gemset create mbs
rvm ruby-1.8.7@mbs
gem install bundler
cd mbs/
bundle install

Initialise Database

cd mbs
rake db:setup 

You can also use

rake bootstrap

to add some example data.


After mbs is up and running, you need to setup some basic data, before you can actually use it.


The authentication part is defined in app/controllers/application_controller.rb and currently bound to Nethz-LDAP-Authentication, but can easily be adopted to other systems.

The nethz method uses the input username and password and binds to (most reliable). If that succeeds, the username is copied into the database, to create an id.

Machines types

mbs is heavily focussed on machine types. So the first thing is to select admin => machine types => new machine type and create a new machine type with a number of associated machines.


Now you are ready to use mbs!


After you are authenticated, you can create bookings, select new booking.


The admin area is accessable for everybody, because everybody authenticated is trusted. It is reachable below /admin, but not linked, because it may confuse users.