Reorganizing documentation work in progress, checkpointing so that Brett can start...
[arvados.git] / doc / install / install-workbench-app.html.md.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Install the Arvados workbench application
5 navorder: 2
6 ...
7
8 {% include 'alert_stub' %}
9
10 # Workbench setup
11
12 ## Prerequisites
13
14 1. A GNU/linux (virtual) machine (can be shared with the API server)
15 2. A hostname for your workbench application
16
17 ## Download the source tree
18
19 Please follow the instructions on the [Download page](https://arvados.org/projects/arvados/wiki/Download) in the wiki.
20
21 The workbench application is in `apps/workbench`.
22
23 ## Configure the Workbench application
24
25 You need to update config/initializers/secret_token.rb. Generate a new secret with
26
27     rake secret
28
29 and put it in `config/initializers/secret_token.rb`
30
31     Server::Application.config.secret_token = 'your-new-secret-here'
32
33 Adjust the following fields in your `environments/production.rb` file.
34
35 * `config.site_name` can be the URL of your workbench install.
36 * `config.arvados_login_base` and `config.arvados_v1_base` should point to
37 your API server. Use the example values as a guide.
38 * If you choose not to use https, make sure to also set
39 `config.force_ssl = false` in the API server's `production.rb` file.
40
41 Copy `config/piwik.yml.example` to `config/piwik.yml` and edit to suit.
42
43 ## Apache/Passenger
44
45 Set up Apache and Passenger. Point them to the apps/workbench directory in the source tree.
46
47 ## "Trusted client" setting
48
49 Log in to Workbench once (this ensures that the Arvados API server has
50 a record of the Workbench client).
51
52 In the API server project root, start the rails console.
53
54     RAILS_ENV=production bundle exec rails c
55
56 Locate the ApiClient record for your Workbench installation.
57
58     ApiClient.where('url_prefix like ?', '%workbench%')
59
60 Set the `is_trusted` flag for the appropriate client record.
61
62     ApiClient.find(1234).update_attributes is_trusted: true
63