overleaf/services/real-time/config/settings.defaults.js

96 lines
3.6 KiB
JavaScript
Raw Normal View History

const settings = {
redis: {
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")
},
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")
},
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
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
internal: {
realTime: {
port: 3026,
host: process.env['LISTEN_ADDRESS'] || "localhost",
user: "sharelatex",
pass: "password"
}
},
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
security: {
sessionSecret: process.env['SESSION_SECRET'] || "secret-please-change"
},
cookieName: process.env['COOKIE_NAME'] || "sharelatex.sid",
2015-12-01 06:05:49 -05:00
max_doc_length: 2 * 1024 * 1024, // 2mb
2018-12-04 09:06:39 -05: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)),
shutdownDrainTimeWindow: process.env['SHUTDOWN_DRAIN_TIME_WINDOW'] || 9,
continualPubsubTraffic: process.env['CONTINUAL_PUBSUB_TRAFFIC'] || false,
checkEventOrder: process.env['CHECK_EVENT_ORDER'] || false,
publishOnIndividualChannels: process.env['PUBLISH_ON_INDIVIDUAL_CHANNELS'] || false,
statusCheckInterval: parseInt(process.env['STATUS_CHECK_INTERVAL'] || '0'),
sentry: {
2019-03-05 12:33:52 -05:00
dsn: process.env.SENTRY_DSN
},
errors: {
catchUncaughtErrors: true,
shutdownOnUncaughtError: true
}
};
2019-01-25 05:30:31 -05:00
// console.log settings.redis
module.exports = settings;