Add support to read config from environment variable

Try to read app config from the "INVIDIOUS_CONFIG" environment variable.
If the variable is undefined, read config from config.yml file as before.

Required by https://github.com/omarroth/invidious/pull/1015 et al.
This commit is contained in:
Leon Klingele 2020-02-04 15:50:28 +01:00
parent 9841f74adc
commit e3c10d779d
No known key found for this signature in database
GPG key ID: 0C8AF48831EEC211

View file

@ -28,8 +28,11 @@ require "protodec/utils"
require "./invidious/helpers/*" require "./invidious/helpers/*"
require "./invidious/*" require "./invidious/*"
CONFIG = Config.from_yaml(File.read("config/config.yml")) ENV_CONFIG_NAME = "INVIDIOUS_CONFIG"
HMAC_KEY = CONFIG.hmac_key || Random::Secure.hex(32)
CONFIG_STR = ENV.has_key?(ENV_CONFIG_NAME) ? ENV.fetch(ENV_CONFIG_NAME) : File.read("config/config.yml")
CONFIG = Config.from_yaml(CONFIG_STR)
HMAC_KEY = CONFIG.hmac_key || Random::Secure.hex(32)
PG_URL = URI.new( PG_URL = URI.new(
scheme: "postgres", scheme: "postgres",