--- layout: default navsection: installguide title: Installing with Docker ... {% include 'alert_docker' %} h2. Prerequisites: # A GNU/Linux (virtual) machine # A working Docker installation h2. Download the source tree
~$ cd $HOME # (or wherever you want to install)
~$ git clone https://github.com/curoverse/arvados.git
See also: "Downloading the source code":https://arvados.org/projects/arvados/wiki/Download on the Arvados wiki. h2. Building the Arvados Docker containers First we need a suitable @config.yml@ file.
~$ cd arvados/docker
~$ cp config.yml.example config.yml
Now it's time to edit the @config.yml@ file and fill in suitable values for at a minimum these parameters:
PUBLIC_KEY_PATH
API_HOSTNAME
API_AUTO_ADMIN_USER
h2. Running the Arvados Docker containers The @arvdock@ command can be used to start and stop the docker containers. It has a number of options:
~$ cd arvados/docker
~$ ./arvdock -h

usage: ./arvdock (start|stop|restart|test) [options]

./arvdock start/stop/restart options:
  -d [port], --doc[=port]        Documentation server (default port 9898)
  -w [port], --workbench[=port]  Workbench server (default port 9899)
  -s [port], --sso[=port]        SSO server (default port 9901)
  -a [port], --api[=port]        API server (default port 9900)
  -k, --keep                     Keep servers
  --ssh                          Enable SSH access to server containers
  -h, --help                     Display this help and exit

  If no options are given, the action is applied to all servers.

./arvdock test [testname] [testname] ...
  By default, all tests are run.

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. Start the docker containers:
~$ cd arvados/docker
~$ ./arvdock start
sso_server
Starting container:
  /usr/bin/docker.io run -d -i -t -p 9901:443 --name sso_server arvados/sso
api_server
Starting container:
  /usr/bin/docker.io run -d -i -t -p 9900:443 --name api_server --link sso_server:sso arvados/api
keep_server_0
Starting container:
  /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
keep_server_1
Starting container:
  /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
doc_server
Starting container:
  /usr/bin/docker.io run -d -i -t -p 9898:80 --name doc_server arvados/doc

*****************************************************************
You can access the Arvados documentation at http://localhost:9898
*****************************************************************

workbench_server
Starting container:
  /usr/bin/docker.io run -d -i -t -p 9899:80 --name workbench_server --link api_server:api arvados/workbench

*****************************************************************
You can access the Arvados workbench at http://localhost:9899
*****************************************************************
h2. Accessing workbench Point your browser to the Dockerized workbench:
https://localhost:9899
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.