mirror of
https://github.com/tiredofit/docker-collabora-online.git
synced 2024-06-17 13:05:13 +02:00
Compare commits
62 commits
Author | SHA1 | Date | |
---|---|---|---|
dave@tiredofit.ca | 0018572076 | ||
dave@tiredofit.ca | d45635519b | ||
dave@tiredofit.ca | 62de89e46c | ||
dave@tiredofit.ca | bfd0cae6d1 | ||
dave@tiredofit.ca | 0f1997b2e0 | ||
dave@tiredofit.ca | cca3a97eda | ||
Dave Conroy | 1ce3732a09 | ||
dave@tiredofit.ca | 991a1aefff | ||
dave@tiredofit.ca | 4f4cf1da29 | ||
dave@tiredofit.ca | 740468908f | ||
dave@tiredofit.ca | 37d3de3806 | ||
dave@tiredofit.ca | 9431c3a4eb | ||
dave@tiredofit.ca | b762ac257e | ||
dave@tiredofit.ca | 51aff14100 | ||
dave@tiredofit.ca | bfda53eac3 | ||
dave@tiredofit.ca | 2086ec9d6a | ||
dave@tiredofit.ca | 467ffe34de | ||
dave@tiredofit.ca | b99db9ac88 | ||
dave@tiredofit.ca | 704177441c | ||
dave@tiredofit.ca | 556199751e | ||
dave@tiredofit.ca | 6f76f2abf9 | ||
dave@tiredofit.ca | fe08e28f06 | ||
Dave Conroy | 8c1916c0e9 | ||
dave@tiredofit.ca | 364df2e100 | ||
dave@tiredofit.ca | 4eea9021bc | ||
Dave Conroy | 0d71714834 | ||
dave@tiredofit.ca | d197f10ba3 | ||
dave@tiredofit.ca | a3b7e75527 | ||
dave@tiredofit.ca | 1204bb49b2 | ||
dave@tiredofit.ca | 2edaabadcc | ||
dave@tiredofit.ca | f9e596b357 | ||
dave@tiredofit.ca | f9419b1ee7 | ||
7882c908b4 | |||
Dave Conroy | 062310f287 | ||
dave@tiredofit.ca | 6e2d882863 | ||
Dave Conroy | 379d74a05e | ||
dave@tiredofit.ca | 35ff368880 | ||
dave@tiredofit.ca | 3de2c8a4b9 | ||
dave@tiredofit.ca | 5c8eab9f72 | ||
dave@tiredofit.ca | a851d189f8 | ||
dave@tiredofit.ca | 7284208857 | ||
dave@tiredofit.ca | 2a8950e065 | ||
dave@tiredofit.ca | a2a01894c6 | ||
dave@tiredofit.ca | 1ca12f8b21 | ||
Dave Conroy | 9d704f6f5f | ||
dave@tiredofit.ca | 9ae4bd0f7e | ||
Dave Conroy | bafe31df0e | ||
dave@tiredofit.ca | 4e1e110986 | ||
dave@tiredofit.ca | c6d4e81ad6 | ||
dave@tiredofit.ca | ed3a7c118d | ||
dave@tiredofit.ca | 5af7030f6e | ||
Dave Conroy | 9092dd5a87 | ||
dave@tiredofit.ca | 560ab340e3 | ||
01badcdb36 | |||
dave@tiredofit.ca | 86d962387a | ||
dave@tiredofit.ca | 5c8bcea23b | ||
Dave Conroy | dd8a23f7f4 | ||
Dave Conroy | 849eb2a698 | ||
dave@tiredofit.ca | 17aa6840d6 | ||
9ff78810aa | |||
b458a70428 | |||
dave@tiredofit.ca | f12ccb4ff7 |
335
CHANGELOG.md
335
CHANGELOG.md
|
@ -1,3 +1,338 @@
|
|||
## 24.04.4-1 2024-06-06 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 24.04.4-1
|
||||
- Collabora Online 24.04.4-1
|
||||
|
||||
|
||||
## 24.04.3-2 2024-05-31 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 24.04.3-2
|
||||
- Collabora Office 24.04.3-2
|
||||
|
||||
|
||||
## 24.04.3-1 2024-05-21 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 24.04.3-1
|
||||
- Collabora Office 24.04.3-1
|
||||
|
||||
|
||||
## 24.04.2-1 2024-05-08 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 24.04.2-1
|
||||
- Collabora Online 24.04.2-1
|
||||
|
||||
|
||||
## 24.04.1-4 2024-04-25 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 24.04-1.4
|
||||
- Collabora Office 24.04-1.4
|
||||
|
||||
|
||||
## 24.04.1-2 2024-04-08 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 24.04.1-2
|
||||
- Collabora Online 24.04.1-2
|
||||
|
||||
|
||||
## 23.05.10-1 2024-03-26 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.10-1
|
||||
- Collabora Office 23.05.10-1
|
||||
|
||||
|
||||
## 23.05.9-4 2024-03-10 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.9-4
|
||||
- Collabora Office 23.05.9-4
|
||||
|
||||
|
||||
## 23.05.9-2 2024-02-26 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.9-2
|
||||
- Collabora Office 23.05.9-2
|
||||
|
||||
|
||||
## 23.05.9-1 2024-02-14 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp23.05.9-1
|
||||
- Collabora Online cp23.05.9-1
|
||||
|
||||
|
||||
## 23.05.8-4 2024-02-02 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.8-4
|
||||
- Collabora office 23.05.8-4
|
||||
|
||||
|
||||
## 23.05.8-3 2024-01-31 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 23.05.8-3
|
||||
- Collabora Online 23.05.8-3
|
||||
|
||||
|
||||
## 23.05.8-1 2024-01-24 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-23.05.8-1
|
||||
- Collabora Online cp-23.05.8-1
|
||||
|
||||
|
||||
## 23.05.7-5 2024-01-19 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp23.05.7-5
|
||||
- Collabora Online cp23.05.7-5
|
||||
|
||||
|
||||
## 23.05.7-4 2024-01-18 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.7-4
|
||||
- Collabora Office 23.05.7-4
|
||||
|
||||
|
||||
## 23.05.7-3 2024-01-17 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 23.05.7-3
|
||||
- Collabora Online 23.05.7-3
|
||||
|
||||
|
||||
## 23.05.7-2 2024-01-11 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online cp-23.05.7-2
|
||||
- Collabora Office cp-23.05.7-2
|
||||
|
||||
|
||||
## 23.05.7-1 2024-01-10 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online cp-23.05.7-1
|
||||
- Collabora Office cp-23.05.7-1
|
||||
|
||||
|
||||
## 23.05.6-4 2023-12-19 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 23.05.6-4
|
||||
- Collabora Online 23.05.6-4
|
||||
|
||||
|
||||
## 23.05.6-3 2023-12-14 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 23.05.6-3
|
||||
- Collabora Online 23.05.6-3
|
||||
|
||||
|
||||
## 23.05.6-2 2023-12-05 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online cp-23.05.6-2
|
||||
- Collabora Office cp-23.05.6-2
|
||||
|
||||
|
||||
## 23.05.6-1 2023-12-04 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.6.1
|
||||
- Collabora Office 23.05.6.1
|
||||
|
||||
|
||||
## 23.05.5-4 2023-11-10 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online cp-23.05.5-4
|
||||
- Collabora Office cp-23.05.5-4
|
||||
|
||||
|
||||
## 23.05.5-3 2023-10-26 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online cp-23.05.5-3
|
||||
- Collabora Office cp-23.05.5-3
|
||||
- Poco 1.12.5
|
||||
|
||||
|
||||
## 23.05.5-2 2023-10-19 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-23.05.5-2
|
||||
- Collabora Online cp-23.05.5-2
|
||||
|
||||
|
||||
## 23.05.5-1 2023-10-11 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online cp-23.05.5-1
|
||||
- Collabora Office cp-23.05.5-1
|
||||
|
||||
|
||||
## 23.05.4-2 2023-09-19 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-23.05.4-2
|
||||
- Collabora Online cp-23.05.4-2
|
||||
|
||||
|
||||
## 23.05.4-1 2023-09-11 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-23.05.4-1
|
||||
- Collabora Online cp-23.05.4-1
|
||||
|
||||
|
||||
## 23.05.3-1 2023-08-28 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 23.05.3-1
|
||||
- Collabora Online 23.05.3-1
|
||||
|
||||
|
||||
## 23.05.2-2.1 2023-07-25 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Fix small issue with sed statement for DeepL
|
||||
- Run fontconfig under cool user
|
||||
|
||||
|
||||
## 23.05.2-2 2023-07-24 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.2-2
|
||||
- Collabora Office 23.05.2-2
|
||||
|
||||
|
||||
## 23.05.2-1 2023-07-20 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office 23.05.2-1
|
||||
- Collabora Online 23.05.2-1
|
||||
|
||||
|
||||
## 23.05.1-2 2023-06-26 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-23.05.1-2
|
||||
- Collabora Online cp-23.05.1-2
|
||||
|
||||
|
||||
## 23.05.1-1 2023-06-23 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-23.05.1-1
|
||||
- Collabora Online cp-23.05.1-1
|
||||
|
||||
|
||||
## 23.05.0-5 2023-06-12 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.0-5
|
||||
- Collaobra Office 23.05.0-5
|
||||
|
||||
|
||||
## 23.05.0-4 2023-06-09 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.0-4
|
||||
- Collabora Office 23.05.0-4
|
||||
|
||||
|
||||
## 23.05.0-3 2023-06-05 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-23.05.0-3
|
||||
- Collabora Online cp-23.05.0-3
|
||||
|
||||
|
||||
## 23.05.0-2 2023-06-01 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- 23.05.0-2
|
||||
|
||||
|
||||
## 23.05.0-1 2023-05-19 <dave at tiredofit dot ca>
|
||||
|
||||
New versioning scheme
|
||||
|
||||
### Added
|
||||
- Collabora Online 23.05.0-1
|
||||
- Collabora Office 23.05.0-1
|
||||
|
||||
|
||||
## 2.4.34 2023-05-05 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-22.05.14-3
|
||||
- Collabora Online cp-22.05.14-3
|
||||
|
||||
|
||||
## 2.4.33 2023-05-04 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Office cp-22.05.14-2
|
||||
- Collabora Online cp-22.05.14-2
|
||||
|
||||
|
||||
## 2.4.32 2023-05-03 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 22.05.14-1
|
||||
- Collabora Office 22.05.14-1
|
||||
|
||||
|
||||
## 2.4.31 2023-04-26 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Add support for _FILE environment variables
|
||||
|
||||
|
||||
## 2.4.30 2023-04-17 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 22.05.13-1
|
||||
- Collabora Office 22.05.13-1
|
||||
|
||||
|
||||
## 2.4.29 2023-03-28 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Add default for LOG_PROTOCOL
|
||||
|
||||
|
||||
## 2.4.28 2023-03-28 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Fix logging issue relating to Javascript protocol
|
||||
- Change some booleans to false
|
||||
- Fix sed statements
|
||||
|
||||
|
||||
## 2.4.27 2023-03-28 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Fix a number of issues in config generation in 2.4.26 and 2.4.26
|
||||
|
||||
|
||||
## 2.4.26 2023-03-24 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Collabora Online 22.05.12-4
|
||||
|
||||
|
||||
## 2.4.25 2023-03-23 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
|
|
26
Dockerfile
26
Dockerfile
|
@ -1,4 +1,4 @@
|
|||
FROM docker.io/tiredofit/debian:bullseye as builder
|
||||
FROM docker.io/tiredofit/debian:bookworm as builder
|
||||
LABEL maintainer="Dave Conroy (dave at tiredofit dot ca)"
|
||||
LABEL org.opencontainers.image.source="https://github.com/tiredofit/docker-collabora-online"
|
||||
|
||||
|
@ -13,16 +13,16 @@ ARG APP_NAME
|
|||
ARG APP_BRAND
|
||||
|
||||
### Environment Variables
|
||||
ENV COLLABORA_ONLINE_VERSION=${COLLABORA_ONLINE_VERSION:-"cp-22.05.12-3"} \
|
||||
ENV COLLABORA_ONLINE_VERSION=${COLLABORA_ONLINE_VERSION:-"cp-24.04.4-1"} \
|
||||
COLLABORA_ONLINE_REPO_URL=${COLLABORA_ONLINE_REPO_URL:-"https://github.com/CollaboraOnline/online"} \
|
||||
#
|
||||
LIBREOFFICE_VERSION=${LIBREOFFICE_VERSION:-"cp-22.05.12-3"} \
|
||||
LIBREOFFICE_VERSION=${LIBREOFFICE_VERSION:-"cp-24.04.4-1"} \
|
||||
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_VERSION=${POCO_VERSION:-"poco-1.13.3-release.tar.gz"} \
|
||||
POCO_URL=${POCO_URL:-"https://github.com/pocoproject/poco/archive/"} \
|
||||
#
|
||||
MAX_CONNECTIONS=${MAX_CONNECTIONS:-"100000"} \
|
||||
|
@ -33,11 +33,10 @@ COPY build-assets /build-assets
|
|||
|
||||
RUN source /assets/functions/00-container && \
|
||||
set -x && \
|
||||
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_16.x | bash - && \
|
||||
package update && \
|
||||
apt-get -o Dpkg::Options::="--force-confold" upgrade -y && \
|
||||
\
|
||||
### Setup Distribution
|
||||
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \
|
||||
|
@ -77,11 +76,13 @@ RUN source /assets/functions/00-container && \
|
|||
m4 \
|
||||
nasm \
|
||||
nodejs \
|
||||
npm \
|
||||
openssl \
|
||||
pkg-config \
|
||||
procps \
|
||||
python3-lxml \
|
||||
python3-polib \
|
||||
rsync \
|
||||
sudo \
|
||||
translate-toolkit \
|
||||
ttf-mscorefonts-installer \
|
||||
|
@ -127,7 +128,7 @@ 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/ && \
|
||||
|
@ -180,28 +181,25 @@ RUN source /assets/functions/00-container && \
|
|||
/usr/src/* \
|
||||
/var/log/*
|
||||
|
||||
FROM docker.io/tiredofit/debian:bullseye
|
||||
FROM docker.io/tiredofit/debian:bookworm
|
||||
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 && \
|
||||
|
@ -239,7 +237,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/ && \
|
||||
|
@ -259,7 +256,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; \
|
||||
|
|
173
Dockerfile.alpine
Normal file
173
Dockerfile.alpine
Normal file
|
@ -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/
|
142
README.md
142
README.md
|
@ -41,6 +41,7 @@ This will build a Docker image for [Collabora Online](https://www.collaboraoffic
|
|||
- [General Usage](#general-usage)
|
||||
- [Administration](#administration)
|
||||
- [Logging](#logging)
|
||||
- [Language](#languages-for-writing-aids-spell-checker-grammar-checker-thesaurus-hyphenation)
|
||||
- [Spell Check](#spell-check)
|
||||
- [TLS Settings](#tls-settings)
|
||||
- [Performance and Limits](#performance-and-limits)
|
||||
|
@ -84,15 +85,17 @@ docker pull tiredofit/collabora-online:(imagetag)
|
|||
|
||||
The following image tags are available along with their tagged release based on what's written in the [Changelog](CHANGELOG.md):
|
||||
|
||||
| LibreOffice version | Collabora Online version | Tag |
|
||||
| ------------------- | ------------------------ | -------- |
|
||||
| `2022` | `22.05.x` | `latest` |
|
||||
| `2022` | `22.05.x` | `2.4.0` |
|
||||
| `2021` | `21.11.0` | `2.3.0` |
|
||||
| `6.4.x` | `6.4.x` | `2.1` |
|
||||
| `6.4.x` | `6.4.x` | `2.0` |
|
||||
| `6.0.x` | `4.0.x` | `1.6` |
|
||||
| `5.3.x` | `3.4.x` | `1.1` |
|
||||
| Collabora Office version | Collabora Online version | Tag |
|
||||
| ------------------------ | ------------------------ | ---------- |
|
||||
| `2024` | `24.04.x` | `24.04.xx` |
|
||||
| `2024` | `24.04.x` | `latest` |
|
||||
| `2023` | `23.05.x` | `23.05.xx` |
|
||||
| `2022` | `22.05.x` | `2.4.0` |
|
||||
| `2021` | `21.11.0` | `2.3.0` |
|
||||
| `6.4.x` | `6.4.x` | `2.1` |
|
||||
| `6.4.x` | `6.4.x` | `2.0` |
|
||||
| `6.0.x` | `4.0.x` | `1.6` |
|
||||
| `5.3.x` | `3.4.x` | `1.1` |
|
||||
|
||||
#### Multi Architecture
|
||||
Images are built primarily for `amd64` architecture, and may also include builds for `arm/v7`, `arm64` and others. These variants are all unsupported. Consider [sponsoring](https://github.com/sponsors/tiredofit) my work so that I can work with various hardware. To see if this image supports multiple architecures, type `docker manifest (image):(tag)`
|
||||
|
@ -100,8 +103,8 @@ Images are built primarily for `amd64` architecture, and may also include builds
|
|||
## Configuration
|
||||
### Quick Start
|
||||
|
||||
* The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working [docker-compose.yml](examples/docker-compose.yml) that can be modified for development or production use.
|
||||
* Set various [environment variables](#environment-variables) to understand the capabilities of this image. A Sample `docker-compose.yml` is provided that will work right out of the box for most people without any fancy optimizations.
|
||||
* The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working [compose.yml](examples/compose.yml) that can be modified for development or production use.
|
||||
* Set various [environment variables](#environment-variables) to understand the capabilities of this image. A Sample `compose.yml` is provided that will work right out of the box for most people without any fancy optimizations.
|
||||
* Map [persistent storage](#data-volumes) for access to configuration and data files for backup.
|
||||
* Make sure you set your hostname e.g. online.example.com when starting your container to make sure the administration console urls are correct.
|
||||
|
||||
|
@ -136,7 +139,7 @@ Be sure to view the following repositories to understand all the customizable op
|
|||
| `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 | `` |
|
||||
| `INTERFACE` | Web interface type `classic` or `notebookbar` | `notebookbar` |
|
||||
| `GROUP_DOWNLOAD_AS` | Group Download as Icons into dropdown in notebookbar view | `TRUE` |
|
||||
| `GROUP_DOWNLOAD_AS` | Group Download as Icons into dropdown in notebookbar view | `TRUE` |
|
||||
| `WATERMARK_OPACITY` | Watermark Opacity | `0.2` |
|
||||
| `WATERMARK_TEXT` | Text to display for watermark | `` |
|
||||
| `ENABLE_MACROS` | Enable Macros | `FALSE` |
|
||||
|
@ -146,12 +149,12 @@ Be sure to view the following repositories to understand all the customizable op
|
|||
|
||||
|
||||
#### Administration
|
||||
| Parameter | Description | Default |
|
||||
| ---------------------- | --------------------------------------------- | ----------------- |
|
||||
| `ENABLE_ADMIN_CONSOLE` | Enable Administration Console | `TRUE` |
|
||||
| `ADMIN_USER` | User for accessing Administration Console | `admin` |
|
||||
| `ADMIN_PASS` | Password for accessing Administration Console | `collaboraonline` |
|
||||
| `ADMIN_JWT_EXPIRY` | Admin JWT Expiry in seconds | `1800` |
|
||||
| Parameter | Description | Default | `_FILE` |
|
||||
| ---------------------- | --------------------------------------------- | ----------------- | ------- |
|
||||
| `ENABLE_ADMIN_CONSOLE` | Enable Administration Console | `TRUE` | |
|
||||
| `ADMIN_USER` | User for accessing Administration Console | `admin` | x |
|
||||
| `ADMIN_PASS` | Password for accessing Administration Console | `collaboraonline` | x |
|
||||
| `ADMIN_JWT_EXPIRY` | Admin JWT Expiry in seconds | `1800` | |
|
||||
|
||||
|
||||
#### Logging
|
||||
|
@ -171,6 +174,24 @@ Be sure to view the following repositories to understand all the customizable op
|
|||
| `LOG_LEVEL_CLIENT_LEAST_VERBOSE` | Least verbose log level to ever send to client | `FATAL` |
|
||||
| `LOG_LEVEL_CLIENT_MOST_VERBOSE` | Most verbose log level to ever send to client | `NOTICE` |
|
||||
| `LOG_LIBREOFFICE` | Log filter what Libreoffice entries | `-INFO-WARN` |
|
||||
| `LOG_PROTOCOL` | Log Client Server Protocol | `false` |
|
||||
|
||||
#### Languages for writing aids (spell checker, grammar checker, thesaurus, hyphenation)
|
||||
|
||||
The image comes with English (US, GB variants) baked into the image, however upon container startup you can add more languages via environment variables.
|
||||
Add multiple languages by seperating with a space.
|
||||
|
||||
| Parameter | Value | Description |
|
||||
| -------------- | ------- | -------------------------- |
|
||||
| `LANGUAGE` | `en_GB` | English (Great Britain) |
|
||||
| | `en_US` | English (US) |
|
||||
| | `fr_FR` | French (France) |
|
||||
|
||||
The above table is just a sample of valid values.
|
||||
|
||||
Please note that allowing too many has negative effect on startup performance.
|
||||
|
||||
Default value: `en_GB en_US`
|
||||
|
||||
#### Spell Check
|
||||
|
||||
|
@ -223,6 +244,7 @@ The image comes with English (US, GB, Canada variants) baked into the image, how
|
|||
| | `uk` | Ukranian |
|
||||
| | `vi` | Vietnamese |
|
||||
|
||||
Don’t forget to add the according languages to the [`LANGUAGE`](#languages-for-writing-aids-spell-checker-grammar-checker-thesaurus-hyphenation) environment variable.
|
||||
|
||||
#### TLS Settings
|
||||
| Parameter | Description | Default |
|
||||
|
@ -245,8 +267,8 @@ The image comes with English (US, GB, Canada variants) baked into the image, how
|
|||
| `FILE_SIZE_LIMIT` | The maximum file size allowed to each document process to write | `0` (unlimited) |
|
||||
| `IDLE_SAVE` | The number of idle seconds after which document, if modified, should be saved | `30` |
|
||||
| `IDLE_UNLOAD_TIMEOUT` | The maximum number of seconds before unloading an idle documen | `3600` |
|
||||
| `MIN_TIME_BETWEEN_SAVES` | Minimum number of milliseconds between saving document on disk | `500` |
|
||||
| `MIN_TIME_BETWEEN_UPLOADS` | Minimum number of milliseconds between uploading document to storage | `5000` |
|
||||
| `MIN_TIME_BETWEEN_SAVES` | Minimum number of milliseconds between saving document on disk | `500` |
|
||||
| `MIN_TIME_BETWEEN_UPLOADS` | Minimum number of milliseconds between uploading document to storage | `5000` |
|
||||
| `MAX_CONVERT_LIMIT` | Maximum time in seconds to wait for a convert process to complete | `30` |
|
||||
| `MAX_FILE_LOAD_LIMIT` | Maximum number of seconds to wait for a document load to succeed | `100` |
|
||||
| `MAX_OPEN_FILES` | The maximum number of files allowed to each document process to open | `0` (unlimited) |
|
||||
|
@ -268,25 +290,26 @@ The image comes with English (US, GB, Canada variants) baked into the image, how
|
|||
| `FILES_QUARANTINE_EXPIRY` | Files expiry in minutes | `30` |
|
||||
|
||||
#### DeepL Translation
|
||||
| Parameter | Description | Default |
|
||||
| ----------------------------- | ------------------------------------------------------------------------ | ------- |
|
||||
| `ENABLE_DEEPL` | Enable DeepL Translation Support | `FALSE` |
|
||||
| `DEEPL_API_URL` | DeepL API URL | `` |
|
||||
| `DEEPL_AUTH_KEY` | DeepL Auth Key | `` |
|
||||
| Parameter | Description | Default | `_FILE` |
|
||||
| ---------------- | -------------------------------- | ------- | ------- |
|
||||
| `ENABLE_DEEPL` | Enable DeepL Translation Support | `FALSE` | |
|
||||
| `DEEPL_API_URL` | DeepL API URL | `` | x |
|
||||
| `DEEPL_AUTH_KEY` | DeepL Auth Key | `` | x |
|
||||
|
||||
#### Language Tool
|
||||
| Parameter | Description | Default |
|
||||
| ----------------------------- | ------------------------------------------------------------------------ | ------- |
|
||||
| `ENABLE_LANGUAGE_TOOL` | Enable Language Tool Grammar checking integration | `FALSE` |
|
||||
| `LANGUAGE_TOOL_BASE_URL` | Base URL for Language Tool | |
|
||||
| `LANGUAGE_TOOL_USER_NAME` | Language Tool User Name | |
|
||||
| `LANGUAGE_TOOL_API_KEY` | Language Tool provided API Key | |
|
||||
| `LANGUAGE_TOOL_REST_PROTOCOL` | REST protocol. blank for Language Tool `duden` for Duden Korrekturserver | |
|
||||
| `LANGUAGE_TOOL_SSL_VERIFY` | SSL Verify | `TRUE` |
|
||||
| Parameter | Description | Default | `_FILE` |
|
||||
| ----------------------------- | ------------------------------------------------------------------------ | ------- | ------- |
|
||||
| `ENABLE_LANGUAGE_TOOL` | Enable Language Tool Grammar checking integration | `FALSE` | |
|
||||
| `LANGUAGE_TOOL_BASE_URL` | Base URL for Language Tool | | x |
|
||||
| `LANGUAGE_TOOL_USER_NAME` | Language Tool User Name | | x |
|
||||
| `LANGUAGE_TOOL_API_KEY` | Language Tool provided API Key | | x |
|
||||
| `LANGUAGE_TOOL_REST_PROTOCOL` | REST protocol. blank for Language Tool `duden` for Duden Korrekturserver | | |
|
||||
| `LANGUAGE_TOOL_SSL_VERIFY` | SSL Verify | `TRUE` | |
|
||||
|
||||
#### Zotero
|
||||
| Parameter | Description | Default |
|
||||
| ----------------------------- | ------------------------------------------------------------------------ | ------- |
|
||||
| `ENABLE_ZOTERO` | Enable Zotero Citations | `TRUE` |
|
||||
| Parameter | Description | Default |
|
||||
| --------------- | ----------------------- | ------- |
|
||||
| `ENABLE_ZOTERO` | Enable Zotero Citations | `TRUE` |
|
||||
|
||||
#### Cleanup
|
||||
| Parameter | Description | Default |
|
||||
|
@ -299,26 +322,25 @@ The image comes with English (US, GB, Canada variants) baked into the image, how
|
|||
| `CLEANUP_LIMIT_CPU_PER` | Minimum CPU usage in percent for a document to be candidate for bad state | `85` |
|
||||
|
||||
#### Other Settings
|
||||
| Parameter | Description | Default |
|
||||
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------- | --------------- |
|
||||
| `CHILD_ROOT_PATH` | Child root path | `child-roots` |
|
||||
| `DOCUMENT_SIGNING_URL` | Endpoint URL of signing server | `` |
|
||||
| `ENABLE_CAPABILITIES` | Enable Capabilities | `TRUE` |
|
||||
| `ENABLE_CONFIG_RELOAD` | Enable Reload of coolwsd if config changed in container | `TRUE` |
|
||||
| `ENABLE_EXPERIMENTAL_FEATURES` | Enable experimental features | `FALSE` |
|
||||
| `ENABLE_MOUNT_JAIL` | Enable mounting jails | `true` |
|
||||
| `ENABLE_SECCOMP` | Enable Seccomp | `TRUE` |
|
||||
| `FILE_SERVER_ROOT_PATH` | Path to directory considered as root | `browser/../` |
|
||||
| `FRAME_ANCESTORS` | Hosts where interface can be hosted in Iframe | `` |
|
||||
| `HEXIFY_EMBEDDED_URLS` | Hexify Embedded URLS (useful for Azure deployments) | `FALSE` |
|
||||
| `INDIRECTION_ENDPOINT` | URL endpoint to server which zervers routeToken in json format | |
|
||||
| `NETWORK_PROTOCOL` | Network Protocol `ipv4` `ipv6` `all` | `ipv4` |
|
||||
| `PDF_RESOLUTION_DPI` | PDF Resolution DPI when rendering PDF documents as image | `96` |
|
||||
| `REDLINING_AS_COMMENTS` | Show red-lines as comments | `false` |
|
||||
| `REMOTE_URL` | Remote server to send request to get remote config | |
|
||||
| `SYS_TEMPLATE_PATH` | System Template Path | `systemplate` |
|
||||
| `USE_INTEGRATOR_THEME` | Use the remote integrators theme | `TRUE` |
|
||||
| `VERSION_SUFFIX` | Append this value onto version to break cache when developing. Generates random uuid when using value of `random` | |
|
||||
| Parameter | Description | Default |
|
||||
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------- | ------------- |
|
||||
| `CHILD_ROOT_PATH` | Child root path | `child-roots` |
|
||||
| `DOCUMENT_SIGNING_URL` | Endpoint URL of signing server | `` |
|
||||
| `ENABLE_CAPABILITIES` | Enable Capabilities | `TRUE` |
|
||||
| `ENABLE_CONFIG_RELOAD` | Enable Reload of coolwsd if config changed in container | `TRUE` |
|
||||
| `ENABLE_EXPERIMENTAL_FEATURES` | Enable experimental features | `FALSE` |
|
||||
| `ENABLE_MOUNT_JAIL` | Enable mounting jails | `true` |
|
||||
| `ENABLE_SECCOMP` | Enable Seccomp | `TRUE` |
|
||||
| `FILE_SERVER_ROOT_PATH` | Path to directory considered as root | `browser/../` |
|
||||
| `FRAME_ANCESTORS` | Hosts where interface can be hosted in Iframe | `` |
|
||||
| `HEXIFY_EMBEDDED_URLS` | Hexify Embedded URLS (useful for Azure deployments) | `FALSE` |
|
||||
| `INDIRECTION_ENDPOINT` | URL endpoint to server which zervers routeToken in json format | |
|
||||
| `PDF_RESOLUTION_DPI` | PDF Resolution DPI when rendering PDF documents as image | `96` |
|
||||
| `REDLINING_AS_COMMENTS` | Show red-lines as comments | `false` |
|
||||
| `REMOTE_URL` | Remote server to send request to get remote config | |
|
||||
| `SYS_TEMPLATE_PATH` | System Template Path | `systemplate` |
|
||||
| `USE_INTEGRATOR_THEME` | Use the remote integrators theme | `TRUE` |
|
||||
| `VERSION_SUFFIX` | Append this value onto version to break cache when developing. Generates random uuid when using value of `random` | |
|
||||
|
||||
|
||||
#### Adding Custom Fonts
|
||||
|
@ -326,10 +348,10 @@ This image comes with some highly opninionated default fonts by the LibreOffice
|
|||
|
||||
You can also configure this inside the container with a compatible application.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------- | --------------- |
|
||||
| `REMOTE_FONT_URL` | URL to json font lists to load | |
|
||||
| `FONTS_MISSING_ACTION` | How to handle fonts missing in a document `report` `log` `both` `ignore` | `log` |
|
||||
| Parameter | Description | Default |
|
||||
| ---------------------- | ------------------------------------------------------------------------ | ------- |
|
||||
| `REMOTE_FONT_URL` | URL to json font lists to load | |
|
||||
| `FONTS_MISSING_ACTION` | How to handle fonts missing in a document `report` `log` `both` `ignore` | `log` |
|
||||
|
||||
### Networking
|
||||
|
||||
|
|
|
@ -62,6 +62,7 @@ LOG_LEVEL=${LOG_LEVEL:-"warning"}
|
|||
LOG_LEVEL_CLIENT_LEAST_VERBOSE=${LOG_LEVEL_CLIENT_LEAST_VERBOSE:-"FATAL"}
|
||||
LOG_LEVEL_CLIENT_MOST_VERBOSE=${LOG_LEVEL_CLIENT_MOST_VERBOSE:-"NOTICE"}
|
||||
LOG_LIBREOFFICE=${LOG_LIBREOFFICE:-"-INFO-WARN"}
|
||||
LOG_PROTOCOL=${LOG_PROTOCOL:-"FALSE"}
|
||||
LOG_PATH=${LOG_PATH:-"/logs/"}
|
||||
LOG_TYPE=${LOG_TYPE:-"CONSOLE"}
|
||||
MACRO_SECURITY_LEVEL=${MACRO_SECURITY_LEVEL:-"1"}
|
||||
|
@ -74,7 +75,6 @@ MIN_TIME_BETWEEN_UPLOADS=${MIN_TIME_BETWEEN_UPLOADS:-"5000"}
|
|||
MEMORY_STACK_LIMIT=${MEMORY_STACK_LIMIT:-8000}
|
||||
MEMORY_USAGE_MAX=${MEMORY_USAGE_MAX:-"80.0"}
|
||||
MEMORY_VIRT_LIMIT=${MEMORY_VIRT_LIMIT:-0}
|
||||
NETWORK_PROTOCOL=${NETWORK_PROTOCOL:-"ipv4"}
|
||||
PATH_PREFIX=${PATH_PREFIX:-"/opt/cool/"}
|
||||
PDF_RESOLUTION_DPI=${PDF_RESOLUTION_DPI:-"96"}
|
||||
PRESPAWN_CHILD_PROCESSES=${PRESPAWN_CHILD_PROCESSES:-1}
|
||||
|
|
|
@ -5,6 +5,14 @@ prepare_service single
|
|||
prepare_service 03-monitoring
|
||||
PROCESS_NAME="collabora-online"
|
||||
|
||||
transform_file_var \
|
||||
ADMIN_USER \
|
||||
ADMIN_PASS \
|
||||
DEEPL_API_URL \
|
||||
DEEPL_AUTH_KEY \
|
||||
LANGUAGE_TOOL_USER_NAME \
|
||||
LANGUAGE_TOOL_REST_PROTOCOL
|
||||
|
||||
sanity_var "ALLOWED_HOSTS" "Allowed Hostnames"
|
||||
|
||||
print_debug "Creating directories and setting up logging"
|
||||
|
@ -12,7 +20,6 @@ mkdir -p "${LOG_PATH}"
|
|||
touch "${LOG_PATH}"/"${LOG_FILE}"
|
||||
chown -R cool "${LOG_PATH}"
|
||||
|
||||
|
||||
print_debug "Setting up DNS Resolution"
|
||||
rm /opt/cool/systemplate/etc/resolv.conf
|
||||
cp /etc/hosts /opt/cool/systemplate/etc/
|
||||
|
@ -71,6 +78,7 @@ if [ -d /assets/custom-fonts/ ] ; then
|
|||
chmod +rx /assets/custom-fonts
|
||||
ln -s /assets/custom-fonts /usr/share/fonts/truetype/custom
|
||||
silent fc-cache -f -v
|
||||
silent sudo -i cool fc-cache -f -v
|
||||
rm -rf /opt/cool/systemplate/*
|
||||
silent sudo -u cool /opt/cool/bin/coolwsd-systemplate-setup /opt/cool/systemplate /opt/libreoffice
|
||||
fi
|
||||
|
@ -121,30 +129,30 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
## Language Tool
|
||||
sed -i \
|
||||
-e "s|<enabled desc=\"Enable Remote Spell and Grammar Checker\"\(.*\)>.*</enabled>|<enabled desc=\"Enable Remote Spell and Grammar Checker\"\1>${ENABLE_LANGUAGE_TOOL,,}</enabled>|g" \
|
||||
-e "s|<base_url desc=\"Http endpoint for the API server\(.*\)>.*<\/base_url>|<base_url desc=\"Http endpointfor the API server\1>${LANGUAGE_TOOL_BASE_URL}<\/base_url>|" \
|
||||
-e "s|<user_name desc=\"Lan\(.*\)>.*<\/user_name>|<user_name desc=\"Lan\1>${LANGUAGE_TOOL_USER_NAME}<\/user_name>|" \
|
||||
-e "s|<api_key desc=\"API key provided by Lan\(.*\)>.*<\/api_key>|<api_key desc=\"API key provided by Lan\1>${LANGUAGE_TOOL_API_KEY}<\/api_key>|" \
|
||||
-e "s|<ssl_verification desc=\"Enable or disable SSL\(.*\)>.*<\/ssl_verification>|<ssl_verification desc=\"Enable or disable SSL\1>${LANGUAGE_TOOL_SSL_VERIFY,,}<\/ssl_verification>|" \
|
||||
-e "s|<rest_protocol desc=\"REST API protocol\(.*\)>.*<\/rest_protocol>|<rest_protocol desc=\"REST API protocol\1>${LANGUAGE_TOOL_REST_PROTOCOL,,}<\/rest_protocol>|" \
|
||||
-e "s|<base_url desc=\"Http endpoint for the API server\(.*\)>.*<\/base_url>|<base_url desc=\"Http endpointfor the API server\1>${LANGUAGE_TOOL_BASE_URL}<\/base_url>|g" \
|
||||
-e "s|<user_name desc=\"Lan\(.*\)>.*<\/user_name>|<user_name desc=\"Lan\1>${LANGUAGE_TOOL_USER_NAME}<\/user_name>|g" \
|
||||
-e "s|<api_key desc=\"API key provided by Lan\(.*\)>.*<\/api_key>|<api_key desc=\"API key provided by Lan\1>${LANGUAGE_TOOL_API_KEY}<\/api_key>|g" \
|
||||
-e "s|<ssl_verification desc=\"Enable or disable SSL\(.*\)>.*<\/ssl_verification>|<ssl_verification desc=\"Enable or disable SSL\1>${LANGUAGE_TOOL_SSL_VERIFY,,}<\/ssl_verification>|g" \
|
||||
-e "s|<rest_protocol desc=\"REST API protocol\(.*\)>.*<\/rest_protocol>|<rest_protocol desc=\"REST API protocol\1>${LANGUAGE_TOOL_REST_PROTOCOL,,}<\/rest_protocol>|g" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## DeepL
|
||||
sed -i \
|
||||
-e "s|<enabled desc=\"If true, shows translate option as a menu\(.*\)>.*</enabled>|<enabled desc=\"If true, shows translate option as a menu\1>${ENABLE_DEEPL,,}</enabled>|g" \
|
||||
-e "s|<api_url desc=\"URL for the API\"(.*\)>.*<\/api_url>|<api_url desc=\"URL for the API\"\1>${DEEPL_API_URL}<\/api_url>|" \
|
||||
-e "s|<auth_key desc=\"Auth Key generated by your account\"(.*\)>.*<\/auth_key>|<auth_key desc="Auth Key generated by your account"\1>${DEEPL_AUTH_KEY}<\/auth_key>|" \
|
||||
-e "s|<api_url desc=\"URL for the API\"\(.*\)>.*<\/api_url>|<api_url desc=\"URL for the API\"\1>${DEEPL_API_URL}<\/api_url>|g" \
|
||||
-e "s|<auth_key desc=\"Auth Key generated by your account\"\(.*\)>.*<\/auth_key>|<auth_key desc=\"Auth Key generated by your account\"\1>${DEEPL_AUTH_KEY}<\/auth_key>|g" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
|
||||
sed -i -e "s|<sys_template_path \(.*\)>.*</sys_template_path>|<sys_template_path \1>${SYS_TEMPLATE_PATH}</sys_template_path>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<child_root_path \(.*\)>.*</child_root_path>|<child_root_path \1>${CHILD_ROOT_PATH}</child_root_path>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<mount_jail_tree \(.*\)>.*</mount_jail_tree>|<mount_jail_tree \1>${ENABLE_MOUNT_JAIL,,}</mount_jail_tree>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<server_name \(.*\)>.*</server_name>|<server_name \1>${HOSTNAME}</server_name>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<file_server_root_path \(.*\)>.*</file_server_root_path>|<file_server_root_path \1>${FILE_SERVER_ROOT_PATH}</file_server_root_path>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<sys_template_path \(.*\)>.*</sys_template_path>|<sys_template_path \1>${SYS_TEMPLATE_PATH}</sys_template_path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<child_root_path \(.*\)>.*</child_root_path>|<child_root_path \1>${CHILD_ROOT_PATH}</child_root_path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<mount_jail_tree \(.*\)>.*</mount_jail_tree>|<mount_jail_tree \1>${ENABLE_MOUNT_JAIL,,}</mount_jail_tree>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<server_name \(.*\)>.*</server_name>|<server_name \1>${HOSTNAME}</server_name>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<file_server_root_path \(.*\)>.*</file_server_root_path>|<file_server_root_path \1>${FILE_SERVER_ROOT_PATH}</file_server_root_path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<hexify_embedded_urls \(.*\)>.*<\/hexify_embedded_urls>|<hexify_embedded_urls \1>${HEXIFY_EMBEDDED_URLS,,}<\/hexify_embedded_urls>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<experimental_features \(.*\)>.*<\/experimental_features>|<experimental_features \1>${ENABLE_EXPERIMENTAL_FEATURES,,}<\/experimental_features>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<memproportion \(.*\)>.*</memproportion>|<memproportion \1>${MEMORY_USAGE_MAX}</memproportion>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<num_prespawn_children \(.*\)>.*</num_prespawn_children>|<num_prespawn_children \1>${PRESPAWN_CHILD_PROCESSES}</num_prespawn_children>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<memproportion \(.*\)>.*</memproportion>|<memproportion \1>${MEMORY_USAGE_MAX}</memproportion>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<num_prespawn_children \(.*\)>.*</num_prespawn_children>|<num_prespawn_children \1>${PRESPAWN_CHILD_PROCESSES}</num_prespawn_children>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Per Document
|
||||
sed -i \
|
||||
|
@ -164,7 +172,7 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
-e "s|<limit_load_secs \(.*\)>.*<\/limit_load_secs>|<limit_load_secs \1>${MAX_FILE_LOAD_LIMIT}<\/limit_load_secs>|" \
|
||||
-e "s|<limit_convert_secs \(.*\)>.*<\/limit_convert_secs>|<limit_convert_secs \1>${MAX_CONVERT_LIMIT}<\/limit_convert_secs>|" \
|
||||
-e "s|<min_time_between_saves_ms \(.*\)>.*<\/min_time_between_saves_ms>|<min_time_between_saves_ms \1>${MIN_TIME_BETWEEN_SAVES}<\/min_time_between_saves_ms>|" \
|
||||
-e "s|<min_time_between_uploads_ms \(.*\)>.*<\/min_time_between_uploads_ms>|<min_time_between_uplods_ms \1>${MIN_TIME_BETWEEN_UPLOADS}<\/min_time_between_uploads_ms>|" \
|
||||
-e "s|<min_time_between_uploads_ms \(.*\)>.*<\/min_time_between_uploads_ms>|<min_time_between_uploads_ms \1>${MIN_TIME_BETWEEN_UPLOADS}<\/min_time_between_uploads_ms>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Cleanup
|
||||
|
@ -179,7 +187,7 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
|
||||
## Per View Settings
|
||||
sed -i \
|
||||
-e "s|<group_download_as \(.*\)>.*<\/group_download_as>|<group_download_as \1>${GROUP_DOWNLOAD_AS}<\/group_download_as>|" \
|
||||
-e "s|<group_download_as \(.*\)>.*<\/group_download_as>|<group_download_as \1>${GROUP_DOWNLOAD_AS,,}<\/group_download_as>|" \
|
||||
-e "s|<out_of_focus_timeout_secs \(.*\)>.*<\/out_of_focus_timeout_secs>|<out_of_focus_timeout_secs \1>${USER_OUT_OF_FOCUS_TIMEOUT}<\/out_of_focus_timeout_secs>|" \
|
||||
-e "s|<idle_timeout_secs \(.*\)>.*<\/idle_timeout_secs>|<idle_timeout_secs \1>${USER_IDLE_TIMEOUT}<\/idle_timeout_secs>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
@ -193,7 +201,7 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
-e "s|<protocol \(.*\)>.*<\/protocol>|<protocol \1>${LOG_CLIENT_CONSOLE}<\/protocol>|" \
|
||||
-e "s|<lokit_sal_log \(.*\)>.*<\/lokit_sal_log>|<lokit_sal_log \1>${LOG_LIBREOFFICE}<\/lokit_sal_log>|" \
|
||||
-e "s|<browser_logging \(.*\)>.*<\/browser_logging>|<browser_logging \1>${LOG_CLIENT_CONSOLE}<\/browser_logging>|" \
|
||||
-e "s|<protocol \(.*\)>.*<\/protocol>|<protocol \1>${NETWORK_PROTOCOL}<\/protocol>|" \
|
||||
-e "s|<protocol \(.*\)>.*<\/protocol>|<protocol \1>${LOG_PROTOCOL,,}<\/protocol>|" \
|
||||
-e "s|<most_verbose_level_settable_from_client \(.*\)>.*<\/most_verbose_level_settable_from_client>|<most_verbose_level_settable_from_client \1>${LOG_LEVEL_CLIENT_MOST_VERBOSE}<\/most_verbose_level_settable_from_client>|" \
|
||||
-e "s|<least_verbose_level_settable_from_client \(.*\)>.*<\/least_verbose_level_settable_from_client>|<least_verbose_level_settable_from_client \1>${LOG_LEVEL_CLIENT_LEAST_VERBOSE}<\/least_verbose_level_settable_from_client>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
@ -257,13 +265,14 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
-e "s|<jwt_expiry_secs \(.*\)>.*<\/jwt_expiry_secs>|<jwt_expiry_secs \1>${ADMIN_JWT_EXPIRY}<\/jwt_expiry_secs>|" \
|
||||
-e "s|<enable_macros_execution \(.*\)>.*<\/enable_macros_execution>|<enable_macros_execution \1>${ENABLE_MACROS,,}<\/enable_macros_execution>|" \
|
||||
-e "s|<macro_security_level \(.*\)>.*<\/macro_security_level>|<macro_security_level \1>${MACRO_SECURITY_LEVEL}<\/macro_security_level>|" \
|
||||
-e "s|<enable_metrics_unauthenticated \(.*\)>.*<\/enable_metrics_unauthenticated>|<enable_metrics_unauthenticated \1>${ENABLE_METRICS_UNAUTHENTICATED}<\/enable_metrics_unauthenticated>|" \
|
||||
-e "s|<enable_metrics_unauthenticated \(.*\)>.*<\/enable_metrics_unauthenticated>|<enable_metrics_unauthenticated \1>${ENABLE_METRICS_UNAUTHENTICATED,,}<\/enable_metrics_unauthenticated>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Watermark
|
||||
sed -i \
|
||||
-e "s|<opacity \(.*\)>.*<\/opacity>|<opacity \1>${WATERMARK_OPACITY}<\/opacity>|" \
|
||||
-e "s|<text \(.*\)>.*<\/text>|<text \1>${WATERMARK_TEXT}<\/text>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## User Interface
|
||||
sed -i \
|
||||
|
@ -281,11 +290,13 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Quarantine Files
|
||||
sed -i -e "s|<quarantine_files \(.*\) enable\".*\">|<quarantine_files \1> enable=\"${ENABLE_FILES_QUARANTINE,,}\">|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_dir_size_mb \(.*\)>.*<\/limit_dir_size_mb>|<limit_dir_size_mb \1>${FILES_QUARANTINE_DIRECTORY_SIZE_LIMIT}<\/limit_dir_size_mb>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<path desc=\"Path to directory\(.*\)>.*<\/path>|<path desc=\"Path to directory\1>${FILES_QUARANTINE_PATH}<\/path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<max_versions_to_maintain \(.*\)>.*<\/max_versions_to_maintain>|<max_versions_to_maintain \1>${FILES_QUARANTINE_MAX_VERSIONS}<\/max_versions_to_maintain>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<expiry_min \(.*\)>.*<\/expiry_min>|<expiry_min \1>${FILES_QUARANTINE_EXPIRY}<\/expiry_min>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i \
|
||||
-e "s|<quarantine_files \(.*\) enable\".*\">|<quarantine_files \1> enable=\"${ENABLE_FILES_QUARANTINE,,}\">|" \
|
||||
-e "s|<limit_dir_size_mb \(.*\)>.*<\/limit_dir_size_mb>|<limit_dir_size_mb \1>${FILES_QUARANTINE_DIRECTORY_SIZE_LIMIT}<\/limit_dir_size_mb>|" \
|
||||
-e "s|<path desc=\"Path to directory\(.*\)>.*<\/path>|<path desc=\"Path to directory\1>${FILES_QUARANTINE_PATH}<\/path>|" \
|
||||
-e "s|<max_versions_to_maintain \(.*\)>.*<\/max_versions_to_maintain>|<max_versions_to_maintain \1>${FILES_QUARANTINE_MAX_VERSIONS}<\/max_versions_to_maintain>|" \
|
||||
-e "s|<expiry_min \(.*\)>.*<\/expiry_min>|<expiry_min \1>${FILES_QUARANTINE_EXPIRY}<\/expiry_min>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Remote Config
|
||||
sed -i -e "s|<remote_url desc=\(.*\)>.*<\/remote_url>|<remote_url desc=\1>${REMOTE_URL}<\/remote_url>|" /etc/coolwsd/coolwsd.xml
|
||||
|
@ -294,7 +305,7 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
sed -i -e "s|<url desc=\"URL of optional JSON\(.*\)>.*<\/url>|<url desc=\"URL of optional JSON\1>${REMOTE_FONT_URL}<\/url>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Home Mode
|
||||
sed -i -e "s|<enable desc=\"Enable more configuration options for home users\(.*\)>.*<\/enable>|<enable desc=\"Enable more configuration options for home users\1>${ENABLE_HOME_MODE}<\/enable>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<enable desc=\"Enable more configuration options for home users\(.*\)>.*<\/enable>|<enable desc=\"Enable more configuration options for home users\1>${ENABLE_HOME_MODE,,}<\/enable>|g" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Fonts Missing
|
||||
sed -i -e "s|<handling desc=\(.*\)>.*<\/handling>|<handling desc=\1>${FONTS_MISSING_ACTION}<\/handling>|" /etc/coolwsd/coolwsd.xml
|
||||
|
|
Loading…
Reference in a new issue