From a2a01894c66cbd4876f44e6c12484da1396acd6c Mon Sep 17 00:00:00 2001 From: "dave@tiredofit.ca" Date: Mon, 5 Jun 2023 08:02:29 -0700 Subject: [PATCH] Release 23.05.0-3 - See CHANGELOG.md --- CHANGELOG.md | 7 ++ Dockerfile | 16 ++--- Dockerfile.alpine | 173 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 185 insertions(+), 11 deletions(-) create mode 100644 Dockerfile.alpine diff --git a/CHANGELOG.md b/CHANGELOG.md index eca12aa..d466d53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## 23.05.0-3 2023-06-05 + + ### Added + - Collabora Office cp-23.05.0-3 + - Collabora Online cp-23.05.0-3 + + ## 23.05.0-2 2023-06-01 ### Added diff --git a/Dockerfile b/Dockerfile index 14fb6ff..5723975 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,10 +13,10 @@ ARG APP_NAME ARG APP_BRAND ### Environment Variables -ENV COLLABORA_ONLINE_VERSION=${COLLABORA_ONLINE_VERSION:-"cp-23.05.0-2"} \ +ENV COLLABORA_ONLINE_VERSION=${COLLABORA_ONLINE_VERSION:-"cp-23.05.0-3"} \ COLLABORA_ONLINE_REPO_URL=${COLLABORA_ONLINE_REPO_URL:-"https://github.com/CollaboraOnline/online"} \ # - LIBREOFFICE_VERSION=${LIBREOFFICE_VERSION:-"cp-23.05.0-2"} \ + LIBREOFFICE_VERSION=${LIBREOFFICE_VERSION:-"cp-23.05.0-3"} \ LIBREOFFICE_REPO_URL=${LIBREOFFICE_REPO_URL:-"https://github.com/LibreOffice/core"} \ # APP_NAME=${APP_NAME:-"Document Editor"} \ @@ -127,14 +127,13 @@ RUN source /assets/functions/00-container && \ --without-package-format && \ chown -R cool ${GIT_REPO_SRC_CORE} && \ sudo -u cool make fetch && \ - sudo -u cool make -j$(nproc) build-nocheck && \ + sudo -u cool make -j$(nproc) build && \ mkdir -p /opt/libreoffice && \ chown -R cool /opt/libreoffice && \ cp -R ${GIT_REPO_SRC_CORE}/instdir/* /opt/libreoffice/ && \ \ ### Build LibreOffice Online (Not as long as above) - clone_git_repo ${COLLABORA_ONLINE_REPO_URL} ${COLLABORA_ONLINE_VERSION} ${GIT_REPO_SRC_ONLINE} -RUN source /assets/functions/00-container && \ + clone_git_repo ${COLLABORA_ONLINE_REPO_URL} ${COLLABORA_ONLINE_VERSION} ${GIT_REPO_SRC_ONLINE} && \ if [ -d "/build-assets/online/src" ] ; then cp -R /build-assets/online/src/* ${GIT_REPO_SRC_ONLINE} ; fi; \ if [ -d "/build-assets/online/scripts" ] ; then for script in /build-assets/online/scripts/*.sh; do echo "** Applying $script"; bash $script; done && \ ; fi ; \ sed -i \ @@ -184,25 +183,22 @@ RUN source /assets/functions/00-container && \ FROM docker.io/tiredofit/debian:bullseye LABEL maintainer="Dave Conroy (dave at tiredofit dot ca)" LABEL org.opencontainers.image.source="https://github.com/tiredofit/docker-collabora-online" -### Set Defaults + ENV ADMIN_USER=admin \ ADMIN_PASS=collaboraonline \ CONTAINER_ENABLE_MESSAGING=FALSE \ IMAGE_NAME="tiredofit/collabora-online" \ IMAGE_REPO_URL="https://github.com/tiredofit/docker-collabora-online/" -### Grab Compiled Assets from builder image COPY --from=builder /opt/ /opt/ COPY CHANGELOG.md /assets/.changelogs/tiredofit_docker-collabora-online.md COPY build-assets /build-assets -### Install Dependencies RUN source /assets/functions/00-container && \ set -x && \ adduser --quiet --system --group --home /opt/cool cool && \ \ -### Add Repositories echo "deb http://deb.debian.org/debian $(cat /etc/os-release |grep "VERSION=" | awk 'NR>1{print $1}' RS='(' FS=')') contrib" >> /etc/apt/sources.list && \ echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \ package update && \ @@ -240,7 +236,6 @@ RUN source /assets/functions/00-container && \ ttf-mscorefonts-installer \ && \ \ -### Setup Directories and Permissions mkdir -p /etc/coolwsd && \ mv /opt/cool/coolwsd.xml /etc/coolwsd/ && \ mv /opt/cool/coolkitconfig.xcu /etc/coolwsd/ && \ @@ -260,7 +255,6 @@ RUN source /assets/functions/00-container && \ touch /var/log/cool/coolwsd.log && \ chown -R cool /var/log/cool && \ \ -### Setup LibreOffice Online Jails sudo -u cool /opt/cool/bin/coolwsd-systemplate-setup /opt/cool/systemplate /opt/libreoffice && \ \ if [ -d "/build-assets/container/src" ] && [ -n "$(ls -A "/build-assets/container/src" 2>/dev/null)" ]; then cp -R /build-assets/container/src/* / ; fi; \ diff --git a/Dockerfile.alpine b/Dockerfile.alpine new file mode 100644 index 0000000..1f196eb --- /dev/null +++ b/Dockerfile.alpine @@ -0,0 +1,173 @@ +FROM tiredofit/alpine:3.18 as builder +LABEL maintainer="Dave Conroy (dave at tiredofit dot ca)" +LABEL org.opencontainers.image.source="https://github.com/tiredofit/docker-collabora-online" + +### Buildtime arguments +ARG COLLABORA_ONLINE_VERSION +ARG COLLABORA_ONLINE_REPO_URL +ARG LIBREOFFICE_VERSION +ARG LIBREOFFICE_REPO_URL +ARG MAX_CONNECTIONS +ARG MAX_DOCUMENTS +ARG APP_NAME +ARG APP_BRAND + +### Environment Variables +ENV COLLABORA_ONLINE_VERSION=${COLLABORA_ONLINE_VERSION:-"cp-23.05.0-2"} \ + COLLABORA_ONLINE_REPO_URL=${COLLABORA_ONLINE_REPO_URL:-"https://github.com/CollaboraOnline/online"} \ + # + LIBREOFFICE_VERSION=${LIBREOFFICE_VERSION:-"cp-23.05.0-2"} \ + LIBREOFFICE_REPO_URL=${LIBREOFFICE_REPO_URL:-"https://github.com/LibreOffice/core"} \ + # + APP_NAME=${APP_NAME:-"Document Editor"} \ + APP_BRAND=${APP_BRAND:-"unbranded"} \ + # + POCO_VERSION=${POCO_VERSION:-"poco-1.12.4-release.tar.gz"} \ + POCO_URL=${POCO_URL:-"https://github.com/pocoproject/poco/archive/"} \ + # + MAX_CONNECTIONS=${MAX_CONNECTIONS:-"100000"} \ + ## Uses Approximately 20mb per document open + MAX_DOCUMENTS=${MAX_DOCUMENTS:-"100000"} + +COPY build-assets /build-assets + +RUN source /assets/functions/00-container && \ + set -x && \ + package update && \ + package upgrade && \ + package install .container-build-deps \ + build-base \ + git \ + && \ + + package install .collabora-office-build-deps \ + abseil-cpp-dev \ + apache-ant \ + autoconf \ + automake \ + bison \ + bluez-dev \ + boost-dev \ + box2d-dev \ + clang \ + clucene-dev \ + coreutils \ + cppunit-dev \ + cups-dev \ + doxygen \ + findutils \ + flex \ + freetype-dev \ + glew-dev \ + glm-dev \ + glu-dev \ + gperf \ + gpgme-dev \ + gst-plugins-base-dev \ + gstreamer-dev \ + gtk+3.0-dev \ + gtk4.0-dev \ + harfbuzz-dev \ + hunspell-dev \ + hyphen-dev \ + icu-dev \ + junit \ + kconfig-dev \ + lcms2-dev \ + libabw-dev \ + libcdr-dev \ + libe-book-dev \ + libepubgen-dev \ + libetonyek-dev \ + libexttextcat-dev \ + libfreehand-dev \ + libjpeg-turbo-dev \ + libmspub-dev \ + libmwaw-dev \ + libnumbertext-dev \ + libodfgen-dev \ + liborcus-dev \ + libpagemaker-dev \ + libpq-dev \ + libqxp-dev \ + libstaroffice-dev \ + libvisio-dev \ + libwebp-dev \ + libwpd-dev \ + libwpg-dev \ + libwps-dev \ + libxml2-utils \ + libxrandr-dev \ + libxrender-dev \ + libxslt-dev \ + libzmf-dev \ + llvm-dev \ + mariadb-dev \ + mdds-dev \ + mythes-dev \ + neon-dev \ + nss-dev \ + openjpeg-dev \ + openldap-dev \ + openssl-dev \ + perl \ + perl-archive-zip \ + plasma-framework-dev \ + poppler-dev \ + py3-setuptools \ + python3-dev \ + qt5-qtbase-dev \ + qt5-qttools-dev \ + qt6-qtbase-dev \ + qt6-qttools-dev \ + redland-dev \ + sed \ + tar \ + unixodbc-dev \ + vigra-dev \ + xmlsec-dev \ + xz \ + zip \ + && \ + \ +### Build Poco + mkdir -p /usr/src/poco && \ + curl -sSL ${POCO_URL}${POCO_VERSION} | tar xvfz - --strip 1 -C /usr/src/poco && \ + cd /usr/src/poco && \ + ./configure \ + --static \ + --no-tests \ + --no-samples \ + --no-sharedlibs \ + --cflags="-fPIC" \ + --omit=Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,Redis,Encodings \ + --prefix=/opt/poco \ + && \ + make -j$(nproc) && \ + make install && \ + \ +### Build Fetch LibreOffice - This will take a while.. + clone_git_repo ${LIBREOFFICE_REPO_URL} ${LIBREOFFICE_VERSION} ${GIT_REPO_SRC_CORE} + +RUN source /assets/functions/00-container && \ + set -x && \ + GIT_REPO_SRC_CORE=/usr/src/core && \ + adduser -D -S -h /dev/null -s /sbin/nologin -u 1000 cool && \ + cd /usr/src/core && \ + if [ -d "/build-assets/core/src" ] && [ -n "$(ls -A "/build-assets/core/src" 2>/dev/null)" ]; then cp -R /build-assets/core/src/* / ; fi; \ + if [ -d "/build-assets/core/scripts" ] && [ -n "$(ls -A "/build-assets/core/scripts" 2>/dev/null)" ]; then for script in /build-assets/core/scripts/*.sh; do echo "** Applying $script"; bash $script; done && \ ; fi ; \ + sed -i "s|--enable-symbols|--disable-symbols|g" ${GIT_REPO_SRC_CORE}/distro-configs/CPLinux-LOKit.conf && \ + \ + echo "--prefix=/opt/libreoffice" >> ${GIT_REPO_SRC_CORE}/distro-configs/CPLinux-LOKit.conf && \ + ./autogen.sh \ + --with-distro="CPLinux-LOKit" \ + --disable-epm \ + --without-package-format && \ + chown -R cool ${GIT_REPO_SRC_CORE} && \ + sudo -u cool make fetch + RUN source /assets/functions/00-container && \ + set -x && \ + sudo -u cool make -j$(nproc) build && \ + mkdir -p /opt/libreoffice && \ + chown -R cool /opt/libreoffice && \ + cp -R ${GIT_REPO_SRC_CORE}/instdir/* /opt/libreoffice/ \ No newline at end of file