2020-06-23 13:30:48 -04:00
|
|
|
const settings = {
|
|
|
|
redis: {
|
2019-07-03 04:55:16 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
pubsub: {
|
|
|
|
host: process.env['PUBSUB_REDIS_HOST'] || process.env['REDIS_HOST'] || "localhost",
|
|
|
|
port: process.env['PUBSUB_REDIS_PORT'] || process.env['REDIS_PORT'] || "6379",
|
|
|
|
password: process.env["PUBSUB_REDIS_PASSWORD"] || process.env["REDIS_PASSWORD"] || "",
|
|
|
|
maxRetriesPerRequest: parseInt(process.env["PUBSUB_REDIS_MAX_RETRIES_PER_REQUEST"] || process.env["REDIS_MAX_RETRIES_PER_REQUEST"] || "20")
|
|
|
|
},
|
2019-07-03 04:55:16 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
realtime: {
|
|
|
|
host: process.env['REAL_TIME_REDIS_HOST'] || process.env['REDIS_HOST'] || "localhost",
|
|
|
|
port: process.env['REAL_TIME_REDIS_PORT'] || process.env['REDIS_PORT'] || "6379",
|
|
|
|
password: process.env["REAL_TIME_REDIS_PASSWORD"] || process.env["REDIS_PASSWORD"] || "",
|
|
|
|
key_schema: {
|
|
|
|
clientsInProject({project_id}) { return `clients_in_project:{${project_id}}`; },
|
|
|
|
connectedUser({project_id, client_id}){ return `connected_user:{${project_id}}:${client_id}`; }
|
|
|
|
},
|
|
|
|
maxRetriesPerRequest: parseInt(process.env["REAL_TIME_REDIS_MAX_RETRIES_PER_REQUEST"] || process.env["REDIS_MAX_RETRIES_PER_REQUEST"] || "20")
|
|
|
|
},
|
2017-05-02 10:51:17 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
documentupdater: {
|
|
|
|
host: process.env['DOC_UPDATER_REDIS_HOST'] || process.env['REDIS_HOST'] || "localhost",
|
|
|
|
port: process.env['DOC_UPDATER_REDIS_PORT'] || process.env['REDIS_PORT'] || "6379",
|
|
|
|
password: process.env["DOC_UPDATER_REDIS_PASSWORD"] || process.env["REDIS_PASSWORD"] || "",
|
|
|
|
key_schema: {
|
|
|
|
pendingUpdates({doc_id}) { return `PendingUpdates:{${doc_id}}`; }
|
|
|
|
},
|
|
|
|
maxRetriesPerRequest: parseInt(process.env["DOC_UPDATER_REDIS_MAX_RETRIES_PER_REQUEST"] || process.env["REDIS_MAX_RETRIES_PER_REQUEST"] || "20")
|
|
|
|
},
|
2017-05-10 10:52:35 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
websessions: {
|
|
|
|
host: process.env['WEB_REDIS_HOST'] || process.env['REDIS_HOST'] || "localhost",
|
|
|
|
port: process.env['WEB_REDIS_PORT'] || process.env['REDIS_PORT'] || "6379",
|
|
|
|
password: process.env["WEB_REDIS_PASSWORD"] || process.env["REDIS_PASSWORD"] || "",
|
|
|
|
maxRetriesPerRequest: parseInt(process.env["WEB_REDIS_MAX_RETRIES_PER_REQUEST"] || process.env["REDIS_MAX_RETRIES_PER_REQUEST"] || "20")
|
|
|
|
}
|
|
|
|
},
|
2017-05-10 10:52:35 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
internal: {
|
|
|
|
realTime: {
|
|
|
|
port: 3026,
|
|
|
|
host: process.env['LISTEN_ADDRESS'] || "localhost",
|
|
|
|
user: "sharelatex",
|
2015-03-03 12:15:19 -05:00
|
|
|
pass: "password"
|
2020-06-23 13:30:48 -04:00
|
|
|
}
|
|
|
|
},
|
2014-11-07 12:38:12 -05:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
apis: {
|
|
|
|
web: {
|
|
|
|
url: `http://${process.env['WEB_API_HOST'] || process.env['WEB_HOST'] || "localhost"}:${process.env['WEB_API_PORT'] || process.env['WEB_PORT'] || 3000}`,
|
|
|
|
user: process.env['WEB_API_USER'] || "sharelatex",
|
|
|
|
pass: process.env['WEB_API_PASSWORD'] || "password"
|
|
|
|
},
|
|
|
|
documentupdater: {
|
|
|
|
url: `http://${process.env['DOCUMENT_UPDATER_HOST'] || process.env['DOCUPDATER_HOST'] || "localhost"}:3003`
|
|
|
|
}
|
|
|
|
},
|
2014-11-10 06:27:08 -05:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
security: {
|
|
|
|
sessionSecret: process.env['SESSION_SECRET'] || "secret-please-change"
|
|
|
|
},
|
2014-11-07 12:38:12 -05:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
cookieName: process.env['COOKIE_NAME'] || "sharelatex.sid",
|
2015-12-01 06:05:49 -05:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
max_doc_length: 2 * 1024 * 1024, // 2mb
|
2018-12-04 09:06:39 -05:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
// combine
|
|
|
|
// max_doc_length (2mb see above) * 2 (delete + insert)
|
|
|
|
// max_ranges_size (3mb see MAX_RANGES_SIZE in document-updater)
|
|
|
|
// overhead for JSON serialization
|
|
|
|
maxUpdateSize: parseInt(process.env['MAX_UPDATE_SIZE']) || ((7 * 1024 * 1024) + (64 * 1024)),
|
2020-03-24 04:12:12 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
shutdownDrainTimeWindow: process.env['SHUTDOWN_DRAIN_TIME_WINDOW'] || 9,
|
2019-08-13 06:12:04 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
continualPubsubTraffic: process.env['CONTINUAL_PUBSUB_TRAFFIC'] || false,
|
2019-02-15 10:23:59 -05:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
checkEventOrder: process.env['CHECK_EVENT_ORDER'] || false,
|
2019-07-15 08:45:34 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
publishOnIndividualChannels: process.env['PUBLISH_ON_INDIVIDUAL_CHANNELS'] || false,
|
2019-07-18 07:40:14 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
statusCheckInterval: parseInt(process.env['STATUS_CHECK_INTERVAL'] || '0'),
|
2020-02-20 15:44:21 -05:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
sentry: {
|
2019-03-05 12:33:52 -05:00
|
|
|
dsn: process.env.SENTRY_DSN
|
2020-06-23 13:30:48 -04:00
|
|
|
},
|
2019-10-17 07:45:56 -04:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
errors: {
|
|
|
|
catchUncaughtErrors: true,
|
2019-10-17 07:45:56 -04:00
|
|
|
shutdownOnUncaughtError: true
|
2020-06-23 13:30:48 -04:00
|
|
|
}
|
|
|
|
};
|
2019-01-25 05:30:31 -05:00
|
|
|
|
2020-06-23 13:30:48 -04:00
|
|
|
// console.log settings.redis
|
|
|
|
module.exports = settings;
|