From bec5ef4eae9d6a2fd4dc083f518c9eb11b0e17b0 Mon Sep 17 00:00:00 2001 From: Fabrice Date: Sun, 26 Jan 2025 13:13:11 +0100 Subject: [PATCH] Update 8.2.1 --- .env | 4 +- Dockerfile | 54 +++--- README.md | 4 +- local-production-linux.json | 4 +- ...001-Update-user-constant-and-license.patch | 75 +++++++++ patches/server/0001-fix-licences.patch | 155 ------------------ ...-package-dependency-to-FileConverter.patch | 41 +++++ .../0003-Fix-packaging-of-DocService.patch | 34 ++++ patches/web-apps/0001-add-mobile.patch | 51 ------ 9 files changed, 181 insertions(+), 241 deletions(-) create mode 100644 patches/server/0001-Update-user-constant-and-license.patch delete mode 100644 patches/server/0001-fix-licences.patch create mode 100644 patches/server/0002-Add-ms-package-dependency-to-FileConverter.patch create mode 100644 patches/server/0003-Fix-packaging-of-DocService.patch delete mode 100644 patches/web-apps/0001-add-mobile.patch diff --git a/.env b/.env index b68c4fb..bea981e 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ -product_version=8.1.3 -build_number=2 \ No newline at end of file +product_version=8.2.1 +build_number=1 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 9f4146e..cdd4e9f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG product_version=8.1.3 +ARG product_version=8.2.1 ARG build_number=1 ARG oo_root='/var/www/onlyoffice/documentserver' @@ -9,7 +9,7 @@ ARG build_number ARG oo_root ENV PRODUCT_VERSION=${product_version} -ENV BUILD_NUMBER=3 +ENV BUILD_NUMBER=38 ARG build_deps="git make g++ nodejs bzip2" RUN apt-get update && \ @@ -20,11 +20,7 @@ RUN apt-get update && \ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \ apt-get update && \ apt-get install -y ${build_deps} && \ - npm install -g pkg grunt grunt-cli && \ - apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN node -v -RUN npm -v + npm install -g pkg grunt grunt-cli WORKDIR /build @@ -40,6 +36,12 @@ RUN git config --global advice.detachedHead false && \ git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/web-apps.git /build/web-apps +## Build +FROM clone-stage as build-stage + +# build server with license checks patched +WORKDIR /build/server + # Patch Server COPY patches/server /build/server/patches # Needs a fake author to allow commits @@ -49,39 +51,33 @@ RUN git config --global user.email "contact@workstreams.ch" && \ git am --ignore-whitespace patches/*.patch && \ make - -## Build -FROM clone-stage as build-stage - -# build server with license checks patched -WORKDIR /build/server -RUN make && \ - pkg /build/build_tools/out/linux_64/onlyoffice/documentserver/server/FileConverter --targets=node16-linux -o /build/converter && \ - pkg /build/build_tools/out/linux_64/onlyoffice/documentserver/server/DocService --targets=node16-linux --options max_old_space_size=4096 -o /build/docservice - +RUN pkg /build/build_tools/out/linux_64/onlyoffice/documentserver/server/FileConverter --targets=node16-linux -o /build/converter +RUN pkg /build/build_tools/out/linux_64/onlyoffice/documentserver/server/DocService --targets=node16-linux --options max_old_space_size=4096 -o /build/docservice # build web-apps with mobile editing RUN cd /build/web-apps/build && npm install -COPY patches/web-apps /build/web-apps/patches +#COPY patches/web-apps /build/web-apps/patches COPY patches/web-apps-mobile /build/web-apps-mobile -RUN cd /build/web-apps && \ - git am --ignore-whitespace patches/*.patch && \ - cd /build/web-apps/build && grunt --addon=web-apps-mobile +RUN cd /build/web-apps/build && grunt --addon=web-apps-mobile +#RUN cd /build/web-apps && \ +#git am --ignore-whitespace patches/*.patch && \ +#cd /build/web-apps/build && grunt --addon=web-apps-mobile ## Final image FROM onlyoffice/documentserver:${product_version}.${build_number} ARG oo_root -ARG COMPANY_NAME=onlyoffice -ARG PRODUCT_NAME=documentserver -ARG DS_SUPERVISOR_CONF=/etc/supervisor/conf.d/ds.conf + +#ARG COMPANY_NAME=onlyoffice +#ARG PRODUCT_NAME=documentserver +#ARG DS_SUPERVISOR_CONF=/etc/supervisor/conf.d/ds.conf # Remove all documentserver-example data -RUN rm -rf /var/www/$COMPANY_NAME/$PRODUCT_NAME-example \ - && rm -rf /etc/$COMPANY_NAME/$PRODUCT_NAME-example \ - && rm -f $DS_SUPERVISOR_CONF \ - && rm -f /etc/nginx/includes/ds-example.conf \ - && ln -s /etc/$COMPANY_NAME/$PRODUCT_NAME/supervisor/ds.conf $DS_SUPERVISOR_CONF +#RUN rm -rf /var/www/$COMPANY_NAME/$PRODUCT_NAME-example \ +# && rm -rf /etc/$COMPANY_NAME/$PRODUCT_NAME-example \ +# && rm -f $DS_SUPERVISOR_CONF \ +# && rm -f /etc/nginx/includes/ds-example.conf \ +# && ln -s /etc/$COMPANY_NAME/$PRODUCT_NAME/supervisor/ds.conf $DS_SUPERVISOR_CONF # server COPY --from=build-stage --chown=ds:ds /build/converter ${oo_root}/server/FileConverter/converter diff --git a/README.md b/README.md index 56f3c71..ea67e6a 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ git format-patch -1 -o ../../patches/wed-apps/ ### Step 3: Build Docker Image Update Dockerfile. You can get tags here ``` -ARG product_version=8.1.3 +ARG product_version=8.2 ARG build_number=2 ``` Build docker image without tags @@ -55,7 +55,7 @@ docker build -t wsoffice . Or directly ``` -docker build --build-arg product_version=8.1.3 --build-arg build_number=2 -t wsoffice . +docker build --build-arg product_version=8.2 --build-arg build_number=2 -t wsoffice . ``` ### Step 4: Test and enjoy diff --git a/local-production-linux.json b/local-production-linux.json index 82cd7c2..0819918 100644 --- a/local-production-linux.json +++ b/local-production-linux.json @@ -5,7 +5,7 @@ "savetimeoutdelay": 15000 }, "expire": { - "sessionidle": "1h", + "sessionidle": "10h", "sessionabsolute": "1d" }, "autoAssembly": { @@ -13,7 +13,7 @@ "interval": "1m" }, "callbackBackoffOptions": { - "retries": 5, + "retries": 10, "timeout": { "factor": 2, "minTimeout": 5000, diff --git a/patches/server/0001-Update-user-constant-and-license.patch b/patches/server/0001-Update-user-constant-and-license.patch new file mode 100644 index 0000000..e5ea1f8 --- /dev/null +++ b/patches/server/0001-Update-user-constant-and-license.patch @@ -0,0 +1,75 @@ +From c44eb4c80e24cfeb28c8938220060a41aeca1551 Mon Sep 17 00:00:00 2001 +From: WS-Bot +Date: Mon, 14 Oct 2024 16:57:25 +0200 +Subject: [PATCH 1/3] Update user constent and license + +--- + Common/sources/constants.js | 4 ++-- + Common/sources/license.js | 16 ++++++++-------- + Makefile | 2 +- + 3 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/Common/sources/constants.js b/Common/sources/constants.js +index 700696f..fa30891 100644 +--- a/Common/sources/constants.js ++++ b/Common/sources/constants.js +@@ -87,8 +87,8 @@ exports.LICENSE_RESULT = { + NotBefore: 16 + }; + +-exports.LICENSE_CONNECTIONS = 20; +-exports.LICENSE_USERS = 3; ++exports.LICENSE_CONNECTIONS = 9999; ++exports.LICENSE_USERS = 9999; + exports.LICENSE_EXPIRE_USERS_ONE_DAY = 24 * 60 * 60; // day in seconds + + exports.AVS_OFFICESTUDIO_FILE_UNKNOWN = 0x0000; +diff --git a/Common/sources/license.js b/Common/sources/license.js +index 8813cba..37aba58 100644 +--- a/Common/sources/license.js ++++ b/Common/sources/license.js +@@ -46,20 +46,20 @@ exports.readLicense = async function () { + type: c_LR.Success, + packageType: constants.PACKAGE_TYPE_OS, + mode: constants.LICENSE_MODE.None, +- branding: false, ++ branding: true, + connections: constants.LICENSE_CONNECTIONS, + connectionsView: constants.LICENSE_CONNECTIONS, +- customization: false, +- advancedApi: false, +- usersCount: 0, +- usersViewCount: 0, ++ customization: true, ++ advancedApi: true, ++ usersCount: constants.LICENSE_CONNECTIONS, ++ usersViewCount: constants.LICENSE_CONNECTIONS, + usersExpire: constants.LICENSE_EXPIRE_USERS_ONE_DAY, +- hasLicense: false, ++ hasLicense: true, + buildDate: oBuildDate, + startDate: startDate, +- endDate: null, ++ endDate: new Date("2099-01-01T23:59:59.000Z"), + customerId: "", +- alias: "" ++ alias: "community" + }, null]; + }; + +diff --git a/Makefile b/Makefile +index e8e1308..23f7e2e 100644 +--- a/Makefile ++++ b/Makefile +@@ -87,7 +87,7 @@ DEBUG = $(BRANDING_DIR)/debug.js + .PHONY: all clean install uninstall build-date + + .NOTPARALLEL: +-all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(DOCUMENT_TEMPLATES) $(LICENSE) $(WELCOME) $(INFO) build-date ++all: $(SCHEMA) $(LICENSE) $(WELCOME) $(INFO) build-date + + build-date: $(GRUNT_FILES) + sed "s|\(const buildVersion = \).*|\1'${PRODUCT_VERSION}';|" -i $(COMMON_DEFINES_JS) +-- +2.47.0 + diff --git a/patches/server/0001-fix-licences.patch b/patches/server/0001-fix-licences.patch deleted file mode 100644 index 90c3534..0000000 --- a/patches/server/0001-fix-licences.patch +++ /dev/null @@ -1,155 +0,0 @@ -From fd17b0f68640cb90b81f516af52ab71e0242d410 Mon Sep 17 00:00:00 2001 -From: Fabrice -Date: Mon, 14 Oct 2024 16:57:02 +0200 -Subject: [PATCH] fix licences - ---- - Common/sources/commondefines.js | 4 ++-- - Common/sources/constants.js | 6 +++--- - Common/sources/license.js | 20 ++++++++++---------- - FileConverter/package.json | 3 ++- - Makefile | 3 ++- - package.json | 6 +++--- - 6 files changed, 22 insertions(+), 20 deletions(-) - -diff --git a/Common/sources/commondefines.js b/Common/sources/commondefines.js -index fc8756b9..c1a9a7ff 100644 ---- a/Common/sources/commondefines.js -+++ b/Common/sources/commondefines.js -@@ -1173,8 +1173,8 @@ const FileStatus = { - NeedPassword: 9 - }; - --const buildVersion = '4.1.2'; --const buildNumber = 37; -+const buildVersion = '8.1.3'; -+const buildNumber = 2; - - exports.TaskQueueData = TaskQueueData; - exports.CMailMergeSendData = CMailMergeSendData; -diff --git a/Common/sources/constants.js b/Common/sources/constants.js -index ffaabaf7..003aa099 100644 ---- a/Common/sources/constants.js -+++ b/Common/sources/constants.js -@@ -87,9 +87,9 @@ exports.LICENSE_RESULT = { - NotBefore: 16 - }; - --exports.LICENSE_CONNECTIONS = 20; --exports.LICENSE_USERS = 3; --exports.LICENSE_EXPIRE_USERS_ONE_DAY = 24 * 60 * 60; // day in seconds -+exports.LICENSE_CONNECTIONS = 999999; -+exports.LICENSE_USERS = 999999; -+exports.LICENSE_EXPIRE_USERS_ONE_DAY = new Date("2999-01-01T23:59:59.000Z").getTime() / 1000; // day in seconds - - exports.AVS_OFFICESTUDIO_FILE_UNKNOWN = 0x0000; - exports.AVS_OFFICESTUDIO_FILE_DOCUMENT = 0x0040; -diff --git a/Common/sources/license.js b/Common/sources/license.js -index 5df8d693..2764be54 100644 ---- a/Common/sources/license.js -+++ b/Common/sources/license.js -@@ -34,7 +34,7 @@ - - const constants = require('./constants'); - --const buildDate = '6/29/2016'; -+const buildDate = '2024-08-27T14:34:00.000Z'; - const oBuildDate = new Date(buildDate); - - exports.readLicense = function*() { -@@ -47,21 +47,21 @@ exports.readLicense = function*() { - light: false, - packageType: constants.PACKAGE_TYPE_OS, - mode: constants.LICENSE_MODE.None, -- branding: false, -+ branding: true, - connections: constants.LICENSE_CONNECTIONS, - connectionsView: constants.LICENSE_CONNECTIONS, -- customization: false, -- advancedApi: false, -- usersCount: 0, -- usersViewCount: 0, -+ customization: true, -+ advancedApi: true, -+ usersCount: constants.LICENSE_CONNECTIONS, -+ usersViewCount: constants.LICENSE_CONNECTIONS, - usersExpire: constants.LICENSE_EXPIRE_USERS_ONE_DAY, -- hasLicense: false, -- plugins: false, -+ hasLicense: true, -+ plugins: true, - buildDate: oBuildDate, - startDate: startDate, -- endDate: null, -+ endDate: new Date("2099-01-01T23:59:59.000Z"), - customerId: "", -- alias: "" -+ alias: "community" - }, null]; - }; - -diff --git a/FileConverter/package.json b/FileConverter/package.json -index 6b6207b1..a0ccb02b 100644 ---- a/FileConverter/package.json -+++ b/FileConverter/package.json -@@ -5,6 +5,7 @@ - "private": true, - "bin": "sources/convertermaster.js", - "dependencies": { -+ "ms": "2.1.1", - "@expo/spawn-async": "1.3.0", - "bytes": "3.0.0", - "co": "4.6.0", -@@ -19,4 +20,4 @@ - "../DocService/sources/editorDataRedis.js" - ] - } --} -+} -\ No newline at end of file -diff --git a/Makefile b/Makefile -index e8e1308f..0d63a03b 100644 ---- a/Makefile -+++ b/Makefile -@@ -87,7 +87,8 @@ DEBUG = $(BRANDING_DIR)/debug.js - .PHONY: all clean install uninstall build-date - - .NOTPARALLEL: --all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(DOCUMENT_TEMPLATES) $(LICENSE) $(WELCOME) $(INFO) build-date -+#all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(DOCUMENT_TEMPLATES) $(LICENSE) $(WELCOME) $(INFO) build-date -+all: $(SCHEMA) $(LICENSE) $(WELCOME) $(INFO) build-date - - build-date: $(GRUNT_FILES) - sed "s|\(const buildVersion = \).*|\1'${PRODUCT_VERSION}';|" -i $(COMMON_DEFINES_JS) -diff --git a/package.json b/package.json -index 78c3c50d..36593a55 100644 ---- a/package.json -+++ b/package.json -@@ -8,7 +8,7 @@ - "server": { - "expand": true, - "src": [ -- "./**/sources/*.js", -+ "./**/sources/**/*.js", - "./Common/package.json", - "./DocService/package.json", - "./DocService/public/healthcheck.docx", -@@ -43,7 +43,7 @@ - }, - "postprocess": { - "src": [ -- "./build/server/**/sources/*.js" -+ "./build/server/**/sources/**/*.js" - ], - "dest": "./" - }, -@@ -82,4 +82,4 @@ - "install:Metrics": "npm ci --prefix ./Metrics", - "build": "run-p install:*" - } --} -+} -\ No newline at end of file --- -2.30.2 - diff --git a/patches/server/0002-Add-ms-package-dependency-to-FileConverter.patch b/patches/server/0002-Add-ms-package-dependency-to-FileConverter.patch new file mode 100644 index 0000000..6ce3cc6 --- /dev/null +++ b/patches/server/0002-Add-ms-package-dependency-to-FileConverter.patch @@ -0,0 +1,41 @@ +From 11da7405507e744086a739915d6b046f82b749b4 Mon Sep 17 00:00:00 2001 +From: WS-Bot +Date: Mon, 14 Oct 2024 16:57:25 +0200 +Subject: [PATCH 2/3] Add 'ms' package dependency to FileConverter + +--- + FileConverter/npm-shrinkwrap.json | 5 +++++ + FileConverter/package.json | 1 + + 2 files changed, 6 insertions(+) + +diff --git a/FileConverter/npm-shrinkwrap.json b/FileConverter/npm-shrinkwrap.json +index e57a7f5..04afbc4 100644 +--- a/FileConverter/npm-shrinkwrap.json ++++ b/FileConverter/npm-shrinkwrap.json +@@ -4,6 +4,11 @@ + "lockfileVersion": 1, + "requires": true, + "dependencies": { ++ "ms": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", ++ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" ++ }, + "@expo/spawn-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.3.0.tgz", +diff --git a/FileConverter/package.json b/FileConverter/package.json +index 6b6207b..3e2abd0 100644 +--- a/FileConverter/package.json ++++ b/FileConverter/package.json +@@ -5,6 +5,7 @@ + "private": true, + "bin": "sources/convertermaster.js", + "dependencies": { ++ "ms": "2.1.1", + "@expo/spawn-async": "1.3.0", + "bytes": "3.0.0", + "co": "4.6.0", +-- +2.47.0 + diff --git a/patches/server/0003-Fix-packaging-of-DocService.patch b/patches/server/0003-Fix-packaging-of-DocService.patch new file mode 100644 index 0000000..176e284 --- /dev/null +++ b/patches/server/0003-Fix-packaging-of-DocService.patch @@ -0,0 +1,34 @@ +From 51b7c7be0ce97803ba17c31e871534cbeb5fb56a Mon Sep 17 00:00:00 2001 +From: WS-Bot +Date: Mon, 26 Aug 2024 14:20:32 +0200 +Subject: [PATCH 3/3] Fix packaging of DocService + +--- + package.json | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/package.json b/package.json +index 0050642..a08f856 100644 +--- a/package.json ++++ b/package.json +@@ -8,7 +8,7 @@ + "server": { + "expand": true, + "src": [ +- "./**/sources/*.js", ++ "./**/sources/**/*.js", + "./Common/package.json", + "./DocService/package.json", + "./DocService/public/healthcheck.docx", +@@ -43,7 +43,7 @@ + }, + "postprocess": { + "src": [ +- "./build/server/**/sources/*.js" ++ "./build/server/**/sources/**/*.js" + ], + "dest": "./" + }, +-- +2.47.0 + diff --git a/patches/web-apps/0001-add-mobile.patch b/patches/web-apps/0001-add-mobile.patch deleted file mode 100644 index 4bd35c9..0000000 --- a/patches/web-apps/0001-add-mobile.patch +++ /dev/null @@ -1,51 +0,0 @@ -From de497cfe4ac6a6cdb522bb7463624c91d282b721 Mon Sep 17 00:00:00 2001 -From: Fabrice -Date: Mon, 14 Oct 2024 16:57:25 +0200 -Subject: [PATCH] add mobile - ---- - apps/documenteditor/mobile/src/lib/patch.jsx | 2 +- - apps/presentationeditor/mobile/src/lib/patch.jsx | 2 +- - apps/spreadsheeteditor/mobile/src/lib/patch.jsx | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/apps/documenteditor/mobile/src/lib/patch.jsx b/apps/documenteditor/mobile/src/lib/patch.jsx -index 963aca451c..1ee48e8568 100644 ---- a/apps/documenteditor/mobile/src/lib/patch.jsx -+++ b/apps/documenteditor/mobile/src/lib/patch.jsx -@@ -4,7 +4,7 @@ const EditorUIController = () => { - }; - - EditorUIController.isSupportEditFeature = () => { -- return false -+ return true - }; - - EditorUIController.getToolbarOptions = () => { -diff --git a/apps/presentationeditor/mobile/src/lib/patch.jsx b/apps/presentationeditor/mobile/src/lib/patch.jsx -index ec7b37a2ce..bfd8795839 100644 ---- a/apps/presentationeditor/mobile/src/lib/patch.jsx -+++ b/apps/presentationeditor/mobile/src/lib/patch.jsx -@@ -1,6 +1,6 @@ - - const EditorUIController = () => null; - --EditorUIController.isSupportEditFeature = () => false; -+EditorUIController.isSupportEditFeature = () => true; - - export default EditorUIController; -diff --git a/apps/spreadsheeteditor/mobile/src/lib/patch.jsx b/apps/spreadsheeteditor/mobile/src/lib/patch.jsx -index ec7b37a2ce..bfd8795839 100644 ---- a/apps/spreadsheeteditor/mobile/src/lib/patch.jsx -+++ b/apps/spreadsheeteditor/mobile/src/lib/patch.jsx -@@ -1,6 +1,6 @@ - - const EditorUIController = () => null; - --EditorUIController.isSupportEditFeature = () => false; -+EditorUIController.isSupportEditFeature = () => true; - - export default EditorUIController; --- -2.30.2 -