settings.defaults.coffee 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. Path = require "path"
  2. module.exports =
  3. # Options are passed to Sequelize.
  4. # See http://sequelizejs.com/documentation#usage-options for details
  5. mysql:
  6. clsi:
  7. database: "clsi"
  8. username: "clsi"
  9. dialect: "sqlite"
  10. storage: process.env["SQLITE_PATH"] or Path.resolve(__dirname + "/../db.sqlite")
  11. pool:
  12. max: 1
  13. min: 1
  14. retry:
  15. max: 10
  16. compileSizeLimit: process.env["COMPILE_SIZE_LIMIT"] or "7mb"
  17. path:
  18. compilesDir: Path.resolve(__dirname + "/../compiles")
  19. clsiCacheDir: Path.resolve(__dirname + "/../cache")
  20. synctexBaseDir: (project_id) -> Path.join(@compilesDir, project_id)
  21. internal:
  22. clsi:
  23. port: 3013
  24. host: process.env["LISTEN_ADDRESS"] or "localhost"
  25. load_balancer_agent:
  26. report_load:true
  27. load_port: 3048
  28. local_port: 3049
  29. apis:
  30. clsi:
  31. url: "http://#{process.env['CLSI_HOST'] or 'localhost'}:3013"
  32. smokeTest: process.env["SMOKE_TEST"] or false
  33. project_cache_length_ms: 1000 * 60 * 60 * 24
  34. parallelFileDownloads: process.env["FILESTORE_PARALLEL_FILE_DOWNLOADS"] or 1
  35. parallelSqlQueryLimit: process.env["FILESTORE_PARALLEL_SQL_QUERY_LIMIT"] or 1
  36. filestoreDomainOveride: process.env["FILESTORE_DOMAIN_OVERRIDE"]
  37. texliveImageNameOveride: process.env["TEX_LIVE_IMAGE_NAME_OVERRIDE"]
  38. sentry:
  39. dsn: process.env['SENTRY_DSN']
  40. if process.env["DOCKER_RUNNER"]
  41. module.exports.clsi =
  42. dockerRunner: process.env["DOCKER_RUNNER"] == "true"
  43. docker:
  44. image: process.env["TEXLIVE_IMAGE"] or "quay.io/sharelatex/texlive-full:2017.1"
  45. env:
  46. HOME: "/tmp"
  47. socketPath: "/var/run/docker.sock"
  48. user: process.env["TEXLIVE_IMAGE_USER"] or "tex"
  49. expireProjectAfterIdleMs: 24 * 60 * 60 * 1000
  50. checkProjectsIntervalMs: 10 * 60 * 1000
  51. try
  52. seccomp_profile_path = Path.resolve(__dirname + "/../seccomp/clsi-profile.json")
  53. module.exports.clsi.docker.seccomp_profile = JSON.stringify(JSON.parse(require("fs").readFileSync(seccomp_profile_path)))
  54. catch error
  55. console.log error, "could not load seccom profile from #{seccomp_profile_path}"
  56. module.exports.path.synctexBaseDir = -> "/compile"
  57. module.exports.path.sandboxedCompilesHostDir = process.env["COMPILES_HOST_DIR"]
  58. module.exports.path.synctexBinHostPath = process.env["SYNCTEX_BIN_HOST_PATH"]