diff --git a/src/datastore/DataStore.ts b/src/datastore/DataStore.ts index 2c5fdba..f9b7203 100644 --- a/src/datastore/DataStore.ts +++ b/src/datastore/DataStore.ts @@ -35,9 +35,11 @@ const DEFAULT_NGINX_CAPTAIN_CONFIG = fs let DEFAULT_NGINX_CONFIG_FOR_APP_PATH = __dirname + '/../../template/server-block-conf.ejs' -if (fs.pathExistsSync('/captain/data/server-block-conf-override.ejs')) { - DEFAULT_NGINX_CONFIG_FOR_APP_PATH = - '/captain/data/server-block-conf-override.ejs' +const SERVER_BLOCK_CONF_OVERRIDE_PATH = + CaptainConstants.captainDataDirectory + '/server-block-conf-override.ejs' + +if (fs.pathExistsSync(SERVER_BLOCK_CONF_OVERRIDE_PATH)) { + DEFAULT_NGINX_CONFIG_FOR_APP_PATH = SERVER_BLOCK_CONF_OVERRIDE_PATH } const DEFAULT_NGINX_CONFIG_FOR_APP = fs diff --git a/src/utils/CaptainConstants.ts b/src/utils/CaptainConstants.ts index ba3abeb..c365087 100644 --- a/src/utils/CaptainConstants.ts +++ b/src/utils/CaptainConstants.ts @@ -2,7 +2,7 @@ import fs = require('fs-extra') import path = require('path') import EnvVars from './EnvVars' -const CAPTAIN_BASE_DIRECTORY = '/captain' +const CAPTAIN_BASE_DIRECTORY = EnvVars.CAPTAIN_BASE_DIRECTORY || '/captain' const CAPTAIN_DATA_DIRECTORY = CAPTAIN_BASE_DIRECTORY + '/data' // data that sits here can be backed up const CAPTAIN_ROOT_DIRECTORY_TEMP = CAPTAIN_BASE_DIRECTORY + '/temp' const CAPTAIN_ROOT_DIRECTORY_GENERATED = CAPTAIN_BASE_DIRECTORY + '/generated' @@ -179,7 +179,7 @@ const data = { gitShaEnvVarKey: 'CAPROVER_GIT_COMMIT_SHA', } -function overrideFromFile(fileName: string) { +function overrideConfigFromFile(fileName: string) { const overridingValuesConfigs = fs.readJsonSync(fileName, { throws: false, }) @@ -198,9 +198,9 @@ function overrideFromFile(fileName: string) { } } -overrideFromFile(CONSTANT_FILE_OVERRIDE_BUILD) +overrideConfigFromFile(CONSTANT_FILE_OVERRIDE_BUILD) -overrideFromFile(CONSTANT_FILE_OVERRIDE_USER) +overrideConfigFromFile(CONSTANT_FILE_OVERRIDE_USER) if (data.isDebug) { const devDirectoryOnLocalMachine = fs diff --git a/src/utils/CaptainInstaller.ts b/src/utils/CaptainInstaller.ts index 6d89e1e..8381f3c 100644 --- a/src/utils/CaptainInstaller.ts +++ b/src/utils/CaptainInstaller.ts @@ -340,6 +340,13 @@ export function install() { }) } + if (EnvVar.CAPTAIN_BASE_DIRECTORY) { + env.push({ + key: EnvVar.keys.CAPTAIN_BASE_DIRECTORY, + value: EnvVar.CAPTAIN_BASE_DIRECTORY, + }) + } + const ports: IAppPort[] = [] let captainNameAndVersion = `${CaptainConstants.configs.publishedNameOnDockerHub}:${CaptainConstants.configs.version}` diff --git a/src/utils/EnvVars.ts b/src/utils/EnvVars.ts index 06e9f8d..c33d3dd 100644 --- a/src/utils/EnvVars.ts +++ b/src/utils/EnvVars.ts @@ -5,6 +5,7 @@ export default { DEFAULT_PASSWORD: 'DEFAULT_PASSWORD', IS_CAPTAIN_INSTANCE: 'IS_CAPTAIN_INSTANCE', DEMO_MODE_ADMIN_IP: 'DEMO_MODE_ADMIN_IP', + CAPTAIN_BASE_DIRECTORY: 'CAPTAIN_BASE_DIRECTORY', }, BY_PASS_PROXY_CHECK: process.env.BY_PASS_PROXY_CHECK, @@ -27,4 +28,6 @@ export default { CAPROVER_DISABLE_ANALYTICS: !!process.env.CAPROVER_DISABLE_ANALYTICS || !!process.env.DO_NOT_TRACK, + + CAPTAIN_BASE_DIRECTORY: process.env.CAPTAIN_BASE_DIRECTORY, }