diff --git a/build/install/common/build-frontend.sh b/build/install/common/build-frontend.sh index 100da7a93d..4ab83027ec 100644 --- a/build/install/common/build-frontend.sh +++ b/build/install/common/build-frontend.sh @@ -57,7 +57,7 @@ echo "== FRONT-END-BUILD ==" cd ${SRC_PATH} yarn install - +# debug config if [ "$DEBUG_INFO" = true ]; then yarn debug-info fi diff --git a/build/install/docker/.env b/build/install/docker/.env index 6ab18032f2..3ead151ce9 100644 --- a/build/install/docker/.env +++ b/build/install/docker/.env @@ -2,12 +2,12 @@ PRODUCT=onlyoffice REPO=${PRODUCT} STATUS="" - SRV_VERSION=latest MYSQL_VERSION=8.0.18 ELK_VERSION=7.13.1 SERVICE_PORT=5050 CONTAINER_PREFIX=${PRODUCT}- - DOCKERFILE=Dockerfile-app + DOCKER_TAG=latest + DOCKERFILE=Dockerfile.app # zookeeper # ZOO_PORT=2181 diff --git a/build/install/docker/Dockerfile-app-dll b/build/install/docker/Dockerfile-app-dll deleted file mode 100644 index e2f7187ec8..0000000000 --- a/build/install/docker/Dockerfile-app-dll +++ /dev/null @@ -1,355 +0,0 @@ -### STAGE 1: Base image ###### -ARG SRC_PATH=/app/onlyoffice/src -ARG BUILD_PATH=/var/www -ARG REPO_TAG=5.0.202-focal-amd64 -ARG REPO=mcr.microsoft.com/dotnet/sdk - -FROM $REPO:$REPO_TAG AS base -ARG RELEASE_DATE=2021-04-11 -ARG VERSION=8.9.0.190 -ARG GIT_BRANCH=master -ARG SRC_PATH -ARG BUILD_PATH - -LABEL onlyoffice.appserver.release-date="${RELEASE_DATE}" \ - onlyoffice.appserver.version="${VERSION}" \ - maintainer="Ascensio System SIA " - -ENV LANG=en_US.UTF-8 \ - LANGUAGE=en_US:en \ - LC_ALL=en_US.UTF-8 - -RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ - apt-get -y update && \ - apt-get -y upgrade && \ - apt-get -y dist-upgrade && \ - apt-get install -yq sudo locales && \ - addgroup --system --gid 107 onlyoffice && \ - adduser -uid 104 --quiet --home /var/www/onlyoffice --system --gid 107 onlyoffice && \ - locale-gen en_US.UTF-8 && \ - apt-get -y update && \ - apt-get install -yq git apt-utils npm nodejs && \ - npm install --global yarn - -RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ - echo ${GIT_BRANCH} && \ - git clone --depth 1 -b ${GIT_BRANCH} https://github.com/ONLYOFFICE/AppServer.git ${SRC_PATH} - -RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ - cd ${SRC_PATH} && \ - mkdir -p /var/www/public/ && cp -rf public/* /var/www/public/ && \ - mkdir -p /app/onlyoffice/config/ && cp -rf config/* /app/onlyoffice/config/ && \ - mkdir -p /etc/nginx/conf.d && cp -f config/nginx/onlyoffice*.conf /etc/nginx/conf.d/ && \ - mkdir -p /etc/nginx/includes/ && cp -f config/nginx/includes/onlyoffice*.conf /etc/nginx/includes/ && \ - sed -e 's/#//' -i /etc/nginx/conf.d/onlyoffice.conf && \ - cd ${SRC_PATH}/build/install/common/ && \ - bash build-frontend.sh -sp ${SRC_PATH} && \ - bash build-backend.sh -sp ${SRC_PATH} -ar "--disable-parallel" && \ - bash publish-backend.sh -sp ${SRC_PATH} -bp ${BUILD_PATH} -ar "--disable-parallel" - -COPY config/mysql/conf.d/mysql.cnf /etc/mysql/conf.d/mysql.cnf -COPY config/supervisor/supervisord.conf /etc/supervisor/conf.d/supervisord.conf - -RUN sed -i 's/Server=.*;Port=/Server=127.0.0.1;Port=/' /app/onlyoffice/config/appsettings.test.json - -RUN rm -rf /var/lib/apt/lists/* - -### STAGE 2: Build ### - -FROM mcr.microsoft.com/dotnet/aspnet:5.0.4-focal-amd64 as builder - -COPY --from=base /app/onlyoffice/config/ /app/onlyoffice/config/ - -# add defualt user and group for no-root run -RUN mkdir -p /var/log/onlyoffice && \ - mkdir -p /app/onlyoffice/data && \ - addgroup --system --gid 107 onlyoffice && \ - adduser -uid 104 --quiet --home /var/www/onlyoffice --system --gid 107 onlyoffice && \ - chown onlyoffice:onlyoffice /app/onlyoffice -R && \ - chown onlyoffice:onlyoffice /var/log -R && \ - chown onlyoffice:onlyoffice /var/www -R -RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ - apt-get -y update && \ - apt-get -y upgrade && \ - apt-get install -yq nano &&\ - apt-get install -yq jq &&\ - apt-get install -yq nodejs &&\ - apt-get install -yq libgdiplus - -#USER onlyoffice -EXPOSE 5050 - -ENTRYPOINT ["./docker-entrypoint.sh"] - -### STAGE 3: Run ### - -## NGINX ## -#FROM nginx:stable-alpine AS web -FROM nginx AS web -ARG SRC_PATH="/app/onlyoffice/src" - -RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ - apt-get -y update && \ - apt-get -y upgrade && \ - apt-get install -yq vim && \ - # Remove default nginx website - rm -rf /usr/share/nginx/html/* - -# copy static services files and config values -COPY --from=base /etc/nginx/conf.d /etc/nginx/conf.d -COPY --from=base /etc/nginx/includes /etc/nginx/includes -COPY --from=base /var/www/public /var/www/public -COPY --from=base ${SRC_PATH}/products/ASC.CRM/Client/dist /var/www/products/ASC.CRM/client -COPY --from=base ${SRC_PATH}/web/ASC.Web.Editor/dist /var/www/products/ASC.Files/editor -COPY --from=base ${SRC_PATH}/products/ASC.Files/Client/dist /var/www/products/ASC.Files/client -COPY --from=base ${SRC_PATH}/web/ASC.Web.Login/dist /var/www/studio/login -COPY --from=base ${SRC_PATH}/products/ASC.People/Client/dist /var/www/products/ASC.People/client -COPY --from=base ${SRC_PATH}/products/ASC.Projects/Client/dist /var/www/products/ASC.Projects/client -COPY --from=base ${SRC_PATH}/web/ASC.Web.Client/dist /var/www/studio/client - -COPY /config/nginx/templates/upstream.conf.template /etc/nginx/templates/upstream.conf.template - -# add defualt user and group for no-root run -RUN chown nginx:nginx /etc/nginx/* -R &&\ - chown nginx:nginx /docker-entrypoint.d/* &&\ - # changes for upstream configure - sed -i 's/localhost:5010/$service_api_system/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/localhost:5012/$service_backup/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/localhost:5021/$service_crm/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/localhost:5007/$service_files/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/localhost:5004/$service_people_server/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/localhost:5020/$service_projects_server/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/localhost:5000/$service_api/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/localhost:5003/$service_studio/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/localhost:9999/$service_urlshortener/' /etc/nginx/conf.d/onlyoffice.conf && \ - sed -i 's/172.*/$document_server;/' /etc/nginx/conf.d/onlyoffice.conf && \ - # configute the image nginx whith less privileged https://hub.docker.com/_/nginx - sed -i 's/pid.*nginx.pid;/pid \/tmp\/nginx.pid;/' /etc/nginx/nginx.conf && \ - sed -i 's/http.*{/http {\n client_body_temp_path \/tmp\/client_temp;\n proxy_temp_path \/tmp\/proxy_temp_path;\n fastcgi_temp_path \/tmp\/fastcgi_temp;\n uwsgi_temp_path \/tmp\/uwsgi_temp;\n scgi_temp_path \/tmp\/scgi_temp;/' /etc/nginx/nginx.conf - -## ASC.ApiSystem ## -FROM builder AS api_system - -WORKDIR /var/www/services/apisystem/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/apisystem/ . - -CMD ["ASC.ApiSystem.dll", "ASC.ApiSystem"] - -## ASC.Data.Backup ## -FROM builder AS backup - -WORKDIR /var/www/services/backup/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/backup/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.Data.Backup.dll", "ASC.Data.Backup", "core:products:folder=/var/www/products/", "core:products:subfolder=server"] - -## ASC.CRM ## -FROM builder AS crm - -WORKDIR /var/www/products/ASC.CRM/server/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.CRM.dll", "ASC.CRM"] - -## ASC.Data.Storage.Encryption ## -FROM builder AS data_storage_encryption - -WORKDIR /var/www/services/storage.encryption/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/storage.encryption/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.Data.Storage.Encryption.dll", "ASC.Data.Storage.Encryption"] - -## ASC.Files ## -FROM builder AS files - -WORKDIR /var/www/products/ASC.Files/server/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ . -COPY --from=base --chown=onlyoffice:onlyoffice ${SRC_PATH}/ASC.Files/Server/DocStore . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.Files.dll", "ASC.Files"] - -## ASC.Files.Service ## -FROM builder AS files_services - -WORKDIR /var/www/products/ASC.Files/service/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/service/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People*.dll /var/www/products/ASC.People/Server/ - -CMD ["ASC.Files.Service.dll", "ASC.Files.Service", "core:products:folder=/var/www/products/", "core:products:subfolder=server"] - -## ASC.Data.Storage.Migration ## -FROM builder AS data_storage_migration - -WORKDIR /var/www/services/storage.migration/service/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/storage.migration/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ /var/www/products/ASC.Files/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ /var/www/products/ASC.People/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ /var/www/products/ASC.CRM/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ /var/www/products/ASC.Projects/Server/ - - -CMD ["ASC.Data.Storage.Migration.dll", "ASC.Data.Storage.Migration"] - -## ASC.Notify ## -FROM builder AS notify - -WORKDIR /var/www/services/notify/service - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base /var/www/services/notify/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/Server/ - -CMD ["ASC.Notify.dll", "ASC.Notify", "core:products:folder=/var/www/products/", "core:products:subfolder=server"] - -## ASC.People ## -FROM builder AS people_server - -WORKDIR /var/www/products/ASC.People/server/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.People.dll", "ASC.People"] - -## ASC.Projects ## -FROM builder AS projects_server - -WORKDIR /var/www/products/ASC.Projects/server/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.Projects.dll", "ASC.Projects"] - -## ASC.Socket.IO.Svc ## -FROM builder AS socket - -WORKDIR /var/www/services/socket/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/socket/service/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/socket/client /var/www/ASC.Socket.IO -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ /var/www/products/ASC.Projects/server/ - -CMD ["ASC.Socket.IO.Svc.dll", "ASC.Socket.IO.Svc"] - -## ASC.Studio.Notify ## -FROM builder AS studio_notify - -WORKDIR /var/www/services/studio.notify/service/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base /var/www/services/studio.notify/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/Server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/Server/ - -CMD ["ASC.Studio.Notify.dll", "ASC.Studio.Notify", "core:products:folder=/var/www/products/", "core:products:subfolder=server"] - -## ASC.TelegramService ## -FROM builder AS telegram_service - -WORKDIR /var/www/services/telegram/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/telegram/service/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.TelegramService.dll", "ASC.TelegramService"] - -## ASC.Thumbnails.Svc ## -FROM builder AS thumbnails - -WORKDIR /var/www/services/thumb/service/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/thumb/service/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/thumb/client /var/www/services/thumb/client - -CMD ["ASC.Thumbnails.Svc.dll", "ASC.Thumbnails.Svc"] - -## ASC.UrlShortener.Svc ## -FROM builder AS urlshortener - -WORKDIR /var/www/services/urlshortener/service/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/urlshortener/service/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/services/urlshortener/client /var/www/services/urlshortener/client - -CMD ["ASC.UrlShortener.Svc.dll", "ASC.UrlShortener.Svc"] - -## ASC.Web.Api ## -FROM builder AS api - -WORKDIR /var/www/studio/api/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/studio/api . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.Web.Api.dll", "ASC.Web.Api"] - -## ASC.Web.Studio ## -FROM builder AS studio - -WORKDIR /var/www/studio/server/ - -COPY --chown=onlyoffice:onlyoffice docker-entrypoint.sh . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/studio/server/ . -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Files/server/ASC.Files*.dll /var/www/products/ASC.Files/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.People/server/ASC.People.dll /var/www/products/ASC.People/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.CRM/server/ASC.CRM*.dll /var/www/products/ASC.CRM/server/ -COPY --from=base --chown=onlyoffice:onlyoffice /var/www/products/ASC.Projects/server/ASC.Projects*.dll /var/www/products/ASC.Projects/server/ - -CMD ["ASC.Web.Studio.dll", "ASC.Web.Studio"] diff --git a/build/install/docker/Dockerfile-app b/build/install/docker/Dockerfile.app similarity index 97% rename from build/install/docker/Dockerfile-app rename to build/install/docker/Dockerfile.app index dc96070a3c..aaf9b4df1c 100644 --- a/build/install/docker/Dockerfile-app +++ b/build/install/docker/Dockerfile.app @@ -37,12 +37,10 @@ RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - && \ apt-get install -y nodejs -RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ - echo ${GIT_BRANCH} && \ - git clone --depth 1 --recurse-submodules -b ${GIT_BRANCH} https://github.com/ONLYOFFICE/AppServer.git ${SRC_PATH} +RUN echo ${GIT_BRANCH} && \ + git clone --recurse-submodules -b ${GIT_BRANCH} https://github.com/ONLYOFFICE/AppServer.git ${SRC_PATH} -RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ - cd ${SRC_PATH} && \ +RUN cd ${SRC_PATH} && \ mkdir -p /app/onlyoffice/config/ && cp -rf config/* /app/onlyoffice/config/ && \ mkdir -p /etc/nginx/conf.d && cp -f config/nginx/onlyoffice*.conf /etc/nginx/conf.d/ && \ mkdir -p /etc/nginx/includes/ && cp -f config/nginx/includes/onlyoffice*.conf /etc/nginx/includes/ && \ @@ -64,7 +62,6 @@ RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \ rm -rf ${SRC_PATH}/products/ASC.People/Server/* && \ rm -rf ${SRC_PATH}/products/ASC.Projects/Server/* - COPY config/mysql/conf.d/mysql.cnf /etc/mysql/conf.d/mysql.cnf RUN rm -rf /var/lib/apt/lists/* diff --git a/build/install/docker/appserver.yml b/build/install/docker/appserver.yml index 200b580624..d2ef54a492 100644 --- a/build/install/docker/appserver.yml +++ b/build/install/docker/appserver.yml @@ -18,7 +18,6 @@ x-service: DOCUMENT_SERVER_JWT_HEADER: ${DOCUMENT_SERVER_JWT_HEADER} DOCUMENT_SERVER_URL_PUBLIC: ${DOCUMENT_SERVER_URL_PUBLIC} DOCUMENT_SERVER_URL_INTERNAL: ${DOCUMENT_SERVER_URL_INTERNAL} - DOCUMENT_SERVER_URL_CONVERTER: ${DOCUMENT_SERVER_URL_CONVERTER} KAFKA_HOST: ${KAFKA_HOST} ELK_HOST: ${ELK_HOST} PROXY_HOST: ${PROXY_HOST} @@ -32,7 +31,6 @@ x-service: - calendar_data:/var/www/products/ASC.Calendar/server/ - mail_data:/var/www/products/ASC.Mail/server/ - services: onlyoffice-elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION} @@ -55,97 +53,64 @@ services: - "9200" - "9300" - onlyoffice-zookeeper: - image: zookeeper:latest - container_name: ${ZOO_HOST} - restart: always - expose: - - "2181" - environment: - ZOO_MY_ID: 1 - ZOO_PORT: ${ZOO_PORT:-2181} - ZOO_SERVER: ${ZOO_SERVER} - volumes: - - zoo_data:/data - - zoo_log:/datalog - - onlyoffice-kafka: - image: confluentinc/cp-kafka:latest - container_name: ${KAFKA_HOST} - restart: always - expose: - - "9092" - depends_on: - - onlyoffice-zookeeper - environment: - KAFKA_ADVERTISED_LISTENERS: ${KAFKA_ADVERTISED_LISTENERS} - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: ${KAFKA_LISTENER_SECURITY_PROTOCOL_MAP} - KAFKA_INTER_BROKER_LISTENER_NAME: ${KAFKA_INTER_BROKER_LISTENER_NAME} - KAFKA_ZOOKEEPER_CONNECT: ${KAFKA_ZOOKEEPER_CONNECT} - KAFKA_BROKER_ID: ${KAFKA_BROKER_ID} - KAFKA_LOG4J_LOGGERS: ${KAFKA_LOG4J_LOGGERS} - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: ${KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR} - volumes: - - kafka_data:/var/lib/kafka/data - onlyoffice-api-system: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-api-system:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-api-system:${DOCKER_TAG}" container_name: ${API_SYSTEM_HOST} onlyoffice-backup: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-backup:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-backup:${DOCKER_TAG}" container_name: ${BACKUP_HOST} onlyoffice-calendar: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-calendar:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-calendar:${DOCKER_TAG}" container_name: ${CALENDAR_HOST} onlyoffice-crm: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-crm:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-crm:${DOCKER_TAG}" container_name: ${CRM_HOST} onlyoffice-storage-encryption: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-storage-encryption:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-storage-encryption:${DOCKER_TAG}" container_name: ${STORAGE_ENCRYPTION_HOST} onlyoffice-files: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-files:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-files:${DOCKER_TAG}" container_name: ${FILES_HOST} onlyoffice-files-services: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-files-services:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-files-services:${DOCKER_TAG}" container_name: ${FILES_SERVICES_HOST} onlyoffice-mail: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-mail:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-mail:${DOCKER_TAG}" container_name: ${MAIL_HOST} onlyoffice-storage-migration: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-storage-migration:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-storage-migration:${DOCKER_TAG}" container_name: ${STORAGE_MIGRATION_HOST} onlyoffice-people-server: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-people-server:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-people-server:${DOCKER_TAG}" container_name: ${PEOPLE_SERVER_HOST} onlyoffice-projects-server: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-projects-server:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-projects-server:${DOCKER_TAG}" container_name: ${PROJECTS_SERVER_HOST} onlyoffice-socket: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-socket:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-socket:${DOCKER_TAG}" container_name: ${SOCKET_HOST} expose: - ${SERVICE_PORT} @@ -153,17 +118,17 @@ services: onlyoffice-studio-notify: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-studio-notify:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-studio-notify:${DOCKER_TAG}" container_name: ${STUDIO_NOTIFY_HOST} onlyoffice-telegram-service: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-telegram-service:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-telegram-service:${DOCKER_TAG}" container_name: ${TELEGRAM_SERVICE_HOST} onlyoffice-thumbnails: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-thumbnails:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-thumbnails:${DOCKER_TAG}" container_name: ${THUMBNAILS_HOST} expose: - ${SERVICE_PORT} @@ -171,7 +136,7 @@ services: onlyoffice-urlshortener: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-urlshortener:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-urlshortener:${DOCKER_TAG}" container_name: ${URLSHORTENER_HOST} expose: - ${SERVICE_PORT} @@ -179,24 +144,24 @@ services: onlyoffice-api: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-api:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-api:${DOCKER_TAG}" container_name: ${API_HOST} onlyoffice-studio: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-studio:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-studio:${DOCKER_TAG}" container_name: ${STUDIO_HOST} onlyoffice-ssoauth: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-ssoauth:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-ssoauth:${DOCKER_TAG}" container_name: ${SSOAUTH_HOST} expose: - ${SERVICE_PORT} - "9834" onlyoffice-proxy: - image: "${REPO}/${STATUS}appserver-proxy:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-proxy:${DOCKER_TAG}" container_name: ${PROXY_HOST} restart: always expose: @@ -257,10 +222,7 @@ networks: name: ${NETWORK_NAME} volumes: - kafka_data: es_data: - zoo_data: - zoo_log: proxy_log: app_data: files_data: diff --git a/build/install/docker/build.yml b/build/install/docker/build.yml index 42e6d502f7..444d3a49ea 100644 --- a/build/install/docker/build.yml +++ b/build/install/docker/build.yml @@ -6,158 +6,158 @@ services: context: ./ dockerfile: "${DOCKERFILE}" target: api_system - image: "${REPO}/${STATUS}appserver-api-system:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-api-system:${DOCKER_TAG}" onlyoffice-backup: build: context: ./ dockerfile: "${DOCKERFILE}" target: backup - image: "${REPO}/${STATUS}appserver-backup:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-backup:${DOCKER_TAG}" onlyoffice-calendar: build: context: ./ dockerfile: "${DOCKERFILE}" target: calendar - image: "${REPO}/${STATUS}appserver-calendar:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-calendar:${DOCKER_TAG}" onlyoffice-crm: build: context: ./ dockerfile: "${DOCKERFILE}" target: crm - image: "${REPO}/${STATUS}appserver-crm:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-crm:${DOCKER_TAG}" onlyoffice-storage-encryption: build: context: ./ dockerfile: "${DOCKERFILE}" target: data_storage_encryption - image: "${REPO}/${STATUS}appserver-storage-encryption:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-storage-encryption:${DOCKER_TAG}" onlyoffice-files: build: context: ./ dockerfile: "${DOCKERFILE}" target: files - image: "${REPO}/${STATUS}appserver-files:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-files:${DOCKER_TAG}" onlyoffice-files-services: build: context: ./ dockerfile: "${DOCKERFILE}" target: files_services - image: "${REPO}/${STATUS}appserver-files-services:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-files-services:${DOCKER_TAG}" onlyoffice-mail: build: context: ./ dockerfile: "${DOCKERFILE}" target: mail - image: "${REPO}/${STATUS}appserver-mail:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-mail:${DOCKER_TAG}" onlyoffice-storage-migration: build: context: ./ dockerfile: "${DOCKERFILE}" target: data_storage_migration - image: "${REPO}/${STATUS}appserver-storage-migration:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-storage-migration:${DOCKER_TAG}" onlyoffice-notify: build: context: ./ dockerfile: "${DOCKERFILE}" target: notify - image: "${REPO}/${STATUS}appserver-notify:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-notify:${DOCKER_TAG}" onlyoffice-people-server: build: context: ./ dockerfile: "${DOCKERFILE}" target: people_server - image: "${REPO}/${STATUS}appserver-people-server:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-people-server:${DOCKER_TAG}" onlyoffice-projects-server: build: context: ./ dockerfile: "${DOCKERFILE}" target: projects_server - image: "${REPO}/${STATUS}appserver-projects-server:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-projects-server:${DOCKER_TAG}" onlyoffice-socket: build: context: ./ dockerfile: "${DOCKERFILE}" target: socket - image: "${REPO}/${STATUS}appserver-socket:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-socket:${DOCKER_TAG}" onlyoffice-studio-notify: build: context: ./ dockerfile: "${DOCKERFILE}" target: studio_notify - image: "${REPO}/${STATUS}appserver-studio-notify:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-studio-notify:${DOCKER_TAG}" onlyoffice-telegram-service: build: context: ./ dockerfile: "${DOCKERFILE}" target: telegram_service - image: "${REPO}/${STATUS}appserver-telegram-service:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-telegram-service:${DOCKER_TAG}" onlyoffice-thumbnails: build: context: ./ dockerfile: "${DOCKERFILE}" target: thumbnails - image: "${REPO}/${STATUS}appserver-thumbnails:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-thumbnails:${DOCKER_TAG}" onlyoffice-urlshortener: build: context: ./ dockerfile: "${DOCKERFILE}" target: urlshortener - image: "${REPO}/${STATUS}appserver-urlshortener:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-urlshortener:${DOCKER_TAG}" onlyoffice-api: build: context: ./ dockerfile: "${DOCKERFILE}" target: api - image: "${REPO}/${STATUS}appserver-api:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-api:${DOCKER_TAG}" onlyoffice-studio: build: context: ./ dockerfile: "${DOCKERFILE}" target: studio - image: "${REPO}/${STATUS}appserver-studio:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-studio:${DOCKER_TAG}" onlyoffice-ssoauth: build: context: ./ dockerfile: "${DOCKERFILE}" target: ssoauth - image: "${REPO}/${STATUS}appserver-ssoauth:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-ssoauth:${DOCKER_TAG}" onlyoffice-bin-share: build: context: ./ dockerfile: "${DOCKERFILE}" target: bin_share - image: "${REPO}/${STATUS}appserver-bin-share:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-bin-share:${DOCKER_TAG}" onlyoffice-wait-bin-share: build: context: ./ dockerfile: "${DOCKERFILE}" target: wait_bin_share - image: "${REPO}/${STATUS}appserver-wait-bin-share:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-wait-bin-share:${DOCKER_TAG}" onlyoffice-proxy: build: context: ./ dockerfile: "${DOCKERFILE}" target: web - image: "${REPO}/${STATUS}appserver-proxy:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-proxy:${DOCKER_TAG}" diff --git a/build/install/docker/docker-entrypoint.sh b/build/install/docker/docker-entrypoint.sh index c704d7b018..67da7c3c5c 100755 --- a/build/install/docker/docker-entrypoint.sh +++ b/build/install/docker/docker-entrypoint.sh @@ -1,8 +1,24 @@ #!/bin/bash -echo "##########################################################" -echo "############## Run App Service ####################" -echo "##########################################################" +# read parameters +if [ -n "$1" ]; then + DOTNET_RUN="${1}"; + shift +fi + +if [ -n "$1" ]; then + DOTNET_LOG_NAME="${1}"; + shift +fi + +while [ "$1" != "" ]; do + PARAMETERS="$PARAMETERS --${1}"; + shift +done + +echo "#-------------------------------------#" +echo "Run ${DOTNET_RUN}" +echo "#-------------------------------------#" PRODUCT=${PRODUCT:-"onlyoffice"} BASE_DIR="/app/${PRODUCT}" @@ -29,9 +45,6 @@ DOCUMENT_SERVER_JWT_SECRET=${DOCUMENT_SERVER_JWT_SECRET:-"your_jwt_secret"} DOCUMENT_SERVER_JWT_HEADER=${DOCUMENT_SERVER_JWT_HEADER:-"AuthorizationJwt"} DOCUMENT_SERVER_URL_PUBLIC=${DOCUMENT_SERVER_URL_PUBLIC:-"/ds-vpath/"} DOCUMENT_SERVER_URL_INTERNAL=${DOCUMENT_SERVER_URL_INTERNAL:-"${SHEME}://${PRODUCT}-document-server/"} -DOCUMENT_SERVER_URL_CONVERTER=${DOCUMENT_SERVER_URL_CONVERTER:-"/ds-vpath/ConvertService.ashx"} -VIEWED_MEDIA=${VIEWED_MEDIA:-'".aac",".flac",".m4a",".mp3",".oga",".ogg",".wav",".f4v",".m4v",".mov",".mp4",".ogv",".webm",".avi"'} -FFMPEG_EXTS=${FFMPEG_EXTS:-'"avi", "mpeg", "mpg", "wmv"'} ELK_SHEME=${ELK_SHEME:-"http"} ELK_HOST=${ELK_HOST:-"${PRODUCT}-elasticsearch"} @@ -42,29 +55,12 @@ KAFKA_HOST=${KAFKA_HOST:-"kafka"}":9092" APP_STORAGE_ROOT=${APP_STORAGE_ROOT:-"${BASE_DIR}/data/"} -if [ -n "$1" ]; then - DOTNET_RUN="${1}"; - shift -fi - -if [ -n "$1" ]; then - DOTNET_LOG_NAME="${1}"; - shift -fi - -while [ "$1" != "" ]; do - PARAMETERS="$PARAMETERS --${1}"; - shift -done - sed -i "s!Server=.*;Pooling=!Server=${MYSQL_HOST};Port=3306;Database=${MYSQL_DATABASE};User ID=${MYSQL_USER};Password=${MYSQL_PASSWORD};Pooling=!g" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json sed -i "s!\"base-domain\".*,!\"base-domain\": \"${APP_CORE_BASE_DOMAIN}\",!g" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json sed -i "s!\"machinekey\".*,!\"machinekey\": \"${APP_CORE_MACHINEKEY}\",!g" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json sed -i "s!\"public\".*,!\"public\": \"${DOCUMENT_SERVER_URL_PUBLIC}\",!g" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json sed -i "s!\"internal\".*,!\"internal\": \"${DOCUMENT_SERVER_URL_INTERNAL}\",!g" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json sed -i "s!\"portal\".*!\"portal\": \"${APP_URL_PORTAL}\",!g" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json -sed -i "s!\"viewed-media\".*!\"viewed-media\": \[${VIEWED_MEDIA}\]!g" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json -sed -i "s!\"exts\".*!\"exts\": \[ ${FFMPEG_EXTS} \]!g" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json sed -i "0,/\"value\"/s!\"value\".*,!\"value\": \"${DOCUMENT_SERVER_JWT_SECRET}\",!" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json sed -i "s!\"header\".*!\"header\": \"${DOCUMENT_SERVER_JWT_HEADER}\"!" ${PATH_TO_CONF}/appsettings.${APP_DOTNET_ENV}.json @@ -73,7 +69,6 @@ sed -i "s!\"Host\".*!\"Host\": \"${ELK_HOST}\",!g" ${PATH_TO_CONF}/elastic.json sed -i "s!\"Port\".*!\"Port\": \"${ELK_PORT}\",!g" ${PATH_TO_CONF}/elastic.json sed -i "s!\"Threads\".*!\"Threads\": \"${ELK_THREADS}\"!g" ${PATH_TO_CONF}/elastic.json - sed -i "s!\"subfolder\".*!\"subfolder\": \"server\",!g" ${PATH_TO_CONF}/appsettings.services.json sed -i "s!\"BootstrapServers\".*!\"BootstrapServers\": \"${KAFKA_HOST}\"!g" ${PATH_TO_CONF}/kafka.${APP_DOTNET_ENV}.json diff --git a/build/install/docker/hooks/build b/build/install/docker/hooks/build index d601d5aa8a..bc21f3759b 100644 --- a/build/install/docker/hooks/build +++ b/build/install/docker/hooks/build @@ -1,5 +1,5 @@ #!/bin/bash -export SRV_VERSION=$DOCKER_TAG +export DOCKER_TAG=$DOCKER_TAG BUILD_NUMBER="$(date "+%Y%m%d%H")" docker-compose -f build.yml build \ --build-arg GIT_BRANCH=$SOURCE_BRANCH \ diff --git a/build/install/docker/hooks/push b/build/install/docker/hooks/push index e89c6a1b45..8691ce2aca 100644 --- a/build/install/docker/hooks/push +++ b/build/install/docker/hooks/push @@ -1,3 +1,3 @@ #!/bin/bash -export SRV_VERSION=$DOCKER_TAG +export DOCKER_TAG=$DOCKER_TAG docker-compose -f build.yml push diff --git a/build/install/docker/kafka.yml b/build/install/docker/kafka.yml new file mode 100644 index 0000000000..c0d99e5e56 --- /dev/null +++ b/build/install/docker/kafka.yml @@ -0,0 +1,43 @@ +version: "3.6" +services: + onlyoffice-zookeeper: + image: zookeeper:latest + container_name: ${ZOO_HOST} + restart: always + expose: + - "2181" + environment: + ZOO_MY_ID: 1 + ZOO_PORT: ${ZOO_PORT:-2181} + ZOO_SERVER: ${ZOO_SERVER} + volumes: + - /app/onlyoffice/data/zookeeper/zoo_data:/data + - /app/onlyoffice/data/zookeeper/zoo_log:/datalog + + onlyoffice-kafka: + image: confluentinc/cp-kafka:latest + container_name: ${KAFKA_HOST} + restart: always + expose: + - "9092" + depends_on: + - onlyoffice-zookeeper + environment: + KAFKA_ADVERTISED_LISTENERS: ${KAFKA_ADVERTISED_LISTENERS} + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: ${KAFKA_LISTENER_SECURITY_PROTOCOL_MAP} + KAFKA_INTER_BROKER_LISTENER_NAME: ${KAFKA_INTER_BROKER_LISTENER_NAME} + KAFKA_ZOOKEEPER_CONNECT: ${KAFKA_ZOOKEEPER_CONNECT} + KAFKA_BROKER_ID: ${KAFKA_BROKER_ID} + KAFKA_LOG4J_LOGGERS: ${KAFKA_LOG4J_LOGGERS} + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: ${KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR} + volumes: + #- /app/onlyoffice/data/kafka_data:/var/lib/kafka/data + - kafka_data:/var/lib/kafka/data + +volumes: + kafka_data: + +networks: + default: + external: + name: "onlyoffice" diff --git a/build/install/docker/notify.yml b/build/install/docker/notify.yml index 7a437cf4d3..e0d1f828bf 100644 --- a/build/install/docker/notify.yml +++ b/build/install/docker/notify.yml @@ -18,7 +18,6 @@ x-service: DOCUMENT_SERVER_JWT_HEADER: ${DOCUMENT_SERVER_JWT_HEADER} DOCUMENT_SERVER_URL_PUBLIC: ${DOCUMENT_SERVER_URL_PUBLIC} DOCUMENT_SERVER_URL_INTERNAL: ${DOCUMENT_SERVER_URL_INTERNAL} - DOCUMENT_SERVER_URL_CONVERTER: ${DOCUMENT_SERVER_URL_CONVERTER} KAFKA_HOST: ${KAFKA_HOST} ELK_HOST: ${ELK_HOST} PROXY_HOST: ${PROXY_HOST} @@ -35,7 +34,7 @@ x-service: services: onlyoffice-notify: <<: *x-service-base - image: "${REPO}/${STATUS}appserver-notify:${SRV_VERSION}" + image: "${REPO}/${STATUS}appserver-notify:${DOCKER_TAG}" container_name: ${NOTIFY_HOST} networks: diff --git a/config/appsettings.test.json b/config/appsettings.test.json index eb9b0736d8..6c1a76f18f 100644 --- a/config/appsettings.test.json +++ b/config/appsettings.test.json @@ -41,7 +41,7 @@ "value": "ffmpeg", "exts": [ "avi", "mpeg", "mpg", "wmv" ] }, - "viewed-media": [".aac",".flac",".m4a",".mp3",".oga",".ogg",".wav",".f4v",".m4v",".mov",".mp4",".ogv",".webm",".avi"], + "viewed-media": [ ".aac",".flac",".m4a",".mp3",".oga",".ogg",".wav",".f4v",".m4v",".mov",".mp4",".ogv",".webm",".avi" ], "thirdparty": { "enable": [ "box", "dropboxv2", "docusign", "google", "onedrive", "nextcloud", "owncloud", "webdav", "kdrive", "yandex" ] }