Deploying Arvados in Docker Containers ====================================== This file explains how to build and deploy Arvados servers in Docker containers, so that they can be run easily in different environments (a dedicated server, a developer's laptop, a virtual machine, etc). This is a work in progress; instructions will almost certainly be incomplete and possibly out of date. Prerequisites ------------- * Docker Docker is a Linux container management system based on LXC. It is a very young system but is being developed rapidly. [Installation packages](http://www.docker.io/gettingstarted/#h_installation) are available for several platforms. * Ruby (any version) * sudo privileges to run `debootstrap` Building -------- 1. Copy `config.yml.example` to `config.yml` and edit it with settings for your installation. 2. Run `make` to build the following Docker images: * arvados/api - the Arvados API server * arvados/doc - Arvados documentation * arvados/warehouse - Keep, the Arvados content-addressable filesystem * arvados/workbench - the Arvados console * arvados/sso - the Arvados single-signon authentication server You may also build Docker images for individual Arvados services: $ make api-image $ make doc-image $ make warehouse-image $ make workbench-image $ make sso-image Deploying --------- 1. Make sure the `ARVADOS_DNS_SERVER` has been provisioned with the following DNS entries, resolving to the appropriate IP addresses where each service will be deployed. * $API_HOSTNAME * keep0.$API_HOSTNAME * compute0.$API_HOSTNAME * controller.$API_HOSTNAME * workbench.$API_HOSTNAME 2. The `run.sh` script in this directory will start all Arvados servers on your machine.