From: Ward Vandewege Date: Tue, 5 Nov 2019 20:20:50 +0000 (-0500) Subject: Add install documentation for Workbench2. X-Git-Tag: 2.0.0~137^2 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/56de379ae4a118adf1dc314378decb9bc6675386 Add install documentation for Workbench2. refs #15779 Arvados-DCO-1.1-Signed-off-by: Ward Vandewege --- diff --git a/doc/_config.yml b/doc/_config.yml index 344456d1f9..da7635c1f4 100644 --- a/doc/_config.yml +++ b/doc/_config.yml @@ -203,6 +203,7 @@ navbar: - User interface: - install/install-sso.html.textile.liquid - install/install-workbench-app.html.textile.liquid + - install/install-workbench2-app.html.textile.liquid - install/install-composer.html.textile.liquid - Additional services: - install/install-ws.html.textile.liquid diff --git a/doc/install/install-components.html.textile.liquid b/doc/install/install-components.html.textile.liquid index b21c4bd2b2..15fbe11622 100644 --- a/doc/install/install-components.html.textile.liquid +++ b/doc/install/install-components.html.textile.liquid @@ -17,7 +17,7 @@ table(table table-bordered table-condensed). |"Keep-balance":install-keep-balance.html |Storage cluster maintenance daemon responsible for moving blocks to their optimal server location, adjusting block replication levels, and trashing unreferenced blocks.|Required to free deleted data from underlying storage, and to ensure proper replication and block distribution (including support for storage classes).| |\3=. *User interface*| |"Single Sign On server":install-sso.html |Login server.|Required for web based login to Workbench.| -|"Workbench":install-workbench-app.html |Primary graphical user interface for working with file collections and running containers.|Optional. Depends on API server, SSO server, keep-web, websockets server.| +|"Workbench":install-workbench-app.html, "Workbench2":install-workbench2-app.html |Primary graphical user interface for working with file collections and running containers.|Optional. Depends on API server, SSO server, keep-web, websockets server.| |"Workflow Composer":install-composer.html |Graphical user interface for editing Common Workflow Language workflows.|Optional. Depends on git server (arv-git-httpd).| |\3=. *Additional services*| |"Websockets server":install-ws.html |Event distribution server.|Required to view streaming container logs in Workbench.| diff --git a/doc/install/install-workbench2-app.html.textile.liquid b/doc/install/install-workbench2-app.html.textile.liquid new file mode 100644 index 0000000000..6b94c8f2b3 --- /dev/null +++ b/doc/install/install-workbench2-app.html.textile.liquid @@ -0,0 +1,93 @@ +--- +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. + +
  3. 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;
    +    }
    +  }
    +}
    +
    +
  4. + +
  5. Restart Nginx.
  6. + +
+
+ +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
+
+