settings.defaults.coffee 4.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. lock:
  42. port: process.env["LOCK_REDIS_PORT"] or process.env["REDIS_PORT"] or "6379"
  43. host: process.env["LOCK_REDIS_HOST"] or process.env["REDIS_HOST"] or "localhost"
  44. password: process.env["LOCK_REDIS_PASSWORD"] or process.env["REDIS_PASSWORD"] or ""
  45. maxRetriesPerRequest: parseInt(process.env['REDIS_MAX_RETRIES_PER_REQUEST'] or "20")
  46. key_schema:
  47. blockingKey: ({doc_id}) -> "Blocking:{#{doc_id}}"
  48. documentupdater:
  49. port: process.env["DOC_UPDATER_REDIS_PORT"] or process.env["REDIS_PORT"] or "6379"
  50. host: process.env["DOC_UPDATER_REDIS_HOST"] or process.env["REDIS_HOST"] or "localhost"
  51. password: process.env["DOC_UPDATER_REDIS_PASSWORD"] or process.env["REDIS_PASSWORD"] or ""
  52. maxRetriesPerRequest: parseInt(process.env['REDIS_MAX_RETRIES_PER_REQUEST'] or "20")
  53. key_schema:
  54. blockingKey: ({doc_id}) -> "Blocking:{#{doc_id}}"
  55. docLines: ({doc_id}) -> "doclines:{#{doc_id}}"
  56. docOps: ({doc_id}) -> "DocOps:{#{doc_id}}"
  57. docVersion: ({doc_id}) -> "DocVersion:{#{doc_id}}"
  58. docHash: ({doc_id}) -> "DocHash:{#{doc_id}}"
  59. projectKey: ({doc_id}) -> "ProjectId:{#{doc_id}}"
  60. docsInProject: ({project_id}) -> "DocsIn:{#{project_id}}"
  61. ranges: ({doc_id}) -> "Ranges:{#{doc_id}}"
  62. unflushedTime: ({doc_id}) -> "UnflushedTime:{#{doc_id}}"
  63. pathname: ({doc_id}) -> "Pathname:{#{doc_id}}"
  64. projectHistoryId: ({doc_id}) -> "ProjectHistoryId:{#{doc_id}}"
  65. projectHistoryType: ({doc_id}) -> "ProjectHistoryType:{#{doc_id}}"
  66. projectState: ({project_id}) -> "ProjectState:{#{project_id}}"
  67. pendingUpdates: ({doc_id}) -> "PendingUpdates:{#{doc_id}}"
  68. lastUpdatedBy: ({doc_id}) -> "lastUpdatedBy:{#{doc_id}}"
  69. lastUpdatedAt: ({doc_id}) -> "lastUpdatedAt:{#{doc_id}}"
  70. pendingUpdates: ({doc_id}) -> "PendingUpdates:{#{doc_id}}"
  71. flushAndDeleteQueue: () -> "DocUpdaterFlushAndDeleteQueue"
  72. max_doc_length: 2 * 1024 * 1024 # 2mb
  73. dispatcherCount: process.env["DISPATCHER_COUNT"]
  74. mongo:
  75. url : process.env['MONGO_CONNECTION_STRING'] || "mongodb://#{process.env['MONGO_HOST'] or '127.0.0.1'}/sharelatex"
  76. sentry:
  77. dsn: process.env.SENTRY_DSN
  78. publishOnIndividualChannels: process.env['PUBLISH_ON_INDIVIDUAL_CHANNELS'] or false
  79. continuousBackgroundFlush: process.env['CONTINUOUS_BACKGROUND_FLUSH'] or false
  80. smoothingOffset: process.env['SMOOTHING_OFFSET'] or 1000 # milliseconds
  81. disableDoubleFlush: process.env['DISABLE_DOUBLE_FLUSH'] or false # don't flush track-changes for projects using project-history