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.arvadosapi.com
+ {{ site.arvados_api_host }}
You should use your own domain instead of arvadosapi.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.
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