settings.defaults.coffee 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. Path = require('path')
  2. http = require('http')
  3. http.globalAgent.maxSockets = 300
  4. module.exports =
  5. internal:
  6. documentupdater:
  7. host: process.env["LISTEN_ADDRESS"] or "localhost"
  8. port: 3003
  9. apis:
  10. web:
  11. url: "http://#{process.env['WEB_API_HOST'] or process.env['WEB_HOST'] or "localhost"}:#{process.env['WEB_API_PORT'] or process.env['WEB_PORT'] or 3000}"
  12. user: process.env['WEB_API_USER'] or "sharelatex"
  13. pass: process.env['WEB_API_PASSWORD'] or "password"
  14. trackchanges:
  15. url: "http://#{process.env["TRACK_CHANGES_HOST"] or "localhost"}:3015"
  16. project_history:
  17. enabled: true
  18. url: "http://#{process.env["PROJECT_HISTORY_HOST"] or "localhost"}:3054"
  19. redis:
  20. pubsub:
  21. host: process.env['PUBSUB_REDIS_HOST'] or process.env['REDIS_HOST'] or "localhost"
  22. port: process.env['PUBSUB_REDIS_PORT'] or process.env['REDIS_PORT'] or "6379"
  23. password: process.env["PUBSUB_REDIS_PASSWORD"] or process.env["REDIS_PASSWORD"] or ""
  24. maxRetriesPerRequest: parseInt(process.env['REDIS_MAX_RETRIES_PER_REQUEST'] or "20")
  25. history:
  26. port: process.env["HISTORY_REDIS_PORT"] or process.env["REDIS_PORT"] or "6379"
  27. host: process.env["HISTORY_REDIS_HOST"] or process.env["REDIS_HOST"] or "localhost"
  28. password: process.env["HISTORY_REDIS_PASSWORD"] or process.env["REDIS_PASSWORD"] or ""
  29. maxRetriesPerRequest: parseInt(process.env['REDIS_MAX_RETRIES_PER_REQUEST'] or "20")
  30. key_schema:
  31. uncompressedHistoryOps: ({doc_id}) -> "UncompressedHistoryOps:{#{doc_id}}"
  32. docsWithHistoryOps: ({project_id}) -> "DocsWithHistoryOps:{#{project_id}}"
  33. project_history:
  34. port: process.env["HISTORY_REDIS_PORT"] or process.env["REDIS_PORT"] or "6379"
  35. host: process.env["HISTORY_REDIS_HOST"] or process.env["REDIS_HOST"] or "localhost"
  36. password: process.env["HISTORY_REDIS_PASSWORD"] or process.env["REDIS_PASSWORD"] or ""
  37. maxRetriesPerRequest: parseInt(process.env['REDIS_MAX_RETRIES_PER_REQUEST'] or "20")
  38. key_schema:
  39. projectHistoryOps: ({project_id}) -> "ProjectHistory:Ops:{#{project_id}}"
  40. projectHistoryFirstOpTimestamp: ({project_id}) -> "ProjectHistory:FirstOpTimestamp:{#{project_id}}"
  41. new_project_history:
  42. port: process.env["NEW_HISTORY_REDIS_PORT"] or "6379"
  43. host: process.env["NEW_HISTORY_REDIS_HOST"]
  44. password: process.env["NEW_HISTORY_REDIS_PASSWORD"] or ""
  45. key_schema:
  46. projectHistoryOps: ({project_id}) -> "ProjectHistory:Ops:{#{project_id}}"
  47. projectHistoryFirstOpTimestamp: ({project_id}) -> "ProjectHistory:FirstOpTimestamp:{#{project_id}}"
  48. projectHistoryMigrationKey: ({project_id}) -> "ProjectHistory:MigrationKey:{#{project_id}}"
  49. migration_phase: "prepare"
  50. redisOptions:
  51. keepAlive: 100
  52. lock:
  53. port: process.env["LOCK_REDIS_PORT"] or process.env["REDIS_PORT"] or "6379"
  54. host: process.env["LOCK_REDIS_HOST"] or process.env["REDIS_HOST"] or "localhost"
  55. password: process.env["LOCK_REDIS_PASSWORD"] or process.env["REDIS_PASSWORD"] or ""
  56. maxRetriesPerRequest: parseInt(process.env['REDIS_MAX_RETRIES_PER_REQUEST'] or "20")
  57. key_schema:
  58. blockingKey: ({doc_id}) -> "Blocking:{#{doc_id}}"
  59. documentupdater:
  60. port: process.env["DOC_UPDATER_REDIS_PORT"] or process.env["REDIS_PORT"] or "6379"
  61. host: process.env["DOC_UPDATER_REDIS_HOST"] or process.env["REDIS_HOST"] or "localhost"
  62. password: process.env["DOC_UPDATER_REDIS_PASSWORD"] or process.env["REDIS_PASSWORD"] or ""
  63. maxRetriesPerRequest: parseInt(process.env['REDIS_MAX_RETRIES_PER_REQUEST'] or "20")
  64. key_schema:
  65. blockingKey: ({doc_id}) -> "Blocking:{#{doc_id}}"
  66. docLines: ({doc_id}) -> "doclines:{#{doc_id}}"
  67. docOps: ({doc_id}) -> "DocOps:{#{doc_id}}"
  68. docVersion: ({doc_id}) -> "DocVersion:{#{doc_id}}"
  69. docHash: ({doc_id}) -> "DocHash:{#{doc_id}}"
  70. projectKey: ({doc_id}) -> "ProjectId:{#{doc_id}}"
  71. docsInProject: ({project_id}) -> "DocsIn:{#{project_id}}"
  72. ranges: ({doc_id}) -> "Ranges:{#{doc_id}}"
  73. unflushedTime: ({doc_id}) -> "UnflushedTime:{#{doc_id}}"
  74. pathname: ({doc_id}) -> "Pathname:{#{doc_id}}"
  75. projectHistoryId: ({doc_id}) -> "ProjectHistoryId:{#{doc_id}}"
  76. projectHistoryType: ({doc_id}) -> "ProjectHistoryType:{#{doc_id}}"
  77. projectState: ({project_id}) -> "ProjectState:{#{project_id}}"
  78. pendingUpdates: ({doc_id}) -> "PendingUpdates:{#{doc_id}}"
  79. lastUpdatedBy: ({doc_id}) -> "lastUpdatedBy:{#{doc_id}}"
  80. lastUpdatedAt: ({doc_id}) -> "lastUpdatedAt:{#{doc_id}}"
  81. pendingUpdates: ({doc_id}) -> "PendingUpdates:{#{doc_id}}"
  82. flushAndDeleteQueue: () -> "DocUpdaterFlushAndDeleteQueue"
  83. max_doc_length: 2 * 1024 * 1024 # 2mb
  84. dispatcherCount: process.env["DISPATCHER_COUNT"]
  85. mongo:
  86. url : process.env['MONGO_CONNECTION_STRING'] || "mongodb://#{process.env['MONGO_HOST'] or '127.0.0.1'}/sharelatex"
  87. sentry:
  88. dsn: process.env.SENTRY_DSN
  89. publishOnIndividualChannels: process.env['PUBLISH_ON_INDIVIDUAL_CHANNELS'] or false
  90. continuousBackgroundFlush: process.env['CONTINUOUS_BACKGROUND_FLUSH'] or false
  91. smoothingOffset: process.env['SMOOTHING_OFFSET'] or 1000 # milliseconds
  92. disableDoubleFlush: process.env['DISABLE_DOUBLE_FLUSH'] or false # don't flush track-changes for projects using project-history