settings.defaults.js 2.2 KB

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