mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-16 02:52:31 -04:00
89 lines
2.4 KiB
JavaScript
89 lines
2.4 KiB
JavaScript
const Path = require("path");
|
|
|
|
module.exports = {
|
|
// Options are passed to Sequelize.
|
|
// See http://sequelizejs.com/documentation#usage-options for details
|
|
mysql: {
|
|
clsi: {
|
|
database: "clsi",
|
|
username: "clsi",
|
|
dialect: "sqlite",
|
|
storage: process.env["SQLITE_PATH"] || Path.resolve(__dirname + "/../db.sqlite"),
|
|
pool: {
|
|
max: 1,
|
|
min: 1
|
|
},
|
|
retry: {
|
|
max: 10
|
|
}
|
|
}
|
|
},
|
|
|
|
compileSizeLimit: process.env["COMPILE_SIZE_LIMIT"] || "7mb",
|
|
|
|
path: {
|
|
compilesDir: Path.resolve(__dirname + "/../compiles"),
|
|
clsiCacheDir: Path.resolve(__dirname + "/../cache"),
|
|
synctexBaseDir(project_id) { return Path.join(this.compilesDir, project_id); }
|
|
},
|
|
|
|
internal: {
|
|
clsi: {
|
|
port: 3013,
|
|
host: process.env["LISTEN_ADDRESS"] || "localhost"
|
|
},
|
|
|
|
load_balancer_agent: {
|
|
report_load:true,
|
|
load_port: 3048,
|
|
local_port: 3049
|
|
}
|
|
},
|
|
apis: {
|
|
clsi: {
|
|
url: `http://${process.env['CLSI_HOST'] || 'localhost'}:3013`
|
|
}
|
|
},
|
|
|
|
|
|
smokeTest: process.env["SMOKE_TEST"] || false,
|
|
project_cache_length_ms: 1000 * 60 * 60 * 24,
|
|
parallelFileDownloads: process.env["FILESTORE_PARALLEL_FILE_DOWNLOADS"] || 1,
|
|
parallelSqlQueryLimit: process.env["FILESTORE_PARALLEL_SQL_QUERY_LIMIT"] || 1,
|
|
filestoreDomainOveride: process.env["FILESTORE_DOMAIN_OVERRIDE"],
|
|
texliveImageNameOveride: process.env["TEX_LIVE_IMAGE_NAME_OVERRIDE"],
|
|
sentry: {
|
|
dsn: process.env['SENTRY_DSN']
|
|
}
|
|
};
|
|
|
|
|
|
if (process.env["DOCKER_RUNNER"]) {
|
|
let seccomp_profile_path;
|
|
module.exports.clsi = {
|
|
dockerRunner: process.env["DOCKER_RUNNER"] === "true",
|
|
docker: {
|
|
image: process.env["TEXLIVE_IMAGE"] || "quay.io/sharelatex/texlive-full:2017.1",
|
|
env: {
|
|
HOME: "/tmp"
|
|
},
|
|
socketPath: "/var/run/docker.sock",
|
|
user: process.env["TEXLIVE_IMAGE_USER"] || "tex"
|
|
},
|
|
expireProjectAfterIdleMs: 24 * 60 * 60 * 1000,
|
|
checkProjectsIntervalMs: 10 * 60 * 1000
|
|
};
|
|
|
|
try {
|
|
seccomp_profile_path = Path.resolve(__dirname + "/../seccomp/clsi-profile.json");
|
|
module.exports.clsi.docker.seccomp_profile = JSON.stringify(JSON.parse(require("fs").readFileSync(seccomp_profile_path)));
|
|
} catch (error) {
|
|
console.log(error, `could not load seccom profile from ${seccomp_profile_path}`);
|
|
}
|
|
|
|
module.exports.path.synctexBaseDir = () => "/compile";
|
|
|
|
module.exports.path.sandboxedCompilesHostDir = process.env["COMPILES_HOST_DIR"];
|
|
|
|
module.exports.path.synctexBinHostPath = process.env["SYNCTEX_BIN_HOST_PATH"];
|
|
}
|