1. A GNU/Linux (virtual) machine
2. A domain name for your api server
3. Ruby >= 2.0.0
-4. Bundler
+4. Bundler: `gem install bundler`
+5. Curl libraries: `sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev`
## Download the source tree
git clone https://github.com/curoverse/arvados.git
+ cd arvados
See also: [Downloading the source code](https://arvados.org/projects/arvados/wiki/Download) on the Arvados wiki.
-## Configure the API server
+## Install gem dependencies
-First install the gems:
+ cd services/api && bundle install
- cd arvados/services/api
- bundle install
+## Configure the API server
-Next, configure the database:
+Configure the database:
cp -i config/database.yml.sample config/database.yml
-Edit `database.yml` to your liking and make sure the database and db user exist.
-Then set up the database:
+Edit `config/database.yml` to your liking and make sure the database
+and db user exist. Then set up the database:
- RAILS_ENV=production rake db:setup
+ RAILS_ENV=production bundle exec rake db:setup
Then set up omniauth:
Make sure your Omniauth provider knows about your *APP_ID* and *APP_SECRET*
combination.
-You also need to update `config/initializers/secret_token.rb`.
-Generate a new secret with
-
- rake secret
-
-and put it in `config/initializers/secret_token.rb`:
-
- Server::Application.config.secret_token = 'your-new-secret-here'
+Edit the main configuration.
-Edit the main configuration:
+ cp -i config/application.yml.example config/application.yml
- cp -i config/config.yml.example config/config.yml
+First, choose a unique 5-character alphanumeric string to use as your
+`uuid_prefix`. An example is given that generates a 5-character string
+based on a hash of your hostname. The `uuid_prefix` is a unique
+identifier for your API server. It also serves as the first part of
+the hostname for your API server:
-First, you want to make sure that
+ {{ site.arvados_api_host }}
- uuid_prefix
+For a development site, use your own domain instead of arvadosapi.com.
-is set to a unique 5-character alphanumeric string. An example is
-given that generates a 5-character string based on a hash of your
-hostname.
+You also need to install a secret_token for signing cookies. Generate
+a new secret:
-The `uuid_prefix` is a unique identifier for your API server. It also
-serves as the first part of the hostname for your API server, for
-instance
+ rake secret
- {{ site.arvados_api_host }}
+Put it in `config/application.yml` in the production or common section:
-For a development site, use your own domain instead of arvadosapi.com.
+ secret_token: your-new-secret-here
You will also want to change `compute_node_nameservers` to suit your
environment.
-Consult `config.defaults.yml` for a full list of configuration
-options. Always put your local configuration in `config.yml` instead
-of editing `config.defaults.yml`.
+Consult `application.default.yml` for a full list of configuration
+options. Always put your local configuration in `application.yml`
+instead of editing `application.default.yml`.
## Apache/Passenger