--- layout: default navsection: installguide title: Install the Arvados Workbench application ... h2. Prerequisites # A GNU/linux (virtual) machine (can be shared with the API server) # A hostname for your Workbench application h2. Install dependencies If you haven't already installed the API server on the same host: * Install Ruby 2.1 and Bundler: see the "dependencies" and "Ruby" sections on the "API server installation page":install-api-server.html#dependencies for details. * Omit postgresql. Workbench doesn't need its own database. Install graphviz.
~$ sudo apt-get install graphviz
h2. Download the source tree
~$ cd $HOME # (or wherever you want to install)
~$ git clone https://github.com/curoverse/arvados.git
See also: "Downloading the source code":https://arvados.org/projects/arvados/wiki/Download on the Arvados wiki. The Workbench application is in @apps/workbench@ in the source tree. h2. Install gem dependencies
~$ cd arvados/apps/workbench
~/arvados/apps/workbench$ bundle install
Alternatively, if you don't have sudo/root privileges on the host, install the gems in your own directory instead of installing them system-wide:
~$ cd arvados/apps/workbench
~/arvados/apps/workbench$ bundle install --path=vendor/bundle
h2. Configure the Workbench application This application needs a secret token. Generate a new secret:
~/arvados/apps/workbench$ rake secret
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Copy @config/application.yml.example@ to @config/application.yml@ and edit it appropriately for your environment. * Set @secret_token@ to the string you generated with @rake secret@. * Point @arvados_login_base@ and @arvados_v1_base@ at your "API server":install-api-server.html * @site_name@ can be any string to identify this Workbench. * If the SSL certificate you use for development isn't signed by a CA, make sure @arvados_insecure_https@ is @true@. Copy @config/piwik.yml.example@ to @config/piwik.yml@ and edit to suit. h2. Start a standalone server For testing and development, the easiest way to get started is to run the web server that comes with Rails.
~/arvados/apps/workbench$ bundle exec rails server --port=3031
Point your browser to http://your.host:3031/. h2. Trusted client setting Log in to Workbench once to ensure that the Arvados API server has a record of the Workbench client. (It's OK if Workbench says your account hasn't been activated yet. We'll deal with that next.) In the API server project root, start the rails console. Locate the ApiClient record for your Workbench installation (typically, while you're setting this up, the @last@ one in the database is the one you want), then set the @is_trusted@ flag for the appropriate client record:
~/arvados/services/api$ bundle exec rails console
irb(main):001:0> wb = ApiClient.all.last; [wb.url_prefix, wb.created_at]
=> ["https://workbench.example.com/", Sat, 19 Apr 2014 03:35:12 UTC +00:00]
irb(main):002:0> include CurrentApiClient
=> true
irb(main):003:0> act_as_system_user do wb.update_attributes!(is_trusted: true) end
=> true
h2. Activate your own account Unless you already activated your account when installing the API server, the first time you log in to Workbench you will see a message that your account is awaiting activation. Activate your own account and give yourself administrator privileges by following the instructions in the "'Add an admin user' section of the API server install page":install-api-server.html#admin-user.