--- 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 %} 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(#install_workbench). Install Workbench2 and dependencies Workbench2 does not require its own database. It is a set of html, javascript and css files that are served as static files from a web server like Nginx or Apache2. On a Debian-based system, install the following package:
~$ sudo apt-get install arvados-workbench2
On a Red Hat-based system, install the following package:
~$ sudo yum install arvados-workbench2
h2. Set up Web server For best performance, we recommend you use Nginx as your Web server to serve Workbench2. Workbench2 consists entirely of static files. To do that:
  1. Install Nginx
  2. Edit the http section of your Nginx configuration to serve Workbench2's files. You might add a block like the following, adding SSL and logging parameters to taste:

    server {
      listen       [your public IP address]:443 ssl;
      server_name  workbench2.uuid-prefix.your.domain;
    
      ssl on;
      ssl_certificate     /YOUR/PATH/TO/cert.pem;
      ssl_certificate_key /YOUR/PATH/TO/cert.key;
    
      index  index.html;
    
      # Workbench2 uses a call to /config.json to bootstrap itself and talk to the desired API server
      location /config.json {
        return 200 '{ "API_HOST": "uuid-prefix.your.domain" }';
      }
    
      location / {
        root      /var/www/arvados-workbench2/workbench2;
        index     index.html;
        try_files $uri $uri/ /index.html;
        if (-f $document_root/maintenance.html) {
          return 503;
        }
      }
    }
    
  3. Restart Nginx.
h2. Trusted client setting Log in to Workbench2 once to ensure that the Arvados API server has a record of the Workbench2 client. 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 Workbench2 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://workbench2.uuid_prefix.your.domain/", Sat, 20 Apr 2019 01:23:45 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