settings.defaults.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. const Path = require('path')
  2. const TMP_DIR =
  3. process.env.TMP_PATH || Path.resolve(Path.join(__dirname, '../../', 'tmp'))
  4. module.exports = {
  5. mongo: {
  6. options: {
  7. useUnifiedTopology:
  8. (process.env.MONGO_USE_UNIFIED_TOPOLOGY || 'true') === 'true',
  9. },
  10. url:
  11. process.env.MONGO_CONNECTION_STRING ||
  12. `mongodb://${process.env.MONGO_HOST || 'localhost'}/sharelatex`,
  13. },
  14. internal: {
  15. trackchanges: {
  16. port: 3015,
  17. host: process.env.LISTEN_ADDRESS || 'localhost',
  18. },
  19. },
  20. apis: {
  21. documentupdater: {
  22. url: `http://${
  23. process.env.DOCUMENT_UPDATER_HOST ||
  24. process.env.DOCUPDATER_HOST ||
  25. 'localhost'
  26. }:3003`,
  27. },
  28. docstore: {
  29. url: `http://${process.env.DOCSTORE_HOST || 'localhost'}:3016`,
  30. },
  31. web: {
  32. url: `http://${
  33. process.env.WEB_API_HOST || process.env.WEB_HOST || 'localhost'
  34. }:${process.env.WEB_API_PORT || process.env.WEB_PORT || 3000}`,
  35. user: process.env.WEB_API_USER || 'sharelatex',
  36. pass: process.env.WEB_API_PASSWORD || 'password',
  37. },
  38. },
  39. redis: {
  40. lock: {
  41. host: process.env.REDIS_HOST || 'localhost',
  42. port: process.env.REDIS_PORT || 6379,
  43. password: process.env.REDIS_PASSWORD || '',
  44. key_schema: {
  45. historyLock({ doc_id: docId }) {
  46. return `HistoryLock:{${docId}}`
  47. },
  48. historyIndexLock({ project_id: projectId }) {
  49. return `HistoryIndexLock:{${projectId}}`
  50. },
  51. },
  52. },
  53. history: {
  54. host: process.env.REDIS_HOST || 'localhost',
  55. port: process.env.REDIS_PORT || 6379,
  56. password: process.env.REDIS_PASSWORD || '',
  57. key_schema: {
  58. uncompressedHistoryOps({ doc_id: docId }) {
  59. return `UncompressedHistoryOps:{${docId}}`
  60. },
  61. docsWithHistoryOps({ project_id: projectId }) {
  62. return `DocsWithHistoryOps:{${projectId}}`
  63. },
  64. },
  65. },
  66. },
  67. trackchanges: {
  68. s3: {
  69. key: process.env.AWS_ACCESS_KEY_ID,
  70. secret: process.env.AWS_SECRET_ACCESS_KEY,
  71. endpoint: process.env.AWS_S3_ENDPOINT,
  72. pathStyle: process.env.AWS_S3_PATH_STYLE === 'true',
  73. },
  74. stores: {
  75. doc_history: process.env.AWS_BUCKET,
  76. },
  77. continueOnError: process.env.TRACK_CHANGES_CONTINUE_ON_ERROR || false,
  78. },
  79. path: {
  80. dumpFolder: Path.join(TMP_DIR, 'dumpFolder'),
  81. },
  82. sentry: {
  83. dsn: process.env.SENTRY_DSN,
  84. },
  85. }