Customization Overview

OnDemand’s configuration is stored in the environment, which can be modified using a hierarchy of config files. Configuration files are rooted in /etc/ood. Assets that should be publicly available (such as a favicon or logo image) are placed under /var/www/ood/public.

Table 1 Config Files
File Purpose Notes
/etc/ood/profile If exists, this file is sourced instead of the default at /opt/ood/nginx_stage/etc/profile by /opt/ood/nginx_stage/sbin/nginx_stage script when running as root, prior to launching the PUN. You should source /opt/ood/nginx_stage/etc/profile in your custom /etc/ood/profile if you add one to load the correct software collections.
/etc/ood/config/nginx_stage.yml YAML file to override default configuration for the PUN. You can set environment variables via key-value pairs in the mapping pun_custom_env. You can specify a list of environment variables set in /etc/ood/profile to pass through to the PUN by defining the sequence pun_custom_env_declarations. An example of both of these uses may be found in nginx_stage_example.yml. Variables set here are set for all OnDemand applications.
/etc/ood/config/apps/$APP/env Used to provide application specific config env files do not override values set by prior methods.
/etc/ood/config/apps/$APP/initializers/$SOMETHING.rb Modify Rails application behavior using Ruby code. Since this is application code environment variables can be set, removed. This method is specific to Ruby on Rails applications: Activejobs, Dashboard, File Editor, and Job Composer.