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. See http://www.docker.io/gettingstarted/#h_installation for an installation package for your platform. * Ruby (any version) BUILDING -------- 1. Copy `config.yml.example' to `config.yml' and edit it with settings for your installation. 2. Run `./config.rb' to generate configuration files. 3. Run `./build.sh' to build the following Docker images: arvados/api - the Arvados API server arvados/keep - Keep, the Arvados content-addressable filesystem arvados/crunch - Crunch, a compute node for Arvados arvados/workbench - the Arvados console 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 compute0 controller git shell 2. Provision your Omniauth server with the APP_ID and APP_SECRET from api/omniauth.rb. 3. docker run -p 80:80 -p 443:443 arvados/api