overleaf/services/track-changes/config/settings.defaults.js
2021-07-13 12:04:43 +01:00

90 lines
2.4 KiB
JavaScript
Executable file

const Path = require('path')
const TMP_DIR =
process.env.TMP_PATH || Path.resolve(Path.join(__dirname, '../../', 'tmp'))
module.exports = {
mongo: {
options: {
useUnifiedTopology:
(process.env.MONGO_USE_UNIFIED_TOPOLOGY || 'true') === 'true',
},
url:
process.env.MONGO_CONNECTION_STRING ||
`mongodb://${process.env.MONGO_HOST || 'localhost'}/sharelatex`,
},
internal: {
trackchanges: {
port: 3015,
host: process.env.LISTEN_ADDRESS || 'localhost',
},
},
apis: {
documentupdater: {
url: `http://${
process.env.DOCUMENT_UPDATER_HOST ||
process.env.DOCUPDATER_HOST ||
'localhost'
}:3003`,
},
docstore: {
url: `http://${process.env.DOCSTORE_HOST || 'localhost'}:3016`,
},
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',
},
},
redis: {
lock: {
host: process.env.REDIS_HOST || 'localhost',
port: process.env.REDIS_PORT || 6379,
password: process.env.REDIS_PASSWORD || '',
key_schema: {
historyLock({ doc_id: docId }) {
return `HistoryLock:{${docId}}`
},
historyIndexLock({ project_id: projectId }) {
return `HistoryIndexLock:{${projectId}}`
},
},
},
history: {
host: process.env.REDIS_HOST || 'localhost',
port: process.env.REDIS_PORT || 6379,
password: process.env.REDIS_PASSWORD || '',
key_schema: {
uncompressedHistoryOps({ doc_id: docId }) {
return `UncompressedHistoryOps:{${docId}}`
},
docsWithHistoryOps({ project_id: projectId }) {
return `DocsWithHistoryOps:{${projectId}}`
},
},
},
},
trackchanges: {
s3: {
key: process.env.AWS_ACCESS_KEY_ID,
secret: process.env.AWS_SECRET_ACCESS_KEY,
endpoint: process.env.AWS_S3_ENDPOINT,
pathStyle: process.env.AWS_S3_PATH_STYLE === 'true',
},
stores: {
doc_history: process.env.AWS_BUCKET,
},
continueOnError: process.env.TRACK_CHANGES_CONTINUE_ON_ERROR || false,
},
path: {
dumpFolder: Path.join(TMP_DIR, 'dumpFolder'),
},
sentry: {
dsn: process.env.SENTRY_DSN,
},
}