Take config from SHARELATEX_CONFIG env variable

This commit is contained in:
James Allen 2014-02-19 13:21:32 +00:00
parent 3133f85164
commit 6baf4ebe85
2 changed files with 26 additions and 4 deletions

View file

@ -0,0 +1,19 @@
settings-sharelatex
===================
A small module to allow global config settings to be set for all services
within the ShareLaTeX architecture.
Settings file location
----------------------
You can specify a custom location for the settings file by setting the
`SHARELATEX_CONFIG` environment variable. E.g.
$ export SHARELATEX_CONFIG=/home/james/config/settings.development.coffee
Otherwise, the settings will be loaded from `config/settings.NODE_ENV.coffee`,
where `NODE_ENV` is another evnironment variable, or defaults to `development`.
The config directory is first looked for in the current directory, and then relative
to the settings module directory.

View file

@ -2,10 +2,13 @@ fs = require "fs"
path = require "path" path = require "path"
env = (process.env.NODE_ENV or "development").toLowerCase() env = (process.env.NODE_ENV or "development").toLowerCase()
possibleConfigFiles = [ if process.env.SHARELATEX_CONFIG?
process.cwd() + "/config/settings.#{env}.coffee" possibleConfigFiles = [process.env.SHARELATEX_CONFIG]
path.normalize(__dirname + "/../../config/settings.#{env}.coffee") else
] possibleConfigFiles = [
process.cwd() + "/config/settings.#{env}.coffee"
path.normalize(__dirname + "/../../config/settings.#{env}.coffee")
]
for file in possibleConfigFiles for file in possibleConfigFiles
if fs.existsSync(file) if fs.existsSync(file)