From cd0a71caba000f37e68e266c54ab3aa0dbe6e344 Mon Sep 17 00:00:00 2001 From: Christopher Hoskin Date: Mon, 22 Oct 2018 16:01:17 +0100 Subject: [PATCH 1/3] Add some notes on the CLSIs --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index 270c06a..9048afa 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,30 @@ A web api for compiling LaTeX documents in the cloud [![Build Status](https://travis-ci.org/sharelatex/clsi-sharelatex.png?branch=master)](https://travis-ci.org/sharelatex/clsi-sharelatex) +The CLSI provide a RESTful interface to traditional LaTeX tools (or, more generally, any command line tool for composing marked-up documents into a display format such as PDF or HTML). The CLSI listens on the following ports by default: + +* TCP/3009 - the RESTful interface +* TCP/3048 - reports load information to the `CLSI-lb` +* TCP/3049 - HTTP interface to control the CLSI service + +These defaults can be modified in `config/settings.defaults.coffee`. + +The provided `Dockerfile` builds a docker image which has the docker command line tools installed. The configuration in `docker-compose-config.yml` mounts the docker socket, in order that the CLSI container can talk to the docker host it is running in. This allows it to spin up `sibling containers` running our TEXLIVE image on the same docker host to perform the actual compiles. + +The CLSI can be configured through the following environment variables: + + * `DOCKER_RUNNER` - Set to true to use sibling containers + * `SYNCTEX_BIN_HOST_PATH` - Path to SyncTeX binary + * `COMPILES_HOST_DIR` - Working directory for LaTeX compiles + * `SQLITE_PATH` - Path to SQLite database + * `TEXLIVE_IMAGE` - The TEXLIVE docker image to use for sibling containers, e.g. `gcr.io/overleaf-ops/texlive-full:2017.1` + * `TEXLIVE_IMAGE_USER` - When using sibling containers, the user to run as in the TEXLIVE image. Defaults to `tex` + * `TEX_LIVE_IMAGE_NAME_OVERRIDE` - The name of the registry for the docker image e.g. `gcr.io/overleaf-ops` + * `FILESTORE_DOMAIN_OVERRIDE` - The url for the filestore service e.g.`http://$FILESTORE_HOST:3009` + * `STATSD_HOST` - The address of the Statsd service (used by the metrics module) + * `LISTEN_ADDRESS` - The address for the RESTful service to listen on. Set to `0.0.0.0` to listen on all network interfaces + * `SMOKE_TEST` - Whether to run smoke tests + Installation ------------ From 114e4f70435bc2632e9afb46e99e3247b5e850c6 Mon Sep 17 00:00:00 2001 From: Christopher Hoskin Date: Mon, 22 Oct 2018 16:03:50 +0100 Subject: [PATCH 2/3] Fix indenting --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 9048afa..9d7b08a 100644 --- a/README.md +++ b/README.md @@ -17,17 +17,17 @@ The provided `Dockerfile` builds a docker image which has the docker command lin The CLSI can be configured through the following environment variables: - * `DOCKER_RUNNER` - Set to true to use sibling containers - * `SYNCTEX_BIN_HOST_PATH` - Path to SyncTeX binary - * `COMPILES_HOST_DIR` - Working directory for LaTeX compiles - * `SQLITE_PATH` - Path to SQLite database - * `TEXLIVE_IMAGE` - The TEXLIVE docker image to use for sibling containers, e.g. `gcr.io/overleaf-ops/texlive-full:2017.1` - * `TEXLIVE_IMAGE_USER` - When using sibling containers, the user to run as in the TEXLIVE image. Defaults to `tex` - * `TEX_LIVE_IMAGE_NAME_OVERRIDE` - The name of the registry for the docker image e.g. `gcr.io/overleaf-ops` - * `FILESTORE_DOMAIN_OVERRIDE` - The url for the filestore service e.g.`http://$FILESTORE_HOST:3009` - * `STATSD_HOST` - The address of the Statsd service (used by the metrics module) - * `LISTEN_ADDRESS` - The address for the RESTful service to listen on. Set to `0.0.0.0` to listen on all network interfaces - * `SMOKE_TEST` - Whether to run smoke tests + * `DOCKER_RUNNER` - Set to true to use sibling containers + * `SYNCTEX_BIN_HOST_PATH` - Path to SyncTeX binary + * `COMPILES_HOST_DIR` - Working directory for LaTeX compiles + * `SQLITE_PATH` - Path to SQLite database + * `TEXLIVE_IMAGE` - The TEXLIVE docker image to use for sibling containers, e.g. `gcr.io/overleaf-ops/texlive-full:2017.1` + * `TEXLIVE_IMAGE_USER` - When using sibling containers, the user to run as in the TEXLIVE image. Defaults to `tex` + * `TEX_LIVE_IMAGE_NAME_OVERRIDE` - The name of the registry for the docker image e.g. `gcr.io/overleaf-ops` + * `FILESTORE_DOMAIN_OVERRIDE` - The url for the filestore service e.g.`http://$FILESTORE_HOST:3009` + * `STATSD_HOST` - The address of the Statsd service (used by the metrics module) + * `LISTEN_ADDRESS` - The address for the RESTful service to listen on. Set to `0.0.0.0` to listen on all network interfaces + * `SMOKE_TEST` - Whether to run smoke tests Installation ------------ From 3aa160b0e7f074d5c288535436d1e3475e93f0e0 Mon Sep 17 00:00:00 2001 From: Christopher Hoskin Date: Mon, 22 Oct 2018 17:52:38 +0100 Subject: [PATCH 3/3] Make REAME more generic --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9048afa..7b81e4d 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,12 @@ A web api for compiling LaTeX documents in the cloud The CLSI provide a RESTful interface to traditional LaTeX tools (or, more generally, any command line tool for composing marked-up documents into a display format such as PDF or HTML). The CLSI listens on the following ports by default: * TCP/3009 - the RESTful interface -* TCP/3048 - reports load information to the `CLSI-lb` +* TCP/3048 - reports load information * TCP/3049 - HTTP interface to control the CLSI service These defaults can be modified in `config/settings.defaults.coffee`. -The provided `Dockerfile` builds a docker image which has the docker command line tools installed. The configuration in `docker-compose-config.yml` mounts the docker socket, in order that the CLSI container can talk to the docker host it is running in. This allows it to spin up `sibling containers` running our TEXLIVE image on the same docker host to perform the actual compiles. +The provided `Dockerfile` builds a docker image which has the docker command line tools installed. The configuration in `docker-compose-config.yml` mounts the docker socket, in order that the CLSI container can talk to the docker host it is running in. This allows it to spin up `sibling containers` running an image with a TeX distribution installed to perform the actual compiles. The CLSI can be configured through the following environment variables: @@ -21,9 +21,9 @@ The CLSI can be configured through the following environment variables: * `SYNCTEX_BIN_HOST_PATH` - Path to SyncTeX binary * `COMPILES_HOST_DIR` - Working directory for LaTeX compiles * `SQLITE_PATH` - Path to SQLite database - * `TEXLIVE_IMAGE` - The TEXLIVE docker image to use for sibling containers, e.g. `gcr.io/overleaf-ops/texlive-full:2017.1` + * `TEXLIVE_IMAGE` - The docker image with a TeX distribution to use for sibling containers * `TEXLIVE_IMAGE_USER` - When using sibling containers, the user to run as in the TEXLIVE image. Defaults to `tex` - * `TEX_LIVE_IMAGE_NAME_OVERRIDE` - The name of the registry for the docker image e.g. `gcr.io/overleaf-ops` + * `TEX_LIVE_IMAGE_NAME_OVERRIDE` - The name of the registry for the docker image * `FILESTORE_DOMAIN_OVERRIDE` - The url for the filestore service e.g.`http://$FILESTORE_HOST:3009` * `STATSD_HOST` - The address of the Statsd service (used by the metrics module) * `LISTEN_ADDRESS` - The address for the RESTful service to listen on. Set to `0.0.0.0` to listen on all network interfaces