mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
Allow selecting a TeX Live image for a project
This commit is contained in:
@@ -470,13 +470,7 @@ if (process.env.SANDBOXED_COMPILES === 'true') {
|
||||
dockerRunner: true,
|
||||
docker: {
|
||||
image: process.env.TEX_LIVE_DOCKER_IMAGE,
|
||||
env: {
|
||||
HOME: '/tmp',
|
||||
PATH:
|
||||
process.env.COMPILER_PATH ||
|
||||
'/usr/local/bin:/usr/bin:/bin',
|
||||
},
|
||||
user: 'www-data',
|
||||
user: process.env.TEX_LIVE_DOCKER_USER || 'www-data',
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -234,8 +234,8 @@ const DockerRunner = {
|
||||
}
|
||||
}
|
||||
// set the path based on the image year
|
||||
const match = image.match(/:([0-9]+)\.[0-9]+/)
|
||||
const year = match ? match[1] : '2014'
|
||||
const match = image.match(/:([0-9]+)\.[0-9]+|:TL([0-9]+)/)
|
||||
const year = match ? match[1] || match[2] : '2014'
|
||||
env.PATH = `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/texlive/${year}/bin/x86_64-linux/`
|
||||
const options = {
|
||||
Cmd: command,
|
||||
|
||||
@@ -38,10 +38,7 @@ module.exports = ProjectEditorHandler = {
|
||||
),
|
||||
members: [],
|
||||
invites: this.buildInvitesView(invites),
|
||||
imageName:
|
||||
project.imageName != null
|
||||
? Path.basename(project.imageName)
|
||||
: undefined,
|
||||
imageName: project.imageName,
|
||||
}
|
||||
|
||||
;({ owner, ownerFeatures, members } =
|
||||
|
||||
@@ -22,7 +22,6 @@ const ProjectOptionsHandler = {
|
||||
if (!imageName || !Array.isArray(settings.allowedImageNames)) {
|
||||
return
|
||||
}
|
||||
imageName = imageName.toLowerCase()
|
||||
const isAllowed = settings.allowedImageNames.find(
|
||||
allowed => imageName === allowed.imageName
|
||||
)
|
||||
@@ -30,7 +29,7 @@ const ProjectOptionsHandler = {
|
||||
throw new Error(`invalid imageName: ${imageName}`)
|
||||
}
|
||||
const conditions = { _id: projectId }
|
||||
const update = { imageName: settings.imageRoot + '/' + imageName }
|
||||
const update = { imageName: imageName }
|
||||
return Project.updateOne(conditions, update, {})
|
||||
},
|
||||
|
||||
|
||||
@@ -1031,6 +1031,15 @@ module.exports = {
|
||||
managedUsers: {
|
||||
enabled: false,
|
||||
},
|
||||
|
||||
allowedImageNames: process.env.SANDBOXED_COMPILES === 'true'
|
||||
? parseTextExtensions(process.env.ALL_TEX_LIVE_DOCKER_IMAGES)
|
||||
.map((imageName, index) => ({
|
||||
imageName,
|
||||
imageDesc: parseTextExtensions(process.env.ALL_TEX_LIVE_DOCKER_IMAGE_NAMES)[index]
|
||||
|| imageName.split(':')[1],
|
||||
}))
|
||||
: undefined,
|
||||
}
|
||||
|
||||
module.exports.mergeWith = function (overrides) {
|
||||
|
||||
Reference in New Issue
Block a user