3 navsection: installguide
4 title: Install download server
7 This installation guide assumes you are on a 64 bit Debian or Ubuntu system.
9 The keep-web server provides read-only HTTP access to files stored in Keep. It serves public data to anonymous and unauthenticated clients, and accepts authentication via Arvados tokens. It can be installed anywhere with access to Keep services, typically behind a web proxy that provides SSL support.
11 By convention, we use the following hostname for the download service:
14 table(table table-bordered table-condensed).
15 |dl.@uuid_prefix@.your.domain|
18 This hostname should resolve from anywhere on the internet.
22 First add the Arvados apt repository, and then install the keep-web package.
25 <pre><code>~$ <span class="userinput">echo "deb http://apt.arvados.org/ wheezy main" | sudo tee /etc/apt/sources.list.d/apt.arvados.org.list</span>
26 ~$ <span class="userinput">sudo /usr/bin/apt-key adv --keyserver pool.sks-keyservers.net --recv 1078ECD7</span>
27 ~$ <span class="userinput">sudo /usr/bin/apt-get update</span>
28 ~$ <span class="userinput">sudo /usr/bin/apt-get install keep-web</span>
32 Verify that @keep-web@ is functional:
35 <pre><code>~$ <span class="userinput">keep-web -h</span>
37 -address="0.0.0.0:80": Address to listen on, "host:port".
41 We recommend running @arv-git-httpd@ under "runit":https://packages.debian.org/search?keywords=runit or something similar.
43 Your @run@ script should look something like this:
46 <pre><code>export ARVADOS_API_HOST=<span class="userinput">uuid_prefix</span>.your.domain
47 exec sudo -u nobody keep-web -address=:9002 2>&1
51 h3. Set up a reverse proxy with SSL support
53 The keep-web service will be accessible from anywhere on the internet, so we recommend using SSL for transport encryption.
55 This is best achieved by putting a reverse proxy with SSL support in front of keep-web, running on port 443 and passing requests to keep-web on port 9002 (or whatever port you chose in your run script).
57 h3. Tell the API server about the keep-web service
59 In your API server's config/application.yml file, add the following entry:
62 <pre><code>keep-web: dl.<span class="userinput">uuid_prefix</span>.your.domain