mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-16 02:52:31 -04:00
95 lines
3.6 KiB
JavaScript
95 lines
3.6 KiB
JavaScript
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")
|
|
},
|
|
|
|
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")
|
|
}
|
|
},
|
|
|
|
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`
|
|
}
|
|
},
|
|
|
|
security: {
|
|
sessionSecret: process.env['SESSION_SECRET'] || "secret-please-change"
|
|
},
|
|
|
|
cookieName: process.env['COOKIE_NAME'] || "sharelatex.sid",
|
|
|
|
max_doc_length: 2 * 1024 * 1024, // 2mb
|
|
|
|
// 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: {
|
|
dsn: process.env.SENTRY_DSN
|
|
},
|
|
|
|
errors: {
|
|
catchUncaughtErrors: true,
|
|
shutdownOnUncaughtError: true
|
|
}
|
|
};
|
|
|
|
// console.log settings.redis
|
|
module.exports = settings;
|