settings.defaults.cjs 2.7 KB

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