Merge branch 'master' of git.clinicalfuture.com:arvados
[arvados.git] / docker / README
1 Deploying Arvados in Docker Containers
2 ======================================
3
4 This file explains how to build and deploy Arvados servers in Docker
5 containers, so that they can be run easily in different environments
6 (a dedicated server, a developer's laptop, a virtual machine,
7 etc).
8
9 This is a work in progress; instructions will almost certainly be
10 incomplete and possibly out of date.
11
12 PREREQUISITES
13 -------------
14
15 * Docker
16
17   Docker is a Linux container management system based on LXC. It is a
18   very young system but is being developed rapidly.  See
19   http://www.docker.io/gettingstarted/#h_installation for an
20   installation package for your platform.
21
22 * Ruby (any version)
23
24 BUILDING
25 --------
26
27 1. Copy `config.yml.example' to `config.yml' and edit it with settings
28    for your installation.
29
30 2. Run `./config.rb' to generate configuration files.
31
32 3. Run `./build.sh' to build the following Docker images:
33
34      arvados/api    - the Arvados API server
35      arvados/keep   - Keep, the Arvados content-addressable filesystem
36      arvados/crunch - Crunch, a compute node for Arvados
37      arvados/workbench - the Arvados console
38
39 DEPLOYING
40 ---------
41
42 1. Make sure the ARVADOS_DNS_SERVER has been provisioned with the
43    following DNS entries, resolving to the appropriate IP addresses
44    where each service will be deployed.
45
46    $API_HOSTNAME
47    keep0
48    compute0
49    controller
50    git
51    shell
52
53 2. Provision your Omniauth server with the APP_ID and
54    APP_SECRET from api/omniauth.rb.
55
56 3. docker run -p 80:80 -p 443:443 arvados/api