settings.defaults.cjs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. module.exports = {
  2. mongo: {
  3. url:
  4. process.env.MONGO_CONNECTION_STRING ||
  5. `mongodb://${process.env.MONGO_HOST || '127.0.0.1'}/sharelatex`,
  6. options: {
  7. monitorCommands: true,
  8. },
  9. },
  10. internal: {
  11. history: {
  12. port: 3054,
  13. host: process.env.LISTEN_ADDRESS || '127.0.0.1',
  14. },
  15. },
  16. apis: {
  17. documentupdater: {
  18. url: `http://${process.env.DOCUPDATER_HOST || '127.0.0.1'}:3003`,
  19. },
  20. docstore: {
  21. url: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`,
  22. },
  23. filestore: {
  24. url: `http://${process.env.FILESTORE_HOST || '127.0.0.1'}:3009`,
  25. },
  26. history_v1: {
  27. requestTimeout: parseInt(process.env.V1_REQUEST_TIMEOUT || '300000', 10),
  28. },
  29. web: {
  30. url: `http://${
  31. process.env.WEB_API_HOST || process.env.WEB_HOST || '127.0.0.1'
  32. }:${process.env.WEB_PORT || 3000}`,
  33. user: process.env.WEB_API_USER || 'overleaf',
  34. pass: process.env.WEB_API_PASSWORD || 'password',
  35. historyIdCacheSize: parseInt(
  36. process.env.HISTORY_ID_CACHE_SIZE || '10000',
  37. 10
  38. ),
  39. },
  40. },
  41. redis: {
  42. lock: {
  43. host: process.env.REDIS_HOST || '127.0.0.1',
  44. password: process.env.REDIS_PASSWORD,
  45. port: process.env.REDIS_PORT || 6379,
  46. key_schema: {
  47. projectHistoryLock({ project_id: projectId }) {
  48. return `ProjectHistoryLock:{${projectId}}`
  49. },
  50. },
  51. },
  52. project_history: {
  53. host:
  54. process.env.HISTORY_REDIS_HOST || process.env.REDIS_HOST || '127.0.0.1',
  55. port: process.env.HISTORY_REDIS_PORT || process.env.REDIS_PORT || 6379,
  56. password:
  57. process.env.HISTORY_REDIS_PASSWORD || process.env.REDIS_PASSWORD,
  58. key_schema: {
  59. projectHistoryOps({ project_id: projectId }) {
  60. return `ProjectHistory:Ops:{${projectId}}`
  61. },
  62. projectHistoryFirstOpTimestamp({ project_id: projectId }) {
  63. return `ProjectHistory:FirstOpTimestamp:{${projectId}}`
  64. },
  65. projectHistoryCachedHistoryId({ project_id: projectId }) {
  66. return `ProjectHistory:CachedHistoryId:{${projectId}}`
  67. },
  68. },
  69. },
  70. },
  71. history: {
  72. healthCheck: {
  73. project_id: process.env.HEALTH_CHECK_PROJECT_ID || '',
  74. },
  75. },
  76. overleaf: {
  77. history: {
  78. host:
  79. process.env.V1_HISTORY_FULL_HOST ||
  80. `http://${
  81. process.env.V1_HISTORY_HOST ||
  82. process.env.HISTORY_V1_HOST ||
  83. '127.0.0.1'
  84. }:3100/api`,
  85. user: process.env.V1_HISTORY_USER || 'staging',
  86. pass: process.env.V1_HISTORY_PASSWORD || 'password',
  87. sync: {
  88. retries_max: 30,
  89. interval: 2,
  90. },
  91. },
  92. },
  93. path: {
  94. uploadFolder: process.env.UPLOAD_FOLDER || '/tmp/',
  95. },
  96. sentry: {
  97. dsn: process.env.SENTRY_DSN,
  98. },
  99. maxFileSizeInBytes: 100 * 1024 * 1024, // 100 megabytes
  100. }