* Mention SSO server to documentation in README
[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 * sudo privileges to run `debootstrap'
25
26 BUILDING
27 --------
28
29 1. Copy `config.yml.example' to `config.yml' and edit it with settings
30    for your installation.
31
32 2. Run `make' to build the following Docker images:
33
34      arvados/api       - the Arvados API server
35      arvados/docserver - Arvados documentation
36      arvados/warehouse - Keep, the Arvados content-addressable filesystem
37      arvados/workbench - the Arvados console
38      arvados/sso       - the Arvados single-signon authentication server
39
40    You may also build Docker images for individual Arvados services:
41
42      make api-image
43      make docserver-image
44      make warehouse-image
45      make workbench-image
46      make sso-image
47
48 DEPLOYING
49 ---------
50
51 1. Make sure the ARVADOS_DNS_SERVER has been provisioned with the
52    following DNS entries, resolving to the appropriate IP addresses
53    where each service will be deployed.
54
55    $API_HOSTNAME
56    keep0.$API_HOSTNAME
57    compute0.$API_HOSTNAME
58    controller.$API_HOSTNAME
59    workbench.$API_HOSTNAME
60
61 2. Deploying API:
62    docker run -p 80:80 -p 443:443 arvados/api
63
64 3. Deploying Keep:
65    mkdir /tmp/keepfs
66    mount -t tmpfs -o size=512M tmpfs /tmp/keepfs
67    docker run -p 25107:25107 -v /tmp/keepfs:/dev/keep-0 arvados/warehouse
68