3 navsection: installguide
4 title: Installing with Docker
9 # A GNU/Linux (virtual) machine
10 # A working Docker installation (see "Installing Docker":https://docs.docker.com/installation/)
12 h2. Download the source tree
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>
19 See also: "Downloading the source code":https://arvados.org/projects/arvados/wiki/Download on the Arvados wiki.
21 h2. Building the Arvados Docker containers
23 First of all, a suitable @config.yml@ file is needed.
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>
30 Edit the @config.yml@ file and fill in values for at a minimum these
40 Then build the docker containers (this will take a while):
44 ~$ <span class="userinput">./build.sh</span>
47 Step 9 : ADD apache2_foreground.sh /etc/apache2/foreground.sh
49 Step 10 : CMD ["/etc/apache2/foreground.sh"]
50 ---> Running in 82d59061ead8
52 Successfully built 72cee36a9281
53 Removing intermediate container 2bc8c98c83c7
54 Removing intermediate container 9457483a59cf
55 Removing intermediate container 7cc5723df67c
56 Removing intermediate container 5cb2cede73de
57 Removing intermediate container 0acc147a7f6d
58 Removing intermediate container 82d59061ead8
59 Removing intermediate container 9c022a467396
60 Removing intermediate container 16044441463f
61 Removing intermediate container cffbbddd82d1
63 </code></pre></notextile>
65 If all goes well, you should now have a number of docker images built:
68 <pre><code>~$ <span class="userinput">docker.io images</span>
69 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
70 arvados/sso latest 72cee36a9281 11 seconds ago 1.727 GB
71 arvados/keep latest c3842f856bcb 56 seconds ago 210.6 MB
72 arvados/workbench latest b91aa980597c About a minute ago 2.07 GB
73 arvados/doc latest 050e9e6b8213 About a minute ago 1.442 GB
74 arvados/api latest 79843d0a8997 About a minute ago 2.112 GB
75 arvados/passenger latest 2342a550da7f 2 minutes ago 1.658 GB
76 arvados/base latest 68caefd8ea5b 5 minutes ago 1.383 GB
77 arvados/debian 7.5 6e32119ffcd0 8 minutes ago 116.8 MB
78 arvados/debian latest 6e32119ffcd0 8 minutes ago 116.8 MB
79 arvados/debian wheezy 6e32119ffcd0 8 minutes ago 116.8 MB
80 </code></pre></notextile>
82 h2. Updating the Arvados Docker containers
84 If there has been an update to the Arvados Docker building code, it is safest to rebuild the Arvados Docker images from scratch. All build information can be cleared with the '--clean' option to build.sh:
87 <pre><code>~$ <span class="userinput">./build.sh --clean</span></code></pre>
90 You can also use '--realclean', which does what '--clean' does and in addition removes all Arvados Docker containers and images from your system.
93 <pre><code>~$ <span class="userinput">./build.sh --realclean</span></code></pre>
96 h2. Running the Arvados Docker containers
98 The @arvdock@ command can be used to start and stop the docker containers. It has a number of options:
102 ~$ <span class="userinput">./arvdock -h</span>
104 usage: ./arvdock (start|stop|restart|test) [options]
106 ./arvdock start/stop/restart options:
107 -d [port], --doc[=port] Documentation server (default port 9898)
108 -w [port], --workbench[=port] Workbench server (default port 9899)
109 -s [port], --sso[=port] SSO server (default port 9901)
110 -a [port], --api[=port] API server (default port 9900)
111 -k, --keep Keep servers
112 --ssh Enable SSH access to server containers
113 -h, --help Display this help and exit
115 If no options are given, the action is applied to all servers.
117 ./arvdock test [testname] [testname] ...
118 By default, all tests are run.
123 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.
125 Start the docker containers:
129 ~$ <span class="userinput">./arvdock start</span>
132 /usr/bin/docker.io run -d -i -t -p 9901:443 --name sso_server arvados/sso
135 /usr/bin/docker.io run -d -i -t -p 9900:443 --name api_server --link sso_server:sso arvados/api
138 /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
141 /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
144 /usr/bin/docker.io run -d -i -t -p 9898:80 --name doc_server arvados/doc
146 *****************************************************************
147 You can access the Arvados documentation at http://localhost:9898
148 *****************************************************************
152 /usr/bin/docker.io run -d -i -t -p 9899:80 --name workbench_server --link api_server:api arvados/workbench
154 *****************************************************************
155 You can access the Arvados workbench at http://localhost:9899
156 *****************************************************************
157 </code></pre></notextile>
159 h2. Accessing workbench
161 Point your browser to the Dockerized workbench:
164 <pre><code><span class="userinput">https://localhost:9899</span>
168 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.