Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions build/.docker/bundle.bake.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@

FROM alpine AS bundle
ARG BUILD_ROOT=/package
ARG PRODUCT_NAME_LOW
ARG COMPANY_NAME_LOW

ENV PRODUCT_NAME_LOW=${PRODUCT_NAME_LOW}
ENV COMPANY_NAME_LOW=${COMPANY_NAME_LOW}
# --- Copy build files
RUN mkdir -p /build/documentserver/sdkjs-plugins /build/documentserver/fonts \
/build/documentserver/server/FileConverter/lib /build/documentserver/server/tools
Expand Down Expand Up @@ -48,6 +53,11 @@ FROM alpine AS bundle
RUN mkdir -p /build/documentserver-example/files
COPY --from=example /example/config /build/documentserver-example/config

RUN find /build/documentserver-example/config/ -type f -name '*.json' \
-exec sed -i "s/euro-office/${COMPANY_NAME_LOW}/g" {} +
RUN find /build/documentserver-example/config/ -type f -name '*.json' \
-exec sed -i "s/documentserver/${PRODUCT_NAME_LOW}/g" {} +

#COPY document-server-package/common/documentserver-example/welcome /build/documentserver-example/welcome
#RUN YEAR=$(date +"%Y") && \
# sed -i "s|{{OFFICIAL_PRODUCT_NAME}}|Community Edition|g" /build/documentserver-example/welcome/*.html && \
Expand All @@ -67,6 +77,11 @@ FROM alpine AS bundle

COPY server/Common/config/. /build/documentserver/server/Common/config/

RUN find /build/documentserver/server/Common/config/ -type f -name '*.json' \
-exec sed -i "s/euro-office/${COMPANY_NAME_LOW}/g" {} +
RUN find /build/documentserver/server/Common/config/ -type f -name '*.json' \
-exec sed -i "s/documentserver/${PRODUCT_NAME_LOW}/g" {} +

RUN rm -f /build/documentserver/server/Common/config/runtime.json

COPY server/schema/. /build/documentserver/server/schema/
Expand Down
153 changes: 79 additions & 74 deletions build/.docker/orchestrated.bake.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ FROM fedora:43 AS ds-base

LABEL maintainer Euro-Office

ARG COMPANY_NAME=euro-office
ARG COMPANY_NAME_LOW=euro-office
ARG DS_VERSION_HASH
ENV COMPANY_NAME=$COMPANY_NAME \
APPLICATION_NAME=$COMPANY_NAME \
ENV COMPANY_NAME_LOW=$COMPANY_NAME_LOW \
APPLICATION_NAME=$COMPANY_NAME_LOW \
DS_VERSION_HASH=$DS_VERSION_HASH \
NODE_ENV=production-linux \
NODE_CONFIG_DIR=/etc/$COMPANY_NAME/documentserver \
NODE_CONFIG_DIR=/etc/$COMPANY_NAME_LOW/documentserver \
PKG_NATIVE_CACHE_PATH=/tmp/.cache

RUN dnf -y updateinfo list --security && \
Expand Down Expand Up @@ -52,8 +52,13 @@ FROM ds-base AS ds-service
ARG PRODUCT_EDITION=
ARG RELEASE_VERSION
ARG PRODUCT_VERSION
ARG PRODUCT_NAME_LOW
ARG BUILD_NUMBER
ENV TARGETARCH=$TARGETARCH \
DS_VERSION_HASH=$DS_VERSION_HASH
DS_VERSION_HASH=$DS_VERSION_HASH \
COMPANY_NAME_LOW=$COMPANY_NAME_LOW \
PRODUCT_NAME_LOW=$PRODUCT_NAME_LOW \
BUILD_NUMBER=$BUILD_NUMBER
WORKDIR /ds

COPY --from=packages / /tmp/
Expand All @@ -62,31 +67,31 @@ FROM ds-base AS ds-service
rpm -ivh --nodigest \
https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm && \
TARGETARCH=$(echo $TARGETARCH | sed "s/"$TARGETARCH"/"$(uname -m)"/g") && \
rpm -ivh /tmp/euro-office-documentserver-${PRODUCT_VERSION}-0.${TARGETARCH}.rpm --noscripts --nodeps && \
mkdir -p /var/www/$COMPANY_NAME/documentserver/core-fonts/msttcore && \
rpm -ivh /tmp/${COMPANY_NAME_LOW}-${PRODUCT_NAME_LOW}-${PRODUCT_VERSION}-${BUILD_NUMBER}.${TARGETARCH}.rpm --noscripts --nodeps && \
mkdir -p /var/www/$COMPANY_NAME_LOW/documentserver/core-fonts/msttcore && \
cp -vt \
/var/www/$COMPANY_NAME/documentserver/core-fonts/msttcore \
/var/www/$COMPANY_NAME_LOW/documentserver/core-fonts/msttcore \
/usr/share/fonts/msttcore/*.ttf && \
chmod a+r /etc/$COMPANY_NAME/documentserver*/*.json && \
chmod a+r /etc/$COMPANY_NAME/documentserver/log4js/*.json
chmod a+r /etc/$COMPANY_NAME_LOW/documentserver*/*.json && \
chmod a+r /etc/$COMPANY_NAME_LOW/documentserver/log4js/*.json
COPY --chown=ds:ds \
build/configs/orchestrated/nginx/includes/http-common.conf \
build/configs/orchestrated/nginx/includes/http-upstream.conf \
/etc/$COMPANY_NAME/documentserver/nginx/includes/
/etc/$COMPANY_NAME_LOW/documentserver/nginx/includes/
#COPY --chown=ds:ds \
# fonts/ \
# /var/www/$COMPANY_NAME/documentserver/core-fonts/custom/
# /var/www/$COMPANY_NAME_LOW/documentserver/core-fonts/custom/
#COPY --chown=ds:ds \
# plugins/ \
# /var/www/$COMPANY_NAME/documentserver/sdkjs-plugins/
# /var/www/$COMPANY_NAME_LOW/documentserver/sdkjs-plugins/
#COPY --chown=ds:ds \
# dictionaries/ \
# /var/www/onlyoffice/documentserver/dictionaries/
RUN documentserver-generate-allfonts.sh true && \
#python3 /var/www/onlyoffice/documentserver/server/dictionaries/update.py && \
documentserver-flush-cache.sh -h $DS_VERSION_HASH -r false
# documentserver-pluginsmanager.sh -r false \
# --update=\"/var/www/$COMPANY_NAME/documentserver/sdkjs-plugins/plugin-list-default.json\"
# --update=\"/var/www/$COMPANY_NAME_LOW/documentserver/sdkjs-plugins/plugin-list-default.json\"

# --------------------------------------------------------------------------------
# This image contains ALL runtime components (DocService, Converter, Adminpanel and
Expand Down Expand Up @@ -114,76 +119,76 @@ FROM ds-base AS docs
#/usr/bin/documentserver-pluginsmanager.sh \
/usr/local/bin/
#COPY --from=ds-service \
# /var/www/$COMPANY_NAME/documentserver/server/dictionaries/update.py \
# /var/www/$COMPANY_NAME/documentserver/server/dictionaries/update.py
# /var/www/$COMPANY_NAME_LOW/documentserver/server/dictionaries/update.py \
# /var/www/$COMPANY_NAME_LOW/documentserver/server/dictionaries/update.py
COPY --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/server/tools/allfontsgen \
/var/www/$COMPANY_NAME/documentserver/server/tools/allfontsgen
/var/www/$COMPANY_NAME_LOW/documentserver/server/tools/allfontsgen \
/var/www/$COMPANY_NAME_LOW/documentserver/server/tools/allfontsgen
COPY --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/server/tools/allthemesgen \
/var/www/$COMPANY_NAME/documentserver/server/tools/allthemesgen
/var/www/$COMPANY_NAME_LOW/documentserver/server/tools/allthemesgen \
/var/www/$COMPANY_NAME_LOW/documentserver/server/tools/allthemesgen
COPY --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/server/tools/pluginsmanager \
/var/www/$COMPANY_NAME/documentserver/server/tools/pluginsmanager
/var/www/$COMPANY_NAME_LOW/documentserver/server/tools/pluginsmanager \
/var/www/$COMPANY_NAME_LOW/documentserver/server/tools/pluginsmanager
COPY --chown=ds:ds --chmod=644 --from=ds-service \
/etc/$COMPANY_NAME/documentserver/nginx/ds.conf \
/etc/$COMPANY_NAME_LOW/documentserver/nginx/ds.conf \
/etc/nginx/conf.d/
COPY --chown=ds:ds --chmod=644 --from=ds-service \
/etc/$COMPANY_NAME/documentserver*/nginx/includes/*.conf \
/etc/$COMPANY_NAME_LOW/documentserver*/nginx/includes/*.conf \
/etc/nginx/includes/ds-cache.conf \
/etc/nginx/includes/
COPY --chown=ds:ds --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/dictionaries \
/var/www/$COMPANY_NAME/documentserver/dictionaries
/var/www/$COMPANY_NAME_LOW/documentserver/dictionaries \
/var/www/$COMPANY_NAME_LOW/documentserver/dictionaries
COPY --from=ds-service \
/etc/$COMPANY_NAME/documentserver/default.json \
/etc/$COMPANY_NAME/documentserver/production-linux.json \
/etc/$COMPANY_NAME/documentserver/
/etc/$COMPANY_NAME_LOW/documentserver/default.json \
/etc/$COMPANY_NAME_LOW/documentserver/production-linux.json \
/etc/$COMPANY_NAME_LOW/documentserver/
COPY --from=ds-service --chown=ds:ds \
/etc/$COMPANY_NAME/documentserver/log4js/production.json \
/etc/$COMPANY_NAME/documentserver/log4js/
/etc/$COMPANY_NAME_LOW/documentserver/log4js/production.json \
/etc/$COMPANY_NAME_LOW/documentserver/log4js/
COPY --chown=ds:ds --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/sdkjs-plugins \
/var/www/$COMPANY_NAME/documentserver/sdkjs-plugins
/var/www/$COMPANY_NAME_LOW/documentserver/sdkjs-plugins \
/var/www/$COMPANY_NAME_LOW/documentserver/sdkjs-plugins
COPY --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/core-fonts \
/var/www/$COMPANY_NAME/documentserver/core-fonts
/var/www/$COMPANY_NAME_LOW/documentserver/core-fonts \
/var/www/$COMPANY_NAME_LOW/documentserver/core-fonts
COPY --chown=ds:ds --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/fonts \
/var/www/$COMPANY_NAME/documentserver/fonts
/var/www/$COMPANY_NAME_LOW/documentserver/fonts \
/var/www/$COMPANY_NAME_LOW/documentserver/fonts
COPY --from=ds-service \
/usr/share/fonts \
/usr/share/fonts
COPY --chown=ds:ds --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/sdkjs \
/var/www/$COMPANY_NAME/documentserver/sdkjs
/var/www/$COMPANY_NAME_LOW/documentserver/sdkjs \
/var/www/$COMPANY_NAME_LOW/documentserver/sdkjs
COPY --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/server/DocService \
/var/www/$COMPANY_NAME/documentserver/server/DocService
/var/www/$COMPANY_NAME_LOW/documentserver/server/DocService \
/var/www/$COMPANY_NAME_LOW/documentserver/server/DocService
COPY --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/server/FileConverter \
/var/www/$COMPANY_NAME/documentserver/server/FileConverter
/var/www/$COMPANY_NAME_LOW/documentserver/server/FileConverter \
/var/www/$COMPANY_NAME_LOW/documentserver/server/FileConverter
COPY --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/server/AdminPanel/server \
/var/www/$COMPANY_NAME/documentserver/server/AdminPanel/server
/var/www/$COMPANY_NAME_LOW/documentserver/server/AdminPanel/server \
/var/www/$COMPANY_NAME_LOW/documentserver/server/AdminPanel/server
COPY --chown=ds:ds --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/server/AdminPanel/client \
/var/www/$COMPANY_NAME_LOW/documentserver/server/AdminPanel/client \
/client
#COPY --from=ds-service \
# /var/www/$COMPANY_NAME/documentserver/server/info \
# /var/www/$COMPANY_NAME/documentserver/server/info
# /var/www/$COMPANY_NAME_LOW/documentserver/server/info \
# /var/www/$COMPANY_NAME_LOW/documentserver/server/info
COPY --chown=ds:ds --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/web-apps \
/var/www/$COMPANY_NAME/documentserver/web-apps
/var/www/$COMPANY_NAME_LOW/documentserver/web-apps \
/var/www/$COMPANY_NAME_LOW/documentserver/web-apps
COPY --from=ds-service \
/var/www/$COMPANY_NAME/documentserver/document-templates/new \
/var/www/$COMPANY_NAME/documentserver/document-templates/new
/var/www/$COMPANY_NAME_LOW/documentserver/document-templates/new \
/var/www/$COMPANY_NAME_LOW/documentserver/document-templates/new
#COPY --from=ds-service \
# /var/www/$COMPANY_NAME/documentserver/document-formats \
# /var/www/$COMPANY_NAME/documentserver/document-formats
# /var/www/$COMPANY_NAME_LOW/documentserver/document-formats \
# /var/www/$COMPANY_NAME_LOW/documentserver/document-formats
COPY --chown=ds:ds --from=ds-service \
/var/www/$COMPANY_NAME/documentserver-example/welcome \
/var/www/$COMPANY_NAME/documentserver-example/welcome
/var/www/$COMPANY_NAME_LOW/documentserver-example/welcome \
/var/www/$COMPANY_NAME_LOW/documentserver-example/welcome
COPY build/scripts/orchestrated/docker-entrypoint.sh build/scripts/orchestrated/proxy-docker-entrypoint.sh /usr/local/bin/
COPY build/scripts/orchestrated/init-docker-entrypoint.sh /init/
RUN sed 's|\(application\/zip.*\)|\1\n application\/wasm wasm;|' \
Expand All @@ -202,24 +207,24 @@ FROM ds-base AS docs
ln -sf /dev/stdout /var/log/nginx/access.log && \
ln -sf /dev/stderr /var/log/nginx/error.log && \
mkdir -p \
/var/lib/$COMPANY_NAME/documentserver/App_Data/cache/files \
/var/www/$COMPANY_NAME/config \
/var/lib/$COMPANY_NAME/documentserver/App_Data/docbuilder && \
chown -R ds:ds /var/lib/$COMPANY_NAME/documentserver /var/www/$COMPANY_NAME/config && \
/var/lib/$COMPANY_NAME_LOW/documentserver/App_Data/cache/files \
/var/www/$COMPANY_NAME_LOW/config \
/var/lib/$COMPANY_NAME_LOW/documentserver/App_Data/docbuilder && \
chown -R ds:ds /var/lib/$COMPANY_NAME_LOW/documentserver /var/www/$COMPANY_NAME_LOW/config && \
find \
/var/www/$COMPANY_NAME/documentserver/fonts \
/var/www/$COMPANY_NAME_LOW/documentserver/fonts \
-type f ! \
-name "*.*" \
-exec sh -c 'gzip -cf9 $0 > $0.gz && chown ds:ds $0.gz' {} \; && \
find \
/var/www/$COMPANY_NAME/documentserver/sdkjs \
/var/www/$COMPANY_NAME/documentserver/sdkjs-plugins \
/var/www/$COMPANY_NAME/documentserver/web-apps \
/var/www/$COMPANY_NAME/documentserver-example/welcome \
/var/www/$COMPANY_NAME_LOW/documentserver/sdkjs \
/var/www/$COMPANY_NAME_LOW/documentserver/sdkjs-plugins \
/var/www/$COMPANY_NAME_LOW/documentserver/web-apps \
/var/www/$COMPANY_NAME_LOW/documentserver-example/welcome \
-type f \
\( -name *.js -o -name *.json -o -name *.htm -o -name *.html -o -name *.css \) \
-exec sh -c 'gzip -cf9 $0 > $0.gz && chown ds:ds $0.gz' {} \;
VOLUME /var/lib/$COMPANY_NAME
VOLUME /var/lib/$COMPANY_NAME_LOW
USER ds

# --------------------------------------------------------------------
Expand Down Expand Up @@ -334,17 +339,17 @@ FROM python:3.11-slim-bookworm AS utils
USER ds

FROM statsd/statsd AS metrics
ARG COMPANY_NAME=euro-office
COPY --from=ds-service /var/www/$COMPANY_NAME/documentserver/server/Metrics/config/config.js /usr/src/app/config.js
ARG COMPANY_NAME_LOW=euro-office
COPY --from=ds-service /var/www/$COMPANY_NAME_LOW/documentserver/server/Metrics/config/config.js /usr/src/app/config.js

FROM postgres:$POSTGRES_VERSION AS db
ARG COMPANY_NAME=euro-office
COPY --from=ds-service /var/www/$COMPANY_NAME/documentserver/server/schema/postgresql/createdb.sql /docker-entrypoint-initdb.d/
ARG COMPANY_NAME_LOW=euro-office
COPY --from=ds-service /var/www/$COMPANY_NAME_LOW/documentserver/server/schema/postgresql/createdb.sql /docker-entrypoint-initdb.d/

FROM mysql:$MYSQL_VERSION AS mysqldb
ARG COMPANY_NAME=euro-office
COPY --chmod=777 --from=ds-service /var/www/$COMPANY_NAME/documentserver/server/schema/mysql/createdb.sql /docker-entrypoint-initdb.d/
ARG COMPANY_NAME_LOW=euro-office
COPY --chmod=777 --from=ds-service /var/www/$COMPANY_NAME_LOW/documentserver/server/schema/mysql/createdb.sql /docker-entrypoint-initdb.d/

FROM mariadb:$MARIADB_VERSION AS db-mariadb
ARG COMPANY_NAME=euro-office
COPY --from=ds-service /var/www/$COMPANY_NAME/documentserver/server/schema/mysql/createdb.sql /docker-entrypoint-initdb.d/
ARG COMPANY_NAME_LOW=euro-office
COPY --from=ds-service /var/www/$COMPANY_NAME_LOW/documentserver/server/schema/mysql/createdb.sql /docker-entrypoint-initdb.d/
14 changes: 12 additions & 2 deletions build/.docker/packages.bake.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,20 @@

FROM ubuntu:24.04 AS package

ARG COMPANY_NAME
ARG COMPANY_NAME_LOW
ARG PRODUCT_NAME
ARG BRANDING_DIR
ARG PRODUCT_VERSION
ARG BUILD_NUMBER=0
ARG OUT_BASE="/build/package/out"
ARG BUNDLE_BASE="/build/bundle"
ARG OUT_DIR="${BUNDLE_BASE}/euro-office/documentserver"
ARG EXAMPLE_OUT="${BUNDLE_BASE}/euro-office/documentserver-example"
ARG OUT_DIR="${BUNDLE_BASE}/${COMPANY_NAME_LOW}/documentserver"
ARG EXAMPLE_OUT="${BUNDLE_BASE}/${COMPANY_NAME_LOW}/documentserver-example"

ENV PRODUCT_VERSION=${PRODUCT_VERSION}
ENV COMPANY_NAME=${COMPANY_NAME}
ENV PRODUCT_NAME=${PRODUCT_NAME}
ENV BUILD_NUMBER=${BUILD_NUMBER}
ENV OUT_BASE=${OUT_BASE}
ENV BUNDLE_BASE=${BUNDLE_BASE}
Expand All @@ -41,11 +47,15 @@ FROM ubuntu:24.04 AS package
# Upstream packaging repo
COPY document-server-package/ /document-server-package/

### Branding
COPY ${BRANDING_DIR}/document-server-package/ /document-server-package/

RUN cd document-server-package && \
mkdir -p ${OUT_BASE} && \
ln -s ${BUNDLE_BASE} ${OUT_BASE}/linux_64 && \
ln -s ${BUNDLE_BASE} ${OUT_BASE}/linux_arm64 && \
make deb rpm \
BRANDING_DIR="." \
BUILD_OUTPUT_DIR="${OUT_BASE}" \
PRODUCT_VERSION="${PRODUCT_VERSION}" \
BUILD_NUMBER="${BUILD_NUMBER}"
Expand Down
Loading
Loading