From 22016ffef90646da27fb3174c4956b93640b781b Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Fri, 13 Jun 2025 15:57:38 +0200 Subject: [PATCH] [clsi] adopt Server Pro env vars for sandboxed compiles (#26430) GitOrigin-RevId: b7c0d9f4ff37d6cef77694a6a9ea4d50dcb148b2 --- develop/docker-compose.yml | 6 +++--- services/clsi/README.md | 10 +++++----- services/clsi/buildscript.txt | 2 +- services/clsi/docker-compose.ci.yml | 6 +++--- services/clsi/docker-compose.yml | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/develop/docker-compose.yml b/develop/docker-compose.yml index 750e11ac87..7161e0686a 100644 --- a/develop/docker-compose.yml +++ b/develop/docker-compose.yml @@ -25,10 +25,10 @@ services: env_file: - dev.env environment: - - DOCKER_RUNNER=true - TEXLIVE_IMAGE=texlive-full # docker build texlive -t texlive-full - - COMPILES_HOST_DIR=${PWD}/compiles - - OUTPUT_HOST_DIR=${PWD}/output + - SANDBOXED_COMPILES=true + - SANDBOXED_COMPILES_HOST_DIR_COMPILES=${PWD}/compiles + - SANDBOXED_COMPILES_HOST_DIR_OUTPUT=${PWD}/output user: root volumes: - ${PWD}/compiles:/overleaf/services/clsi/compiles diff --git a/services/clsi/README.md b/services/clsi/README.md index 243c7617dd..f1cf927d3d 100644 --- a/services/clsi/README.md +++ b/services/clsi/README.md @@ -19,10 +19,10 @@ The CLSI can be configured through the following environment variables: * `ALLOWED_IMAGES` - Space separated list of allowed Docker TeX Live images * `CATCH_ERRORS` - Set to `true` to log uncaught exceptions * `COMPILE_GROUP_DOCKER_CONFIGS` - JSON string of Docker configs for compile groups -* `COMPILES_HOST_DIR` - Working directory for LaTeX compiles -* `OUTPUT_HOST_DIR` - Output directory for LaTeX compiles +* `SANDBOXED_COMPILES` - Set to true to use sibling containers +* `SANDBOXED_COMPILES_HOST_DIR_COMPILES` - Working directory for LaTeX compiles +* `SANDBOXED_COMPILES_HOST_DIR_OUTPUT` - Output directory for LaTeX compiles * `COMPILE_SIZE_LIMIT` - Sets the body-parser [limit](https://github.com/expressjs/body-parser#limit) -* `DOCKER_RUNNER` - Set to true to use sibling containers * `DOCKER_RUNTIME` - * `FILESTORE_DOMAIN_OVERRIDE` - The url for the filestore service e.g.`http://$FILESTORE_HOST:3009` * `FILESTORE_PARALLEL_FILE_DOWNLOADS` - Number of parallel file downloads @@ -63,10 +63,10 @@ Then start the Docker container: docker run --rm \ -p 127.0.0.1:3013:3013 \ -e LISTEN_ADDRESS=0.0.0.0 \ - -e DOCKER_RUNNER=true \ + -e SANDBOXED_COMPILES=true \ -e TEXLIVE_IMAGE=texlive/texlive \ -e TEXLIVE_IMAGE_USER=root \ - -e COMPILES_HOST_DIR="$PWD/compiles" \ + -e SANDBOXED_COMPILES_HOST_DIR_COMPILES="$PWD/compiles" \ -v "$PWD/compiles:/overleaf/services/clsi/compiles" \ -v "$PWD/cache:/overleaf/services/clsi/cache" \ -v /var/run/docker.sock:/var/run/docker.sock \ diff --git a/services/clsi/buildscript.txt b/services/clsi/buildscript.txt index 709ade18c3..58975135d0 100644 --- a/services/clsi/buildscript.txt +++ b/services/clsi/buildscript.txt @@ -2,7 +2,7 @@ clsi --data-dirs=cache,compiles,output --dependencies= --docker-repos=us-east1-docker.pkg.dev/overleaf-ops/ol-docker ---env-add=ENABLE_PDF_CACHING="true",PDF_CACHING_ENABLE_WORKER_POOL="true",ALLOWED_IMAGES=quay.io/sharelatex/texlive-full:2017.1,TEXLIVE_IMAGE=quay.io/sharelatex/texlive-full:2017.1,TEX_LIVE_IMAGE_NAME_OVERRIDE=us-east1-docker.pkg.dev/overleaf-ops/ol-docker,TEXLIVE_IMAGE_USER="tex",DOCKER_RUNNER="true",COMPILES_HOST_DIR=$PWD/compiles,OUTPUT_HOST_DIR=$PWD/output +--env-add=ENABLE_PDF_CACHING="true",PDF_CACHING_ENABLE_WORKER_POOL="true",ALLOWED_IMAGES=quay.io/sharelatex/texlive-full:2017.1,TEXLIVE_IMAGE=quay.io/sharelatex/texlive-full:2017.1,TEX_LIVE_IMAGE_NAME_OVERRIDE=us-east1-docker.pkg.dev/overleaf-ops/ol-docker,TEXLIVE_IMAGE_USER="tex",SANDBOXED_COMPILES="true",SANDBOXED_COMPILES_HOST_DIR_COMPILES=$PWD/compiles,SANDBOXED_COMPILES_HOST_DIR_OUTPUT=$PWD/output --env-pass-through= --esmock-loader=False --node-version=22.15.1 diff --git a/services/clsi/docker-compose.ci.yml b/services/clsi/docker-compose.ci.yml index b6643008f7..77a45615b7 100644 --- a/services/clsi/docker-compose.ci.yml +++ b/services/clsi/docker-compose.ci.yml @@ -29,9 +29,9 @@ services: TEXLIVE_IMAGE: quay.io/sharelatex/texlive-full:2017.1 TEX_LIVE_IMAGE_NAME_OVERRIDE: us-east1-docker.pkg.dev/overleaf-ops/ol-docker TEXLIVE_IMAGE_USER: "tex" - DOCKER_RUNNER: "true" - COMPILES_HOST_DIR: $PWD/compiles - OUTPUT_HOST_DIR: $PWD/output + SANDBOXED_COMPILES: "true" + SANDBOXED_COMPILES_HOST_DIR_COMPILES: $PWD/compiles + SANDBOXED_COMPILES_HOST_DIR_OUTPUT: $PWD/output volumes: - ./compiles:/overleaf/services/clsi/compiles - /var/run/docker.sock:/var/run/docker.sock diff --git a/services/clsi/docker-compose.yml b/services/clsi/docker-compose.yml index e0f29ab09d..b8112a8e17 100644 --- a/services/clsi/docker-compose.yml +++ b/services/clsi/docker-compose.yml @@ -47,8 +47,8 @@ services: TEXLIVE_IMAGE: quay.io/sharelatex/texlive-full:2017.1 TEX_LIVE_IMAGE_NAME_OVERRIDE: us-east1-docker.pkg.dev/overleaf-ops/ol-docker TEXLIVE_IMAGE_USER: "tex" - DOCKER_RUNNER: "true" - COMPILES_HOST_DIR: $PWD/compiles - OUTPUT_HOST_DIR: $PWD/output + SANDBOXED_COMPILES: "true" + SANDBOXED_COMPILES_HOST_DIR_COMPILES: $PWD/compiles + SANDBOXED_COMPILES_HOST_DIR_OUTPUT: $PWD/output command: npm run --silent test:acceptance