Release 2.4.19 - See CHANGELOG.md

This commit is contained in:
dave@tiredofit.ca 2023-01-18 12:22:50 -08:00
parent e83ba22ac9
commit 538a09ea57
8 changed files with 169 additions and 236 deletions

View file

@ -13,21 +13,21 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: FreeUp
id: free
run: |
before=$(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}')
sudo apt-get remove -y '^dotnet-.*'
sudo apt-get remove -y '^llvm-.*'
sudo apt-get remove -y 'php.*'
sudo apt-get remove -y '^mongodb-.*'
sudo apt-get remove -y '^mysql-.*'
sudo apt-get remove -y azure-cli google-cloud-sdk hhvm google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri
sudo apt-get -y autoremove
sudo apt-get clean
after=$(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}')
saved=$((after-before))
echo "Saved: $saved"
# - name: FreeUp
# id: free
# run: |
# before=$(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}')
# sudo apt-get remove -y '^dotnet-.*'
# sudo apt-get remove -y '^llvm-.*'
# sudo apt-get remove -y 'php.*'
# sudo apt-get remove -y '^mongodb-.*'
# sudo apt-get remove -y '^mysql-.*'
# sudo apt-get remove -y azure-cli google-cloud-sdk hhvm google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri
# sudo apt-get -y autoremove
# sudo apt-get clean
# after=$(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}')
# saved=$((after-before))
# echo "Saved: $saved"
- name: Checkout
uses: actions/checkout@v3

View file

@ -1,3 +1,15 @@
## 2.4.19 2023-01-18 <dave at tiredofit dot ca>
### Added
- Collabora Office cp-22.05.9-3
- Collabora Online cp-22.05.9-3
- Add libpng-dev packages for building
- Add x11-dev packages for building
### Changed
- Switch to package management via base image functions
## 2.4.18 2022-12-19 <dave at tiredofit dot ca>
### Added

View file

@ -12,10 +12,10 @@ ARG APP_NAME
ARG APP_BRAND
### Environment Variables
ENV COLLABORA_ONLINE_VERSION=${COLLABORA_ONLINE_VERSION:-"cp-22.05.9-2"} \
ENV COLLABORA_ONLINE_VERSION=${COLLABORA_ONLINE_VERSION:-"cp-22.05.9-3"} \
COLLABORA_ONLINE_REPO_URL=${COLLABORA_ONLINE_REPO_URL:-"https://github.com/CollaboraOnline/online"} \
#
LIBREOFFICE_VERSION=${LIBREOFFICE_VERSION:-"cp-22.05.9-2"} \
LIBREOFFICE_VERSION=${LIBREOFFICE_VERSION:-"cp-22.05.9-3"} \
LIBREOFFICE_REPO_URL=${LIBREOFFICE_REPO_URL:-"https://github.com/LibreOffice/core"} \
#
APP_NAME=${APP_NAME:-"Document Editor"} \
@ -32,11 +32,11 @@ COPY build-assets /build-assets
RUN source /assets/functions/00-container && \
set -x && \
apt-get update && \
package update && \
apt-get -o Dpkg::Options::="--force-confold" upgrade -y && \
echo "deb-src http://deb.debian.org/debian $(cat /etc/os-release |grep "VERSION=" | awk 'NR>1{print $1}' RS='(' FS=')') main" >> /etc/apt/sources.list && \
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 && \
curl -sL https://deb.nodesource.com/setup_14.x | bash - && \
curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
\
### Setup Distribution
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \
@ -49,12 +49,15 @@ RUN source /assets/functions/00-container && \
adduser \
automake \
build-essential \
bison \
cpio \
default-jre \
devscripts \
flex \
fontconfig \
g++ \
git \
gperf \
inotify-tools \
libcap-dev \
libcap2-bin \
@ -63,10 +66,11 @@ RUN source /assets/functions/00-container && \
libkrb5-dev \
libpam-dev \
libpam0g-dev \
libpng16-16 \
libpng-dev \
libssl-dev \
libtool \
libubsan1 \
libx11-dev \
libzstd-dev \
locales-all \
m4 \
@ -80,14 +84,16 @@ RUN source /assets/functions/00-container && \
sudo \
translate-toolkit \
ttf-mscorefonts-installer \
unzip \
wget \
zip \
' && \
## Add Build Dependencies
apt-get install -y \
package install -y \
${BUILD_DEPS} \
&& \
\
apt-get build-dep -y \
package build-dep -y \
libreoffice \
&& \
\
@ -109,8 +115,8 @@ RUN source /assets/functions/00-container && \
\
### Build Fetch LibreOffice - This will take a while..
clone_git_repo ${LIBREOFFICE_REPO_URL} ${LIBREOFFICE_VERSION} ${GIT_REPO_SRC_CORE} && \
if [ -d "/build-assets/core/src" ] ; then cp -R /build-assets/core/src/* ${GIT_REPO_SRC_CORE} ; fi; \
if [ -d "/build-assets/core/scripts" ] ; then for script in /build-assets/core/scripts/*.sh; do echo "** Applying $script"; bash $script; done && \ ; fi ; \
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 && \
@ -138,7 +144,8 @@ RUN source /assets/functions/00-container && \
${GIT_REPO_SRC_ONLINE}/browser/src/core/Socket.js \
${GIT_REPO_SRC_ONLINE}/browser/src/layer/marker/ProgressOverlay.js \
${GIT_REPO_SRC_ONLINE}/browser/src/map/Clipboard.js \
${GIT_REPO_SRC_ONLINE}/browser/welcome/*.html && \
${GIT_REPO_SRC_ONLINE}/browser/welcome/*.html \
&& \
./autogen.sh && \
./configure --enable-silent-rules \
--with-lokit-path="${GIT_REPO_SRC_CORE}/include" \
@ -164,14 +171,13 @@ RUN source /assets/functions/00-container && \
\
### Cleanup
cd / && \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /usr/src/* && \
rm -rf /usr/share/doc && \
rm -rf /usr/share/man && \
rm -rf /usr/share/locale && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/log/*
package cleanup && \
rm -rf \
/usr/share/doc \
/usr/share/locale \
/usr/share/man \
/usr/src/* \
/var/log/*
FROM docker.io/tiredofit/debian:bullseye
LABEL maintainer="Dave Conroy (dave at tiredofit dot ca)"
@ -190,15 +196,16 @@ COPY CHANGELOG.md /assets/.changelogs/tiredofit_docker-collabora-online.md
COPY build-assets /build-assets
### Install Dependencies
RUN set -x && \
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 && \
apt-get update && \
package update && \
apt-get -o Dpkg::Options::="--force-confold" upgrade -y && \
apt-get install -y\
package install \
apt-transport-https \
cpio \
findutils \
@ -254,20 +261,18 @@ RUN set -x && \
### Setup LibreOffice Online Jails
sudo -u cool /opt/cool/bin/coolwsd-systemplate-setup /opt/cool/systemplate /opt/libreoffice && \
\
if [ -d "/build-assets/container/src" ] ; then cp -R /build-assets/container/src/* / ; fi; \
if [ -d "/build-assets/container/scripts" ] ; then for script in /build-assets/container/scripts/*.sh; do echo "** Applying $script"; bash $script; done && \ ; fi ; \
apt-get autoremove -y && \
apt-get clean && \
\
rm -rf /usr/src/* && \
rm -rf /usr/share/doc && \
rm -rf /usr/share/man && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/log/* && \
rm -rf /build-assets && \
rm -rf /tmp/*
if [ -d "/build-assets/container/src" ] && [ -n "$(ls -A "/build-assets/container/src" 2>/dev/null)" ]; then cp -R /build-assets/container/src/* / ; fi; \
if [ -d "/build-assets/container/scripts" ] && [ -n "$(ls -A "/build-assets/container/scripts" 2>/dev/null)" ]; then for script in /build-assets/container/scripts/*.sh; do echo "** Applying $script"; bash $script; done && \ ; fi ; \
package cleanup && \
rm -rf \
/build-assets \
/tmp/* \
/usr/src/* \
/usr/share/doc \
/usr/share/man \
/var/lib/apt/lists/* \
/var/log/*
### Networking Configuration
EXPOSE 9980
### Assets

View file

@ -12,7 +12,7 @@
## About
This will build a Docker image for [Collabora Online](https://www.collaboraoffice.com/collabora-online//) for editing documents in a browser from supported applications.
This will build a Docker image for [Collabora Online](https://www.collaboraoffice.com/collabora-online/) for editing documents in a browser from supported applications.
* Configurable Concurrent User and Document Limit (set to generarous values by default)
* Custom Font Support
@ -129,7 +129,7 @@ Be sure to view the following repositories to understand all the customizable op
#### General Usage
| Parameter | Description | Default |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------- |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `SETUP_TYPE` | Automatically generate configuration with defaults. Set to `MANUAL` and map the configuration file to use your own | `AUTO` |
| `ALLOWED_HOSTS` | Set which domains which can access service Seperate Multiple with `,` - Example: `https://www.example\.org` (no wildcards) | `` |
| `EXTRA_OPTIONS` | If you want to pass additional arguments upon startup, add it here | `` |

View file

@ -1,26 +1,20 @@
version: '3.7'
services:
collabora-online-app:
image: tiredofit/collabora-online
container_name: collabora-online-app
hostname: collabora-online.example.com
expose:
- 9980
hostname: online.example.com
cap_add:
- MKNOD
- NET_ADMIN
privileged: true
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:collabora-online.example.com
- traefik.port=9980
- traefik.protocol=http
- traefik.docker.network=proxy
- traefik.backend=collabora-online-app
- traefik.http.routers.collabora-online-app.rule=Host(`online.example.com`)
- traefik.http.services.collabora-online-app.loadbalancer.server.port=9980
volumes:
- ./logs:/logs
environment:
- TIMEZONE=America/Vancouver
- CONTAINER_NAME=collabora-online-app
- ADMIN_USER=admin
@ -30,6 +24,9 @@ services:
- ENABLE_TLS=FALSE
- ENABLE_TLS_REVERSE_PROXY=TRUE
- INTERFACE=notebookbar
- LOG_TYPE=FILE
networks:
- proxy
- services
@ -40,4 +37,3 @@ networks:
external: true
services:
external: true

View file

@ -1,48 +0,0 @@
version: '3.7'
services:
collabora-online-app:
image: tiredofit/collabora-online:latest
hostname: collabora-online.example.com
container_name: collabora-online-app
expose:
- 9980
cap_add:
- MKNOD
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:collabora-online.example.com
- traefik.port=9980
- traefik.protocol=http
- traefik.docker.network=proxy
- traefik.backend=collabora-online-app
environment:
- VIRTUAL_HOST=collabora-online.example.com
- VIRTUAL_NETWORK=proxy
- VIRTUAL_PORT=9980
- VIRTUAL_PROTO=https
- LETSENCRYPT_HOST=collabora-online.example.com
- LETSENCRYPT_EMAIL=techsupport@example.com
- CONTAINER_NAME=collabora-online-app
- ADMIN_USER=admin
- ADMIN_PASS=collabora-online
- ALLOWED_HOSTS=host1.example.org,host2.example.org,host1.example.net
- DICTIONARIES="en_GB en_US"
- LOG_LEVEL=warning
networks:
- proxy
- internal
- services
restart: always
networks:
proxy:
external: true
internal:
external: false
services:
external: true

View file

@ -1,31 +0,0 @@
collabora-online-app:
image: tiredofit/collabora-online
hostname: collabora-online.example.com
container_name: collabora-online-app
expose:
- 9980
cap_add:
- MKNOD
environment:
- VIRTUAL_HOST=collabora-online.example.com
- VIRTUAL_NETWORK=nginx-proxy
- VIRTUAL_PORT=9980
- VIRTUAL_PROTO=https
- LETSENCRYPT_HOST=collabora-online.example.com
- LETSENCRYPT_EMAIL=techsupport@example.com
- CONTAINER_NAME=collabora-online-app
- ADMIN_USER=admin
- ADMIN_PASS=collabora-online
- ALLOWED_HOSTS=allowedhostname.example.com
- DICTIONARIES="en_GB en_US"
- LOG_LEVEL=warning
networks:
- proxy-tier
networks:
proxy-tier:
external:
name: nginx-proxy

View file

@ -8,8 +8,7 @@ check_container_initialized
check_service_initialized init 10-coolwsd
liftoff
while inotifywait -q -e create,delete,modify,attrib /etc/coolwsd/coolwsd.xml
do
while inotifywait -q -e create,delete,modify,attrib /etc/coolwsd/coolwsd.xml ; do
print_info "Reloading coolwsd configuration do to a detected certificate change"
pkill -f --signal 1 coolwsd
exit 0