Merge branch 'master' into 3118-docker-fixes
[arvados.git] / doc / install / install-docker.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Installing with Docker
5 ...
6
7 h2. Prerequisites:
8
9 # A GNU/Linux (virtual) machine
10 # A working Docker installation
11
12 h2. Download the source tree
13
14 <notextile>
15 <pre><code>~$ <span class="userinput">cd $HOME</span> # (or wherever you want to install)
16 ~$ <span class="userinput">git clone https://github.com/curoverse/arvados.git</span>
17 </code></pre></notextile>
18
19 See also: "Downloading the source code":https://arvados.org/projects/arvados/wiki/Download on the Arvados wiki.
20
21 h2. Building the Arvados Docker containers
22
23 First we need a suitable @config.yml@ file.
24
25 <notextile>
26 <pre><code>~$ <span class="userinput">cd arvados/docker</span>
27 ~$ <span class="userinput">cp config.yml.example config.yml</span>
28 </code></pre></notextile>
29
30 Now it's time to edit the @config.yml@ file and fill in suitable values for at a minimum these parameters:
31
32 <pre>
33 PUBLIC_KEY_PATH
34 API_HOSTNAME
35 API_AUTO_ADMIN_USER
36 </pre>
37
38 h2. Running the Arvados Docker containers
39
40 The @arvdock@ command can be used to start and stop the docker containers. It has a number of options:
41
42 <notextile>
43 <pre><code>~$ <span class="userinput">cd arvados/docker</span>
44 ~$ <span class="userinput">./arvdock -h</span>
45
46 usage: ./arvdock (start|stop|restart|test) [options]
47
48 ./arvdock start/stop/restart options:
49   -d [port], --doc[=port]        Documentation server (default port 9898)
50   -w [port], --workbench[=port]  Workbench server (default port 9899)
51   -s [port], --sso[=port]        SSO server (default port 9901)
52   -a [port], --api[=port]        API server (default port 9900)
53   -k, --keep                     Keep servers
54   --ssh                          Enable SSH access to server containers
55   -h, --help                     Display this help and exit
56
57   If no options are given, the action is applied to all servers.
58
59 ./arvdock test [testname] [testname] ...
60   By default, all tests are run.
61 </code>
62 </pre>
63 </notextile>
64
65 The @--ssh@ option can be useful to debug issues with the Docker containers; it allows you to ssh into the running containers as the @root@ user, provided you have access to the private key that matches the public key specified in @config.yml@'s PUBLIC_KEY_PATH variable.
66
67 Start the docker containers:
68
69 <notextile>
70 <pre><code>~$ <span class="userinput">cd arvados/docker</span>
71 ~$ <span class="userinput">./arvdock start</span>
72 sso_server
73 Starting container:
74   /usr/bin/docker.io run -d -i -t -p 9901:443 --name sso_server arvados/sso
75 api_server
76 Starting container:
77   /usr/bin/docker.io run -d -i -t -p 9900:443 --name api_server --link sso_server:sso arvados/api
78 keep_server_0
79 Starting container:
80   /usr/bin/docker.io run -d -i -t -p 25107:25107 --name keep_server_0 -v /tmp/tmp.aCSx8Pq6Wb:/dev/keep-0 --link api_server:api arvados/keep
81 keep_server_1
82 Starting container:
83   /usr/bin/docker.io run -d -i -t -p 25108:25107 --name keep_server_1 -v /tmp/tmp.m4OQ9WB73G:/dev/keep-0 --link api_server:api arvados/keep
84 doc_server
85 Starting container:
86   /usr/bin/docker.io run -d -i -t -p 9898:80 --name doc_server arvados/doc
87
88 *****************************************************************
89 You can access the Arvados documentation at http://localhost:9898
90 *****************************************************************
91
92 workbench_server
93 Starting container:
94   /usr/bin/docker.io run -d -i -t -p 9899:80 --name workbench_server --link api_server:api arvados/workbench
95
96 *****************************************************************
97 You can access the Arvados workbench at http://localhost:9899
98 *****************************************************************
99 </code></pre></notextile>
100
101 h2. Accessing workbench
102
103 Point your browser to the Dockerized workbench:
104
105 <notextile>
106 <pre><code><span class="userinput">https://localhost:9899</span>
107 </code></pre>
108 </notextile>
109
110 Now use the google account you specified as @API_AUTO_ADMIN_USER@ in @config.yml@ to log in. You will be prompted *twice* by your browser that you are accessing a site with an untrusted SSL certificate. This is normal; by default the Arvados Docker installation uses self-signed SSL certificates for the SSO and API servers, respectively.
111
112