odkbuild (formerly odkmaker) is a web-based service. Unless you mean to do development on it, just go to http://build.opendatakit.org to give it a try.
odkbuild is a Ruby Rack-based application. Everything it needs is kicked off by the config.ru Rackup file. We use shotgun
for local development and Phusion Passenger for staging and production deployment.
The project has one native dependency: Tokyo Tyrant. We use this as our datastore. You’ll have to build it natively for any system you want to run the server on. See http://fallabs.com/tokyotyrant/ for details.
Once you have that, all Rubygem dependencies are managed by Ruby Bundler. Make sure you have at least version 1.0.0 of Bundler installed (gem update --system && gem install bundler
if you don’t have it already), and then simply run bundle install
in the application root to resolve and install the appropriate dependencies.
Now that you have resolved all the appropriate dependencies, you’ll need to set up the configuration by copying config.yml.sample
to config.yml
. This file contains a number of secret keys and tokens, so be sure not to check it into source control once you put your own keys into it.
Next, you want to start up your databases. You’ll need to start four Tokyo Tyrant instances, one for each listing in the configuration file. If you’re working from a development environment, you can do this simply by running rake db:dev:start
, and rake db:dev:stop
to stop them again.
Finally, you’ll want to run bundle exec rackup config.ru
to start the server, or bundle exec shotgun config.ru
if you want the application to automatically detect your changes to source code and load them up when you refresh the app in your web browser.
If you’re running Build in a production environment, there are a couple of things that the application needs to build before it will run. Before first-run, and after each time you update with a new version, you’ll want to run rake deploy:build
. This will bundle all the assets the application needs for speed an ease of deployment.