navsection: installguide
title: Install Composer
...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
-Arvados Composer is a single-page javascript application for building Common Workflow Languge (CWL) Workflows.
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
-h2. Prerequisites
+Arvados Composer is a web-based javascript application for building Common Workflow Languge (CWL) Workflows.
-In addition to Arvados core services, Composer requires "Arvados hosted git repositories":install-arv-git-httpd.html which are used for storing workflow files.
+# "Install dependencies":#dependencies
+# "Update config.yml":#update-config
+# "Update Nginx configuration":#update-nginx
+# "Install arvados-composer":#install-packages
+# "Restart the API server and controller":#restart-api
+# "Confirm working installation":#confirm-working
-h2. Install
+h2(#dependencies). Install dependencies
-Composer may be installed on the same host as Workbench, or on a different host. Composer communicates directly with the Arvados API server. It does not require its own backend and should be served as a static file.
+In addition to Arvados core services, Composer requires "Arvados hosted git repositories":install-arv-git-httpd.html which are used for storing workflow files.
-On a Debian-based system, install the following package:
+h2(#configure). Update config.yml
-<notextile>
-<pre><code>~$ <span class="userinput">sudo apt-get install arvados-composer</span>
-</code></pre>
-</notextile>
-
-On a Red Hat-based system, install the following package:
+Edit @config.yml@ and set @Services.Composer.ExternalURL@ to the location from which it is served:
<notextile>
-<pre><code>~$ <span class="userinput">sudo yum install arvados-composer</span>
-</code></pre>
+<pre><code> Services:
+ Composer:
+ ExternalURL: <span class="userinput">https://workbench.CusterID.example.com/composer</span></code></pre>
</notextile>
-h2. Configure
+h2(#update-nginx). Update nginx configuration
-h3. composer.yml
+Composer may be served from the same host as Workbench. Composer communicates directly with the Arvados API server. It does not require its own backend and should be served as a static file.
-Edit @/etc/arvados/composer/composer.yml@ and set @apiEndPoint@ to your API server:
+Add the following @location@ sections to @/etc/nginx/conf.d/arvados-workbench.conf@ .
-<pre>
-apiEndPoint: https://zzzzz.arvadosapi.com
-</pre>
-
-h3. Nginx
+<notextile>
+<pre><code>server {
+ [...]
-Add Composer to your Nginx configuration. This example will host Composer at @/composer@.
+ location /composer {
+ root /var/www/arvados-composer;
+ index index.html;
+ }
-<pre>
-location /composer {
- root /var/www/arvados-composer
- index index.html
+ location /composer/composer.yml {
+ return 200 '{ "API_HOST": "<span class="userinput">ClusterID.example.com</span>" }';
+ }
}
-</pre>
+</code></pre>
+</notextile>
+
+{% assign arvados_component = 'arvados-composer' %}
+
+{% include 'install_packages' %}
-h3. Workbench link to composer
+{% include 'restart_api' %}
-Edit the workbench @application.yml@ and set @composer_url@ to the location from which it is served.
+h2(#confirm-working). Confirm working installation
-<pre>
-production:
- composer_url: 'https://workbench.zzzzz.arvadosapi.com/composer'
-</pre>
+Visit @https://workbench.ClusterID.example.com/composer@ in a browser. You should be able to log in using the login method you configured previously.