Merge branch '15397-remove-obsolete-apis'
[arvados.git] / doc / install / arvbox.html.textile.liquid
index 2d94d32ac5edbb844eaa9dca37c18d49aef7a689..7265e2d5ccad5308195537a95e8eb675fa19ba9c 100644 (file)
@@ -11,73 +11,99 @@ SPDX-License-Identifier: CC-BY-SA-3.0
 
 Arvbox is a Docker-based self-contained development, demonstration and testing environment for Arvados.  It is not intended for production use.
 
+h2. Requirements
+
+* Linux 3.x+ and Docker 1.10+
+* Minimum of 4 GiB of RAM  + additional memory to run jobs
+* Minimum of 4 GiB of disk + storage for actual data
+
 h2. Quick start
 
-<pre>
-$ git clone https://github.com/curoverse/arvados.git
-$ cd arvados/tools/arvbox/bin
-$ ./arvbox start localdemo
-</pre>
+{% include 'branchname' %}
 
-h2. Requirements
+<notextile>
+<pre><code>$ <span class="userinput">curl -O <a href="https://git.arvados.org/arvados.git/blob_plain/refs/heads/{{branchname}}:/tools/arvbox/bin/arvbox">https://git.arvados.org/arvados.git/blob_plain/refs/heads/{{branchname}}:/tools/arvbox/bin/arvbox</a></span>
+$ <span class="userinput">chmod +x arvbox</span>
+$ <span class="userinput">./arvbox start localdemo</span>
 
-* Linux 3.x+ and Docker 1.9+
-* Minimum of 3 GiB of RAM  + additional memory to run jobs
-* Minimum of 3 GiB of disk + storage for actual data
+Arvados-in-a-box starting
 
-h2. Usage
+Waiting for workbench2 websockets workbench webshell keep-web controller keepproxy api keepstore1 keepstore0 sdk vm ...
 
-<pre>
-$ arvbox
-Arvados-in-a-box                      http://arvados.org
-
-start|run <config> [tag]  start arvbox container
-stop       stop arvbox container
-restart <config>  stop, then run again
-status     print some information about current arvbox
-ip         print arvbox docker container ip address
-host       print arvbox published host
-shell      enter arvbox shell
-open       open arvbox workbench in a web browser
-root-cert  get copy of root certificate
-update  <config> stop, pull latest image, run
-build   <config> build arvbox Docker image
-reboot  <config> stop, build arvbox Docker image, run
-rebuild <config> build arvbox Docker image, no layer cache
-reset      delete arvbox arvados data (be careful!)
-destroy    delete all arvbox code and data (be careful!)
-log <service> tail log of specified service
-ls <options>  list directories inside arvbox
-cat <files>   get contents of files inside arvbox
-pipe       run a bash script piped in from stdin
-sv <start|stop|restart> <service> change state of service inside arvbox
-clone <from> <to>   clone an arvbox
-</pre>
+...
+
+Your Arvados-in-a-box is ready!
+
+$ <span class="userinput">./arvbox adduser demouser demo@example.com</span>
+Password for demouser:
+Added demouser
+</code></pre>
+</notextile>
 
-h2. Install root certificate
+You will then need to "install the arvbox root certificate":#root-cert .  After that, you can now log in to Workbench as @demouser@ with the password you selected.
+
+h2(#root-cert). Install root certificate
 
 Arvbox creates root certificate to authorize Arvbox services.  Installing the root certificate into your web browser will prevent security errors when accessing Arvbox services with your web browser.  Every  Arvbox instance generates a new root signing key.
 
-# Export the certificate using @arvbox root-cert@
-# Go to the certificate manager in your browser.
-#* In Chrome, this can be found under "Settings &rarr; Advanced &rarr; Manage Certificates" or by entering @chrome://settings/certificates@ in the URL bar.
-#* In Firefox, this can be found under "Preferences &rarr; Privacy & Security" or entering @about:preferences#privacy@ in the URL bar and then choosing "View Certificates...".
-# Select the "Authorities" tab, then press the "Import" button.  Choose @arvbox-root-cert.pem@
+Export the root certificate with this command:
 
-The certificate will be added under the "Arvados testing" organization as "arvbox testing root CA".
+<pre>
+$ ./arvbox root-cert
+Certificate copied to /home/ubuntu/arvbox-root-cert.crt
+</pre>
 
-To access your Arvbox instance using command line clients (such as arv-get and arv-put) without security errors, install the certificate into the OS certificate storage (instructions for Debian/Ubuntu):
+{% assign ca_cert_name = 'arvbox-root-cert.crt' %}
 
-# copy @arvbox-root-cert.pem@ to @/usr/local/share/ca-certificates/@
-# run @/usr/sbin/update-ca-certificates@
+{% include 'install_ca_cert' %}
+
+h2. Usage
+
+<pre>
+$ arvbox
+Arvados-in-a-box             https://doc.arvados.org/install/arvbox.html
+
+start|run <config> [tag]   start arvbox container
+stop               stop arvbox container
+restart <config>   stop, then run again
+status             print some information about current arvbox
+ip                 print arvbox docker container ip address
+host               print arvbox published host
+shell              enter shell as root
+ashell             enter shell as 'arvbox'
+psql               enter postgres console
+open               open arvbox workbench in a web browser
+root-cert          get copy of root certificate
+update  <config>   stop, pull latest image, run
+build   <config>   build arvbox Docker image
+reboot  <config>   stop, build arvbox Docker image, run
+rebuild <config>   build arvbox Docker image, no layer cache
+checkpoint         create database backup
+restore            restore checkpoint
+hotreset           reset database and restart API without restarting container
+reset              delete arvbox arvados data (be careful!)
+destroy            delete all arvbox code and data (be careful!)
+log <service>      tail log of specified service
+ls <options>       list directories inside arvbox
+cat <files>        get contents of files inside arvbox
+pipe               run a bash script piped in from stdin
+sv <start|stop|restart> <service>
+                   change state of service inside arvbox
+clone <from> <to>  clone dev arvbox
+adduser <username> <email> [password]
+                   add a user login
+removeuser <username>
+                   remove user login
+listusers          list user logins
+</pre>
 
 h2. Configs
 
 h3. dev
 
-Development configuration.  Boots a complete Arvados environment inside the container.  The "arvados", "arvado-dev" and "sso-devise-omniauth-provider" code directories along data directories "postgres", "var", "passenger" and "gems" are bind mounted from the host file system for easy access and persistence across container rebuilds.  Services are bound to the Docker container's network IP address and can only be accessed on the local host.
+Development configuration.  Boots a complete Arvados environment inside the container.  The "arvados" and "arvados-dev" code directories along data directories "postgres", "var", "passenger" and "gems" are bind mounted from the host file system for easy access and persistence across container rebuilds.  Services are bound to the Docker container's network IP address and can only be accessed on the local host.
 
-In "dev" mode, you can override the default autogenerated settings of Rails projects by adding "application.yml.override" to any Rails project (sso, api, workbench).  This can be used to test out API server settings or point Workbench at an alternate API server.
+In "dev" mode, you can override the default autogenerated settings of Rails projects by adding "application.yml.override" to any Rails project (api, workbench).  This can be used to test out API server settings or point Workbench at an alternate API server.
 
 h3. localdemo
 
@@ -85,7 +111,11 @@ Demo configuration.  Boots a complete Arvados environment inside the container.
 
 h3. test
 
-Run the test suite.
+Starts postgres and initializes the API server, then runs the Arvados test suite.  Will pass command line arguments to test runner.  Supports test runner interactive mode.
+
+h3. devenv
+
+Starts a minimal container with no services and the host's $HOME bind mounted inside the container, then enters an interactive login shell.  Intended to make it convenient to use tools installed in arvbox that don't require services.
 
 h3. publicdev
 
@@ -127,11 +157,6 @@ h3. ARVADOS_DEV_ROOT
 The root directory of the Arvados-dev source tree
 default: $ARVBOX_DATA/arvados-dev
 
-h3. SSO_ROOT
-
-The root directory of the SSO source tree
-default: $ARVBOX_DATA/sso-devise-omniauth-provider
-
 h3. ARVBOX_PUBLISH_IP
 
 The IP address on which to publish services when running in public configuration.  Overrides default detection of the host's IP address.