--- layout: default navsection: installguide title: Install Workbench2 (beta) ... {% comment %} Copyright (C) The Arvados Authors. All rights reserved. SPDX-License-Identifier: CC-BY-SA-3.0 {% endcomment %} # "Update config.yml":#update-config # "Update Nginx configuration":#update-nginx # "Install arvados-workbench2":#install-packages # "Restart the API server and controller":#restart-api # "Confirm working installation":#confirm-working # "Trusted client setting":#trusted_client Workbench2 is the web-based user interface for Arvados. {% include 'notebox_begin' %} Workbench2 is the replacement for Arvados Workbench. Workbench2 is currently in beta, it is not yet feature complete. {% include 'notebox_end' %} h2(#configure). Update config.yml Edit @/etc/arvados/config.yml@ to set the keys below. The full set of configuration options are in the "Workbench section of config.yml":{{site.baseurl}}/admin/config.html
    Services:
      Workbench2:
        ExternalURL: "https://workbench2.ClusterID.example.com"
h2(#update-nginx). Update Nginx configuration Workbench2 does not require its own database. It is a set of html, javascript and css files that are served as static files from Nginx. Use a text editor to create a new file @/etc/nginx/conf.d/arvados-workbench2.conf@ with the following configuration. Options that need attention are marked with "TODO".
server {
    listen       80;
    server_name  workbench2.ClusterID.example.com;
    return 301   https://workbench2.ClusterID.example.com$request_uri;
}

server {
  listen       *:443 ssl;
  server_name  workbench2.ClusterID.example.com;

  ssl on;
  ssl_certificate     /TODO/YOUR/PATH/TO/cert.pem;
  ssl_certificate_key /TODO/YOUR/PATH/TO/cert.key;

  index  index.html;

  # TODO: Workbench2 uses a call to /config.json to bootstrap itself
  # and find out where to contact the API server.
  location /config.json {
    return 200 '{ "API_HOST": "ClusterID.example.com" }';
  }

  location / {
    root      /var/www/arvados-workbench2/workbench2;
    index     index.html;
    try_files $uri $uri/ /index.html;
    if (-f $document_root/maintenance.html) {
      return 503;
    }
  }
}
h2. Vocabulary configuration (optional) Workbench2 can load a vocabulary file which lists available metadata properties for groups and collections. To configure the property vocabulary definition, please visit the "Workbench2 Vocabulary Format":{{site.baseurl}}/admin/workbench2-vocabulary.html page in the Admin section. {% assign arvados_component = 'arvados-workbench2' %} {% include 'install_packages' %} {% include 'restart_api' %} h2(#confirm-working). Confirm working installation Visit @https://workbench2.ClusterID.example.com@ in a browser. You should be able to log in using the login method you configured in the previous step. If @Users.AutoAdminFirstUser@ is true, you will be an admin user. h2(#trusted_client). Trusted client flag 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. {% include 'install_rails_command' %} At the console, enter the following commands to 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:
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