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
.
- /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 sequencepun_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/ood.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. You can add multiple initializer files in this directory and they will be loaded in alphabetical order