X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b2ce7e33ed99498a4c3c73a694068282e08c31e9..d5ba0e97f8522ba3ce6ad36edf099c661a43f6b7:/doc/install/install-api-server.md diff --git a/doc/install/install-api-server.md b/doc/install/install-api-server.md index 416a2f1a76..dbae3dac88 100644 --- a/doc/install/install-api-server.md +++ b/doc/install/install-api-server.md @@ -22,6 +22,7 @@ Please follow the instructions on the [Download page](https://arvados.org/projec First configure the database: + cd arvados/services/api cp config/database.yml.sample config/database.yml Edit database.yml to your liking and make sure the database and db user exist. @@ -33,34 +34,62 @@ Then set up omniauth: cp config/initializers/omniauth.rb.example config/initializers/omniauth.rb -Edit config/initializers/omniauth.rb. Choose an APP_SECRET and APP_ID. Also set -CUSTOM_PROVIDER_URL. +Edit config/initializers/omniauth.rb. Choose an *APP_SECRET* and *APP_ID*. Also set +*CUSTOM_PROVIDER_URL*. -Make sure your Omniauth provider knows about your APP_ID and APP_SECRET +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' + Finally, edit your environments/production.rb -file. Specifically, you want to make sure that +file. + +First, you want to make sure that config.uuid_prefix is set to a unique 5-digit hex string. You can replace the 'cfi-aws-0' string with a string of your choice to make that happen. -The config.uuid_prefix string is a unique identifier for your API server. It +The *config.uuid_prefix* string is a unique identifier for your API server. It also serves as the first part of the hostname for your API server, for instance - 9ujm1.orvosapi.com + {{ site.arvados_api_host }} + +You should use your own domain instead of arvadosapi.com -You should use your own domain instead of orvosapi.com +Second, unless you are running on AWS, you will want to change the definition of + + config.compute_node_nameservers + +If you know your nameservers and they are fixed, you can hardcode them, and +make sure to remove the code that tries to look them up from the AWS metadata: + + config.compute_node_nameservers = ['1.2.3.4','2.3.4.5','3.4.5.6'] + #require 'net/http' + #config.compute_node_nameservers = ['local', 'public'].collect do |iface| + # Net::HTTP.get(URI("http://169.254.169.254/latest/meta-data/#{iface}-ipv4")).match(/^[\d\.]+$/)[0] + #end << '172.16.0.23' ## Apache/Passenger Set up Apache and Passenger. Point them to the services/api directory in the source tree. +To enable streaming so users can monitor crunch jobs in real time, add +to your Apache configuration: + + PassengerBufferResponse off + ## Add an admin user Point browser to the API endpoint. Log in with a google account. @@ -69,7 +98,7 @@ In the rails console: Thread.current[:user] = User.find(1) Thread.current[:user].is_admin = true - User.find(1).update_attributes is_admin: true + User.find(1).update_attributes is_admin: true, is_active: true User.find(1).is_admin This should be @@ -80,6 +109,6 @@ This should be In rails console - a = ApiClient.new(owner:1); a.save! + a = ApiClient.new(owner_uuid:'0'); a.save! x = ApiClientAuthorization.new(api_client_id:a.id, user_id:1); x.save; x.api_token