diff --git a/Dockerfile b/Dockerfile index 732bde94..50c55a7f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,6 +69,7 @@ RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d && \ unixodbc-dev \ unzip \ xvfb \ + xxd \ zlib1g && \ if [ $(ls -l /usr/share/fonts/truetype/msttcorefonts | wc -l) -ne 61 ]; \ then echo 'msttcorefonts failed to download'; exit 1; fi && \ @@ -108,6 +109,7 @@ ARG PACKAGE_BASEURL="http://download.onlyoffice.com/install/documentserver/linux ENV COMPANY_NAME=$COMPANY_NAME \ PRODUCT_NAME=$PRODUCT_NAME \ PRODUCT_EDITION=$PRODUCT_EDITION \ + DS_PLUGIN_INSTALLATION=false \ DS_DOCKER_INSTALLATION=true RUN PACKAGE_FILE="${COMPANY_NAME}-${PRODUCT_NAME}${PRODUCT_EDITION}${PACKAGE_VERSION:+_$PACKAGE_VERSION}_${TARGETARCH:-$(dpkg --print-architecture)}.deb" && \ diff --git a/README.md b/README.md index dc2d4e81..6e0418e5 100644 --- a/README.md +++ b/README.md @@ -208,6 +208,7 @@ Below is the complete list of parameters that can be set using environment varia - **METRICS_PREFIX**: Defines StatsD metrics prefix for backend services. Defaults to `ds.`. - **LETS_ENCRYPT_DOMAIN**: Defines the domain for Let's Encrypt certificate. - **LETS_ENCRYPT_MAIL**: Defines the domain administator mail address for Let's Encrypt certificate. +- **PLUGINS_ENABLED**: Defines whether to enable default plugins. Defaults to `false`. ## Installing ONLYOFFICE Document Server integrated with Community and Mail Servers diff --git a/run-document-server.sh b/run-document-server.sh index ddce1bdf..b086e769 100644 --- a/run-document-server.sh +++ b/run-document-server.sh @@ -25,6 +25,7 @@ DS_LIB_DIR="${LIB_DIR}/documentserver" CONF_DIR="/etc/${COMPANY_NAME}/documentserver" SUPERVISOR_CONF_DIR="/etc/supervisor/conf.d" IS_UPGRADE="false" +PLUGINS_ENABLED=${PLUGINS_ENABLED:-false} ONLYOFFICE_DATA_CONTAINER=${ONLYOFFICE_DATA_CONTAINER:-false} ONLYOFFICE_DATA_CONTAINER_HOST=${ONLYOFFICE_DATA_CONTAINER_HOST:-localhost} @@ -403,7 +404,7 @@ update_ds_settings(){ [ ! -f "${WOPI_PRIVATE_KEY}" ] && echo -n "Generating WOPI private key..." && openssl genpkey -algorithm RSA -outform PEM -out "${WOPI_PRIVATE_KEY}" >/dev/null 2>&1 && echo "Done" [ ! -f "${WOPI_PUBLIC_KEY}" ] && echo -n "Generating WOPI public key..." && openssl rsa -RSAPublicKey_out -in "${WOPI_PRIVATE_KEY}" -outform "MS PUBLICKEYBLOB" -out "${WOPI_PUBLIC_KEY}" >/dev/null 2>&1 && echo "Done" - WOPI_MODULUS=$(openssl rsa -pubin -inform "MS PUBLICKEYBLOB" -modulus -noout -in "${WOPI_PUBLIC_KEY}" | sed 's/Modulus=//') + WOPI_MODULUS=$(openssl rsa -pubin -inform "MS PUBLICKEYBLOB" -modulus -noout -in "${WOPI_PUBLIC_KEY}" | sed 's/Modulus=//' | xxd -r -p | openssl base64 -A) WOPI_EXPONENT=$(openssl rsa -pubin -inform "MS PUBLICKEYBLOB" -text -noout -in "${WOPI_PUBLIC_KEY}" | grep -oP '(?<=Exponent: )\d+') ${JSON} -I -e "if(this.wopi===undefined)this.wopi={};" @@ -766,6 +767,13 @@ fi if [ "${GENERATE_FONTS}" == "true" ]; then documentserver-generate-allfonts.sh ${ONLYOFFICE_DATA_CONTAINER} fi + +if [ "${PLUGINS_ENABLED}" = "true" ]; then + echo -n Installing plugins, please wait... + documentserver-pluginsmanager.sh -r false --update=\"${APP_DIR}/sdkjs-plugins/plugin-list-default.json\" >/dev/null + echo Done +fi + documentserver-static-gzip.sh ${ONLYOFFICE_DATA_CONTAINER} echo "${JWT_MESSAGE}"