From 08a0c6feb4e12caf2853e06f1bc7ee8de8d0ac8d Mon Sep 17 00:00:00 2001 From: James Allen Date: Fri, 29 Dec 2017 08:08:19 +0000 Subject: [PATCH 1/3] Provide hosts and siblings container as environment settings and add npm run start script --- services/clsi/config/settings.defaults.coffee | 26 ++++++++++--------- services/clsi/package.json | 4 +++ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/services/clsi/config/settings.defaults.coffee b/services/clsi/config/settings.defaults.coffee index 4b391789c1..fb02c412ea 100644 --- a/services/clsi/config/settings.defaults.coffee +++ b/services/clsi/config/settings.defaults.coffee @@ -16,21 +16,10 @@ module.exports = clsiCacheDir: Path.resolve(__dirname + "/../cache") synctexBaseDir: (project_id) -> Path.join(@compilesDir, project_id) -# clsi: -# commandRunner: "docker-runner-sharelatex" -# docker: -# image: "quay.io/sharelatex/texlive-full:2017.1" -# env: -# HOME: "/tmp" -# socketPath: "/var/run/docker.sock" -# user: "tex" -# expireProjectAfterIdleMs: 24 * 60 * 60 * 1000 -# checkProjectsIntervalMs: 10 * 60 * 1000 - internal: clsi: port: 3013 - host: "localhost" + host: process.env["LISTEN_ADDRESS"] or "localhost" apis: @@ -40,3 +29,16 @@ module.exports = smokeTest: false project_cache_length_ms: 1000 * 60 * 60 * 24 parallelFileDownloads:1 + +if process.env["COMMAND_RUNNER"] + module.exports.clsi = + commandRunner: process.env["COMMAND_RUNNER"] + docker: + image: process.env["TEXLIVE_IMAGE"] or "quay.io/sharelatex/texlive-full:2017.1" + env: + HOME: "/tmp" + socketPath: "/var/run/docker.sock" + user: "tex" + expireProjectAfterIdleMs: 24 * 60 * 60 * 1000 + checkProjectsIntervalMs: 10 * 60 * 1000 + module.exports.path.sandboxedCompilesHostDir = process.env["COMPILES_HOST_DIR"] diff --git a/services/clsi/package.json b/services/clsi/package.json index 71711be1a7..867bdf2391 100644 --- a/services/clsi/package.json +++ b/services/clsi/package.json @@ -6,6 +6,10 @@ "type": "git", "url": "https://github.com/sharelatex/clsi-sharelatex.git" }, + "scripts": { + "compile:app": "coffee -o app/js -c app/coffee && coffee -c app.coffee", + "start": "npm run compile:app && node app.js" + }, "author": "James Allen ", "dependencies": { "async": "0.2.9", From e18538bd3879d1918595c6959dfc3c2f2e905ab3 Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Wed, 3 Jan 2018 15:41:31 +0000 Subject: [PATCH 2/3] log an error if core file is found in output --- services/clsi/app/coffee/CompileController.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/clsi/app/coffee/CompileController.coffee b/services/clsi/app/coffee/CompileController.coffee index 99973fdd10..1d90405614 100644 --- a/services/clsi/app/coffee/CompileController.coffee +++ b/services/clsi/app/coffee/CompileController.coffee @@ -39,6 +39,10 @@ module.exports = CompileController = for file in outputFiles if file.path?.match(/output\.pdf$/) status = "success" + # log an error if any core files are found + for file in outputFiles + if file.path is "core" + logger.error project_id:request.project_id, req:req, outputFiles:outputFiles, "core file found in output" timer.done() res.status(code or 200).send { From d0e5fb2d342d018e8415759598d0e5b42da03b92 Mon Sep 17 00:00:00 2001 From: James Allen Date: Tue, 16 Jan 2018 10:46:59 +0000 Subject: [PATCH 3/3] Allow texlive image user to be configured --- services/clsi/config/settings.defaults.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/clsi/config/settings.defaults.coffee b/services/clsi/config/settings.defaults.coffee index fb02c412ea..0e8f6aa328 100644 --- a/services/clsi/config/settings.defaults.coffee +++ b/services/clsi/config/settings.defaults.coffee @@ -38,7 +38,7 @@ if process.env["COMMAND_RUNNER"] env: HOME: "/tmp" socketPath: "/var/run/docker.sock" - user: "tex" + user: process.env["TEXLIVE_IMAGE_USER"] or "tex" expireProjectAfterIdleMs: 24 * 60 * 60 * 1000 checkProjectsIntervalMs: 10 * 60 * 1000 module.exports.path.sandboxedCompilesHostDir = process.env["COMPILES_HOST_DIR"]