mirror of
https://github.com/tiredofit/docker-collabora-online.git
synced 2024-06-18 05:25:47 +02:00
1.0 - Production Release
This commit is contained in:
parent
4df5c9fdf8
commit
098b41f9d8
|
@ -1,3 +1,11 @@
|
||||||
|
## 1.0 2018-09-15 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
* Switch to Ubuntu 16.04
|
||||||
|
* Use Multi Stage Build to keep image size down
|
||||||
|
* Libreoffice 6.0.4.2
|
||||||
|
* Libreoffice Online 6.0.4.2
|
||||||
|
* Poco 1.9.0
|
||||||
|
|
||||||
## 0.2 2018-03-19 <dave at tiredofit dot ca>
|
## 0.2 2018-03-19 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
* Working LibreOffice online 5.37.2
|
* Working LibreOffice online 5.37.2
|
||||||
|
|
393
Dockerfile
393
Dockerfile
|
@ -1,117 +1,74 @@
|
||||||
FROM tiredofit/debian:stretch
|
FROM tiredofit/ubuntu:16.04 as builder
|
||||||
LABEL maintainer="Dave Conroy (dave at tiredofit dot ca)"
|
LABEL maintainer="Dave Conroy (dave at tiredofit dot ca)"
|
||||||
|
|
||||||
### Set Environment Variables
|
### Set Environment Variables
|
||||||
ENV ADMIN_USER=admin \
|
ENV LIBREOFFICE_BRANCH=master \
|
||||||
ADMIN_PASS=libreoffice \
|
## 6.0.6.2
|
||||||
LIBREOFFICE_BRANCH=master \
|
LIBREOFFICE_COMMIT=0857a8f6d8dd1b5b9114e9e0c1e1b6b98394434f \
|
||||||
LIBREOFFICE_COMMIT=376eaac300a303c4ad2193fb7f6a7522caf550b9 \
|
|
||||||
LOOL_BRANCH=master \
|
LOOL_BRANCH=master \
|
||||||
LOOL_COMMIT=fba8488b2549f531fcc0d4e1e7228a7345c2f57d \
|
## 3.2.0.4
|
||||||
MAX_CONNECTIONS=2000 \
|
LOOL_COMMIT=9927458251fd069e11efc8e83c78449497cc2048 \
|
||||||
MAX_DOCUMENTS=1000 \
|
MAX_CONNECTIONS=5000 \
|
||||||
POCO_VERSION=1.9.0
|
## Uses Approximately 20mb per document open
|
||||||
|
MAX_DOCUMENTS=5000
|
||||||
|
|
||||||
### Add User Accounts
|
### Get Updates
|
||||||
RUN useradd lool -G sudo && \
|
RUN apt-get update && \
|
||||||
mkdir /home/lool && \
|
apt-get -y install apt-transport-https && \
|
||||||
chown lool:lool /home/lool -R && \
|
echo "deb https://collaboraoffice.com/repos/Poco/ /" >> /etc/apt/sources.list.d/poco.list && \
|
||||||
|
echo "deb-src http://archive.ubuntu.com/ubuntu/ xenial main restricted" >> /etc/apt/sources.list && \
|
||||||
### Add Repositories
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D && \
|
||||||
echo "deb http://ftp.us.debian.org/debian/ jessie-backports main" >>/etc/apt/sources.list && \
|
|
||||||
echo "deb-src http://ftp.us.debian.org/debian/ jessie-backports main" >>/etc/apt/sources.list && \
|
|
||||||
echo "deb http://deb.debian.org/debian stretch contrib" >> /etc/apt/sources.list && \
|
|
||||||
curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
|
curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
|
||||||
|
\
|
||||||
### Downgrade LibSSL
|
## Install Poco Libs
|
||||||
echo "Package: openssl libssl1.0.0 libssl-dev libssl-doc" >> /etc/apt/preferences.d/00_ssl && \
|
apt-get -y install \
|
||||||
echo "Pin: release a=jessie-backports" >> /etc/apt/preferences.d/00_ssl && \
|
libpoco-dev \
|
||||||
echo "Pin-Priority: 1001" >> /etc/apt/preferences.d/00_ssl && \
|
libpocodata60 \
|
||||||
apt-get update && \
|
libpocofoundation60 \
|
||||||
apt-get install openssl libssl-dev locales -y --allow-downgrades && \
|
libpocojson60 \
|
||||||
|
libpocodataodbc60 \
|
||||||
### Setup Distribution
|
libpococrypto60 \
|
||||||
|
libpoconet60 \
|
||||||
|
libpoconetssl60 \
|
||||||
|
libpocoutil60 \
|
||||||
|
libpocoxml60 \
|
||||||
|
libpocozip60 \
|
||||||
|
&& \
|
||||||
|
\
|
||||||
|
mkdir -p /home/lool && \
|
||||||
|
useradd lool -G sudo && \
|
||||||
|
chown lool:lool /home/lool -R && \
|
||||||
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \
|
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \
|
||||||
apt-get upgrade -y && \
|
\
|
||||||
|
## Add Build Dependencies
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
ant \
|
|
||||||
automake \
|
|
||||||
bison \
|
|
||||||
build-essential \
|
|
||||||
ccache \
|
|
||||||
cpio \
|
cpio \
|
||||||
doxygen \
|
|
||||||
flex \
|
|
||||||
g++ \
|
|
||||||
git \
|
git \
|
||||||
gperf \
|
|
||||||
graphviz \
|
|
||||||
junit4 \
|
|
||||||
libcap2-bin \
|
|
||||||
libcap-dev \
|
libcap-dev \
|
||||||
libcppunit-dev \
|
libghc-zlib-dev \
|
||||||
libcppunit-doc \
|
|
||||||
libcunit1 \
|
|
||||||
libcunit1-dev \
|
|
||||||
libcups2-dev \
|
|
||||||
libegl1-mesa-dev \
|
|
||||||
libfontconfig1-dev \
|
|
||||||
libgl1-mesa-dev \
|
|
||||||
libgstreamer1.0-dev \
|
|
||||||
libgstreamer-plugins-base1.0-dev \
|
|
||||||
libgtk2.0-dev \
|
|
||||||
libgtk-3-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libpam0g-dev \
|
libpam0g-dev \
|
||||||
libpcap0.8 \
|
|
||||||
libpcap0.8-dev \
|
|
||||||
libpng16.16 \
|
|
||||||
libpng-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libtool \
|
libtool \
|
||||||
libxml2-utils \
|
|
||||||
libxrandr-dev \
|
|
||||||
libxrender-dev \
|
|
||||||
libxslt1-dev \
|
|
||||||
libxt-dev \
|
|
||||||
lsof \
|
|
||||||
m4 \
|
|
||||||
make \
|
|
||||||
nasm \
|
|
||||||
nodejs \
|
nodejs \
|
||||||
openjdk-8-jdk \
|
|
||||||
openssl \
|
|
||||||
pkg-config \
|
|
||||||
procps \
|
|
||||||
python3-dev \
|
|
||||||
python-dev \
|
|
||||||
python-lxml \
|
|
||||||
python-polib \
|
python-polib \
|
||||||
sudo \
|
sudo \
|
||||||
|
translate-toolkit \
|
||||||
ttf-mscorefonts-installer \
|
ttf-mscorefonts-installer \
|
||||||
uuid-runtime \
|
|
||||||
wget \
|
wget \
|
||||||
xsltproc \
|
|
||||||
zip \
|
|
||||||
&& \
|
&& \
|
||||||
|
\
|
||||||
apt-get build-dep -y \
|
apt-get build-dep -y \
|
||||||
libreoffice \
|
libreoffice \
|
||||||
&& \
|
&& \
|
||||||
|
\
|
||||||
|
### Build Fetch LibreOffice - This will take a while..
|
||||||
### Build and Install Poco Libraries
|
git clone -b ${LIBREOFFICE_BRANCH} https://github.com/LibreOffice/core.git /usr/src/libreoffice-core && \
|
||||||
mkdir -p /usr/src/poco && \
|
|
||||||
curl -sSL https://pocoproject.org/releases/poco-${POCO_VERSION}/poco-${POCO_VERSION}-all.tar.gz | tar xvfz - --strip 1 -C /usr/src/poco && \
|
|
||||||
cd /usr/src/poco && \
|
|
||||||
./configure --prefix=/opt/poco && \
|
|
||||||
make install
|
|
||||||
|
|
||||||
### Build and Install Libreoffice (This'll take a while)
|
|
||||||
RUN git clone -b ${LIBREOFFICE_BRANCH} https://github.com/LibreOffice/core.git /usr/src/libreoffice-core && \
|
|
||||||
cd /usr/src/libreoffice-core && \
|
cd /usr/src/libreoffice-core && \
|
||||||
|
echo "lo_sources_ver="`env | grep LIBREOFFICE_VERSION | cut -d'-' -f2` > sources.ver && \
|
||||||
git reset --hard ${LIBREOFFICE_COMMIT} && \
|
git reset --hard ${LIBREOFFICE_COMMIT} && \
|
||||||
chown -R lool /usr/src/libreoffice-core && \
|
git submodule init && \
|
||||||
|
git submodule update translations && \
|
||||||
|
git submodule update dictionaries && \
|
||||||
|
cd /usr/src/libreoffice-core && \
|
||||||
echo "--disable-dbus \n\
|
echo "--disable-dbus \n\
|
||||||
--disable-dconf \n\
|
--disable-dconf \n\
|
||||||
--disable-epm \n\
|
--disable-epm \n\
|
||||||
|
@ -143,11 +100,11 @@ RUN git clone -b ${LIBREOFFICE_BRANCH} https://github.com/LibreOffice/core.git /
|
||||||
--with-external-thes-dir=/usr/share/mythes \n\
|
--with-external-thes-dir=/usr/share/mythes \n\
|
||||||
--with-fonts \n\
|
--with-fonts \n\
|
||||||
--with-galleries=no \n\
|
--with-galleries=no \n\
|
||||||
--with-lang=\n\
|
--with-lang=en-GB en-US\n\
|
||||||
--with-linker-hash-style=both \n\
|
--with-linker-hash-style=both \n\
|
||||||
--with-system-dicts \n\
|
--with-system-dicts \n\
|
||||||
--with-system-zlib \n\
|
--with-system-zlib \n\
|
||||||
--with-theme=tango \n\
|
--with-theme=galaxy \n\
|
||||||
--without-branding \n\
|
--without-branding \n\
|
||||||
--without-help \n\
|
--without-help \n\
|
||||||
--without-java \n\
|
--without-java \n\
|
||||||
|
@ -163,159 +120,159 @@ RUN git clone -b ${LIBREOFFICE_BRANCH} https://github.com/LibreOffice/core.git /
|
||||||
--without-system-postgresql \n\
|
--without-system-postgresql \n\
|
||||||
--prefix=/opt/libreoffice \n\
|
--prefix=/opt/libreoffice \n\
|
||||||
" > /usr/src/libreoffice-core/distro-configs/LibreOfficeOnline.conf && \
|
" > /usr/src/libreoffice-core/distro-configs/LibreOfficeOnline.conf && \
|
||||||
sudo -u lool ./autogen.sh --with-distro="LibreOfficeOnline" && \
|
./autogen.sh --with-distro="LibreOfficeOnline" && \
|
||||||
|
rm -rf /usr/src/libreoffice-core/translations /usr/src/lobreoffice-core/dictionaries && \
|
||||||
|
chown -R lool /usr/src/libreoffice-core && \
|
||||||
sudo -u lool make && \
|
sudo -u lool make && \
|
||||||
cd /usr/src/libreoffice-core && \
|
cd /usr/src/libreoffice-core && \
|
||||||
mkdir -p /opt/libreoffice && \
|
mkdir -p /opt/libreoffice && \
|
||||||
chown -R lool /opt/libreoffice && \
|
chown -R lool /opt/libreoffice && \
|
||||||
sudo -u lool make install && \
|
sudo -u lool make install && \
|
||||||
sudo -u lool cp -R /usr/src/libreoffice-core/instdir /opt/libreoffice/ && \
|
cp -R /usr/src/libreoffice-core/instdir/* /opt/libreoffice/ && \
|
||||||
cd /usr/src
|
cd /usr/src && \
|
||||||
|
\
|
||||||
### Build LibreOffice Online (Not as long as above)
|
### Build LibreOffice Online (Not as long as above)
|
||||||
RUN git clone -b ${LOOL_BRANCH} https://github.com/LibreOffice/online.git /usr/src/libreoffice-online && \
|
git clone -b ${LOOL_BRANCH} https://github.com/LibreOffice/online.git /usr/src/libreoffice-online && \
|
||||||
npm install -g npm && \
|
|
||||||
npm install -g jake && \
|
|
||||||
chown -R lool /usr/src/libreoffice-online && \
|
|
||||||
cd /usr/src/libreoffice-online && \
|
cd /usr/src/libreoffice-online && \
|
||||||
sudo -u lool git reset --hard ${LOOL_COMMIT} && \
|
git reset --hard ${LOOL_COMMIT} && \
|
||||||
sudo -u lool ./autogen.sh && \
|
npm install -g \
|
||||||
sudo -u lool ./configure --enable-silent-rules \
|
bootstrap \
|
||||||
|
browserify-css \
|
||||||
|
d3 \
|
||||||
|
d3 \
|
||||||
|
eslint \
|
||||||
|
evol-colorpicker \
|
||||||
|
exorcist \
|
||||||
|
jake \
|
||||||
|
npm \
|
||||||
|
uglify-js \
|
||||||
|
&& \
|
||||||
|
\
|
||||||
|
cd /usr/src/libreoffice-online && \
|
||||||
|
./autogen.sh && \
|
||||||
|
./configure --enable-silent-rules \
|
||||||
--with-lokit-path=/usr/src/libreoffice-online/bundled/include \
|
--with-lokit-path=/usr/src/libreoffice-online/bundled/include \
|
||||||
--with-lo-path=/usr/src/libreoffice-online/instdir \
|
--with-lo-path=/opt/libreoffice \
|
||||||
--with-max-connections=${MAX_CONNECTIONS} \
|
--with-max-connections=${MAX_CONNECTIONS} \
|
||||||
--with-max-documents=${MAX_DOCUMENTS} \
|
--with-max-documents=${MAX_DOCUMENTS} \
|
||||||
--with-poco-includes=/opt/poco/include \
|
|
||||||
--with-poco-libs=/opt/poco/lib \
|
|
||||||
--with-logfile=/var/log/lool/lool.log \
|
--with-logfile=/var/log/lool/lool.log \
|
||||||
--prefix=/opt/lool \
|
--prefix=/opt/lool \
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
--localstatedir=/var && \
|
--localstatedir=/var && \
|
||||||
sudo -u lool make -j$cpu && \
|
( cd loleaflet/po && ../../scripts/downloadpootle.sh ) && \
|
||||||
|
( cd loleaflet && make l10n) || exit 1 && \
|
||||||
|
( scripts/locorestrings.py /usr/src/libreoffice-online /usr/src/libreoffice-core/translations ) && \
|
||||||
|
make -j`nproc` && \
|
||||||
mkdir -p /opt/lool && \
|
mkdir -p /opt/lool && \
|
||||||
chown -R lool /opt/lool && \
|
chown -R lool /opt/lool && \
|
||||||
sudo -u lool make install && \
|
cp -R loolwsd.xml /opt/lool/ && \
|
||||||
|
cp -R loolkitconfig.xcu /opt/lool && \
|
||||||
|
make install && \
|
||||||
cd /usr/src && \
|
cd /usr/src && \
|
||||||
|
\
|
||||||
### Setup Directories and Permissions
|
apt-get autoremove -y && \
|
||||||
mkdir -p /opt/lool/jails && \
|
|
||||||
chown -R lool /opt/* && \
|
|
||||||
mkdir -p /var/cache/loolwsd && \
|
|
||||||
chown -R lool /var/cache/loolwsd && \
|
|
||||||
mkdir -p /var/log/lool && \
|
|
||||||
chown -R lool /var/log/lool && \
|
|
||||||
setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /opt/lool/bin/loolforkit && \
|
|
||||||
setcap cap_sys_admin=ep /opt/lool/bin/loolmount && \
|
|
||||||
mkdir -p /usr/share/hunspell && \
|
|
||||||
mkdir -p /usr/share/hyphen && \
|
|
||||||
mkdir -p /usr/share/mythes && \
|
|
||||||
|
|
||||||
### Setup LibreOffice Online Jails
|
|
||||||
sudo -u lool /opt/lool/bin/loolwsd-systemplate-setup /opt/lool/systemplate /opt/libreoffice/instdir/
|
|
||||||
|
|
||||||
### Cleanup
|
|
||||||
RUN npm uninstall -g npm jake && \
|
|
||||||
apt-get purge -y \
|
|
||||||
ant \
|
|
||||||
automake \
|
|
||||||
binutils-mingw-w64-i686 \
|
|
||||||
bison \
|
|
||||||
build-essential \
|
|
||||||
ccache \
|
|
||||||
coinor-libcbc-dev \
|
|
||||||
coinor-libcoinmp-dev \
|
|
||||||
flex \
|
|
||||||
g++ \
|
|
||||||
gcc \
|
|
||||||
gcc-6 \
|
|
||||||
git \
|
|
||||||
gperf \
|
|
||||||
graphviz \
|
|
||||||
java-common \
|
|
||||||
junit4 \
|
|
||||||
libcap-dev \
|
|
||||||
libcppunit-dev \
|
|
||||||
libcppunit-doc \
|
|
||||||
libcunit1-dev \
|
|
||||||
libegl1-mesa-dev \
|
|
||||||
libfontconfig1-dev \
|
|
||||||
libgl1-mesa-dev \
|
|
||||||
libgtk-3-dev \
|
|
||||||
libgtk2.0-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libpam0g-dev \
|
|
||||||
libpcap0.8 \
|
|
||||||
libpcap0.8-dev \
|
|
||||||
libpng-dev \
|
|
||||||
librevenge-dev \
|
|
||||||
libsane-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libstdc++-6-dev \
|
|
||||||
libvisio-dev \
|
|
||||||
libwpg-dev \
|
|
||||||
libxrandr-dev \
|
|
||||||
libxrender-dev \
|
|
||||||
libxslt1-dev \
|
|
||||||
libxt-dev \
|
|
||||||
linux-libc-dev \
|
|
||||||
m4 \
|
|
||||||
make \
|
|
||||||
manpages \
|
|
||||||
manpages-dev \
|
|
||||||
mingw-w64-i686-dev \
|
|
||||||
nasm \
|
|
||||||
nodejs \
|
|
||||||
openjdk-8-jdk \
|
|
||||||
perl \
|
|
||||||
pkg-config \
|
|
||||||
python \
|
|
||||||
python-dev \
|
|
||||||
python-lxml \
|
|
||||||
python-polib \
|
|
||||||
python2.7-minimal \
|
|
||||||
python3 \
|
|
||||||
python3-dev \
|
|
||||||
unixodbc-dev \
|
|
||||||
wget \
|
|
||||||
x11-* \
|
|
||||||
zlib1g-dev \
|
|
||||||
doxygen \
|
|
||||||
libx11-doc \
|
|
||||||
ucpp \
|
|
||||||
libapache-pom-java \
|
|
||||||
libx11-dev \
|
|
||||||
libxdmcp-dev \
|
|
||||||
libc-l10n \
|
|
||||||
locales \
|
|
||||||
lp-solve \
|
|
||||||
fastjar \
|
|
||||||
x11proto-core-dev \
|
|
||||||
&& \
|
|
||||||
|
|
||||||
apt-get purge --auto-remove -y && \
|
|
||||||
|
|
||||||
## Install Last little bit of packages that may have been removed during cleanup
|
|
||||||
apt-get install -y \
|
|
||||||
cups \
|
|
||||||
libgl1-mesa-glx \
|
|
||||||
libsm6 \
|
|
||||||
libx11-6 \
|
|
||||||
&& \
|
|
||||||
|
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
|
### Cleanup
|
||||||
## Filesystem Cleanup
|
|
||||||
rm -rf /usr/src/* && \
|
rm -rf /usr/src/* && \
|
||||||
rm -rf /home/lool/.npm /root/.npm && \
|
|
||||||
rm -rf /home/lool/.ccache /root/.ccache && \
|
|
||||||
rm -rf /usr/share/doc && \
|
rm -rf /usr/share/doc && \
|
||||||
rm -rf /usr/share/man && \
|
rm -rf /usr/share/man && \
|
||||||
rm -rf /usr/share/locale && \
|
rm -rf /usr/share/locale && \
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
rm -rf /var/log/*
|
rm -rf /var/log/*
|
||||||
|
|
||||||
|
FROM registry.selfdesign.org/docker/ubuntu:16.04
|
||||||
|
LABEL maintainer="Dave Conroy (dave at tiredofit dot ca)"
|
||||||
|
|
||||||
|
### Set Defaults
|
||||||
|
ENV ADMIN_USER=admin \
|
||||||
|
ADMIN_PASS=libreoffice \
|
||||||
|
LOG_LEVEL=warning \
|
||||||
|
DICTIONARIES="en_GB en_US" \
|
||||||
|
ENABLE_SMTP=false \
|
||||||
|
PYTHONWARNINGS=ignore
|
||||||
|
|
||||||
|
### Grab Compiled Assets from builder image
|
||||||
|
COPY --from=builder /opt/ /opt/
|
||||||
|
|
||||||
|
### Install Dependencies
|
||||||
|
RUN adduser --quiet --system --group --home /opt/lool lool && \
|
||||||
|
\
|
||||||
|
apt-get update && \
|
||||||
|
apt-get upgrade -y && \
|
||||||
|
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \
|
||||||
|
apt-get install -y\
|
||||||
|
adduser \
|
||||||
|
apt-transport-https \
|
||||||
|
cpio \
|
||||||
|
findutils \
|
||||||
|
fonts-droid-fallback \
|
||||||
|
fonts-noto-cjk \
|
||||||
|
libcups2 \
|
||||||
|
libfontconfig1 \
|
||||||
|
libfreetype6 \
|
||||||
|
libgl1-mesa-glx \
|
||||||
|
libpam0g \
|
||||||
|
libpng12-0 \
|
||||||
|
libxcb-render0 \
|
||||||
|
libxcb-shm0 \
|
||||||
|
libxinerama1 \
|
||||||
|
libxrender1 \
|
||||||
|
locales-all \
|
||||||
|
python3-requests \
|
||||||
|
python3-websocket \
|
||||||
|
sudo \
|
||||||
|
ttf-mscorefonts-installer \
|
||||||
|
&& \
|
||||||
|
\
|
||||||
|
echo "deb https://collaboraoffice.com/repos/Poco/ /" >> /etc/apt/sources.list.d/poco.list && \
|
||||||
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D && \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get -y install \
|
||||||
|
libpocodata60 \
|
||||||
|
libpocofoundation60 \
|
||||||
|
libpocojson60 \
|
||||||
|
libpocodataodbc60 \
|
||||||
|
libpococrypto60 \
|
||||||
|
libpoconet60 \
|
||||||
|
libpoconetssl60 \
|
||||||
|
libpocoutil60 \
|
||||||
|
libpocoxml60 \
|
||||||
|
libpocozip60 \
|
||||||
|
&& \
|
||||||
|
\
|
||||||
|
### Setup Directories and Permissions
|
||||||
|
mkdir -p /etc/loolwsd && \
|
||||||
|
mv /opt/lool/loolwsd.xml /etc/loolwsd/ && \
|
||||||
|
mv /opt/lool/loolkitconfig.xcu /etc/loolwsd/ && \
|
||||||
|
chown -R lool /etc/loolwsd && \
|
||||||
|
mkdir -p /opt/lool/jails && \
|
||||||
|
chown -R lool /opt/* && \
|
||||||
|
mkdir -p /var/cache/loolwsd && \
|
||||||
|
chown -R lool /var/cache/loolwsd && \
|
||||||
|
setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /opt/lool/bin/loolforkit && \
|
||||||
|
setcap cap_sys_admin=ep /opt/lool/bin/loolmount && \
|
||||||
|
mkdir -p /usr/share/hunspell && \
|
||||||
|
mkdir -p /usr/share/hyphen && \
|
||||||
|
mkdir -p /usr/share/mythes && \
|
||||||
|
\
|
||||||
|
### Setup LibreOffice Online Jails
|
||||||
|
sudo -u lool /opt/lool/bin/loolwsd-systemplate-setup /opt/lool/systemplate /opt/libreoffice && \
|
||||||
|
\
|
||||||
|
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/* && \
|
||||||
|
mkdir -p /var/log/lool && \
|
||||||
|
touch /var/log/lool/loolwsd.log && \
|
||||||
|
chown -R lool /var/log/lool
|
||||||
|
|
||||||
### Networking Configuration
|
### Networking Configuration
|
||||||
EXPOSE 9980
|
EXPOSE 9980
|
||||||
|
|
||||||
### Assets
|
### Assets
|
||||||
ADD install /
|
ADD install /
|
||||||
|
|
||||||
|
|
113
README.md
113
README.md
|
@ -1,3 +1,112 @@
|
||||||
Dockerized LibreOffice Online using same variables as the CODE version. However Document Restrictions and User Restrictions have been
|
# hub.docker.com/r/tiredofit/libreoffice-online
|
||||||
raised. Better Documentation coming.
|
|
||||||
|
[![Build Status](https://img.shields.io/docker/build/tiredofit/libreoffice-online.svg)](https://hub.docker.com/r/tiredofit/libreoffice-online)
|
||||||
|
[![Docker Pulls](https://img.shields.io/docker/pulls/tiredofit/libreoffice-online.svg)](https://hub.docker.com/r/tiredofit/libreoffice-online)
|
||||||
|
[![Docker Stars](https://img.shields.io/docker/stars/tiredofit/libreoffice-online.svg)](https://hub.docker.com/r/tiredofit/libreoffice-online)
|
||||||
|
[![Docker
|
||||||
|
Layers](https://images.microbadger.com/badges/image/tiredofit/libreoffice-online.svg)](https://microbadger.com/images/tiredofit/libreoffice-online)
|
||||||
|
|
||||||
|
# Introduction
|
||||||
|
|
||||||
|
This will build a container for [LibreOffice Online](https://libreoffice.org/) for editing documents in a browser from supported applications
|
||||||
|
|
||||||
|
* This Container uses a [customized Ubuntu Linux base](https://hub.docker.com/r/tiredofit/ubuntu) which includes [s6 overlay](https://github.com/just-containers/s6-overlay) enabled for PID 1 Init capabilities, [zabbix-agent](https://zabbix.org) for individual container monitoring, Cron also installed along with other tools (bash,curl, less, logrotate, nano, vim) for easier management.
|
||||||
|
|
||||||
|
* Configurable Concurrent User and Document Limit (set to generarous values by default)
|
||||||
|
* Zabbix Monitoring of Active Documents, Users, Memory Consumed
|
||||||
|
|
||||||
|
[Changelog](CHANGELOG.md)
|
||||||
|
|
||||||
|
# Authors
|
||||||
|
|
||||||
|
- [Dave Conroy](https://github.com/tiredofit)
|
||||||
|
|
||||||
|
# Table of Contents
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Changelog](CHANGELOG.md)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Installation](#installation)
|
||||||
|
- [Quick Start](#quick-start)
|
||||||
|
- [Configuration](#configuration)
|
||||||
|
- [Database](#database)
|
||||||
|
- [Data Volumes](#data-volumes)
|
||||||
|
- [Environment Variables](#environmentvariables)
|
||||||
|
- [Networking](#networking)
|
||||||
|
- [Maintenance](#maintenance)
|
||||||
|
- [Shell Access](#shell-access)
|
||||||
|
- [References](#references)
|
||||||
|
|
||||||
|
# Prerequisites
|
||||||
|
|
||||||
|
This image assumes that you are using a reverse proxy such as [jwilder/nginx-proxy](https://github.com/jwilder/nginx-proxy) and optionally the [Let's Encrypt Proxy Companion @ https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) in order to serve your pages. However, it will run just fine on it's own if you map appropriate ports.
|
||||||
|
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
Automated builds of the image are available on [Docker Hub](https://hub.docker.com/tiredofit/libreoffice-online) and is the
|
||||||
|
recommended method of installation.
|
||||||
|
|
||||||
|
If you decide to compile this, it will take quite a few hours.
|
||||||
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull tiredofit/libreoffice-online
|
||||||
|
```
|
||||||
|
|
||||||
|
The following image tags are available:
|
||||||
|
|
||||||
|
* `latest` - Libreoffice 6.0.6.2 with Collabora Office Online 3.2.0.4
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
* Map [persistent storage](#data-volumes) for access to configuration and data files for backup.
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
|
||||||
|
### Persistent Storage
|
||||||
|
|
||||||
|
The following directories should be mapped for persistent storage in order to utilize the container effectively.
|
||||||
|
|
||||||
|
| Folder | Description |
|
||||||
|
|-----------|-------------|
|
||||||
|
| `/var/log/loolwsd` | Log files
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
|
||||||
|
Along with the Environment Variables from the [Base image](https://hub.docker.com/r/tiredofit/ubuntu), below is the complete list of available options that can be used to customize your installation.
|
||||||
|
|
||||||
|
| Parameter | Description |
|
||||||
|
|-----------|-------------|
|
||||||
|
| `ADMIN_USER` | User for accessing Administration Console - Default `admin` |
|
||||||
|
| `ADMIN_PASS` | Password for accessing Administration Console - Default `libreoffice` |
|
||||||
|
| `ALLOWED_HOSTS` | Set which domains which can access service - Example: `^(.*)\.example\.org` |
|
||||||
|
| `DICTIONARIES` | Spell Check Languages - Available `de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru` - Default `en_GB en_US` |
|
||||||
|
| `LOG_LEVEL` | Log Level - Available `none, fatal, critical, error, warning, notice, information, debug, trace` - Default `warning` |
|
||||||
|
|
||||||
|
### Networking
|
||||||
|
|
||||||
|
The following ports are exposed.
|
||||||
|
|
||||||
|
| Port | Description |
|
||||||
|
|-----------|-------------|
|
||||||
|
| `9880` | Libreoffice Web Services |
|
||||||
|
|
||||||
|
# Maintenance
|
||||||
|
#### Shell Access
|
||||||
|
|
||||||
|
For debugging and maintenance purposes you may want access the containers shell.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec -it (whatever your container name is e.g. libreoffice-online) bash
|
||||||
|
```
|
||||||
|
|
||||||
|
# References
|
||||||
|
|
||||||
|
* https://libreoffice.org
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,15 +6,20 @@
|
||||||
cap_add:
|
cap_add:
|
||||||
- MKNOD
|
- MKNOD
|
||||||
environment:
|
environment:
|
||||||
- domain=allowedhostname.example.com
|
|
||||||
- VIRTUAL_HOST=libreoffice.example.com
|
- VIRTUAL_HOST=libreoffice.example.com
|
||||||
- VIRTUAL_NETWORK=nginx-proxy
|
- VIRTUAL_NETWORK=nginx-proxy
|
||||||
- VIRTUAL_PORT=9980
|
- VIRTUAL_PORT=9980
|
||||||
- VIRTUAL_PROTO=https
|
- VIRTUAL_PROTO=https
|
||||||
- LETSENCRYPT_HOST=code.example.com
|
- LETSENCRYPT_HOST=libreoffice.example.com
|
||||||
- LETSENCRYPT_EMAIL=techsupport@example.com
|
- LETSENCRYPT_EMAIL=techsupport@example.com
|
||||||
|
|
||||||
- ZABBIX_HOSTNAME=libreoffice-app
|
- ZABBIX_HOSTNAME=libreoffice-app
|
||||||
|
|
||||||
|
- ADMIN_USER=admin
|
||||||
|
- ADMIN_PASS=libreoffice
|
||||||
|
- ALLOWED_HOSTS=allowedhostname.example.com
|
||||||
|
- DICTIONARIES="en_GB en_US"
|
||||||
|
- LOG_LEVEL=warning
|
||||||
networks:
|
networks:
|
||||||
- proxy-tier
|
- proxy-tier
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
|
mkdir -p /var/log/lool
|
||||||
|
touch /var/log/lool/loolwsd.log
|
||||||
|
chown -R lool /var/log/lool
|
||||||
|
|
||||||
rm /opt/lool/systemplate/etc/resolv.conf
|
rm /opt/lool/systemplate/etc/resolv.conf
|
||||||
ln -s /etc/resolv.conf /opt/lool/systemplate/etc/resolv.conf
|
ln -s /etc/resolv.conf /opt/lool/systemplate/etc/resolv.conf
|
||||||
|
|
||||||
|
@ -27,14 +31,14 @@ mv certs/ca/root.crt.pem /etc/loolwsd/ca-chain.cert.pem
|
||||||
rm -rf /tmp/ssl
|
rm -rf /tmp/ssl
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Replace trusted host and set admin username and password
|
# Replace Configureation directives
|
||||||
perl -pi -e "s/localhost<\/host>/${domain}<\/host>/g" /etc/loolwsd/loolwsd.xml
|
perl -pi -e "s/<allowed_languages (.*)>.*<\/allowed_languages>/<allowed_languages \1>${LANGUAGES}<\/allowed_languages>/" /etc/loolwsd/loolwsd.xml
|
||||||
perl -pi -e "s/<username (.*)>.*<\/username>/<username \1>${username}<\/username>/" /etc/loolwsd/loolwsd.xml
|
perl -pi -e "s/<level (.*)>.*<\/level>/<level \1>${LOG_LEVEL}<\/level>/" /etc/loolwsd/loolwsd.xml
|
||||||
perl -pi -e "s/<password (.*)>.*<\/password>/<password \1>${password}<\/password>/" /etc/loolwsd/loolwsd.xml
|
perl -pi -e "s/localhost<\/host>/${ALLOWED_HOSTS}<\/host>/g" /etc/loolwsd/loolwsd.xml
|
||||||
perl -pi -e "s/<server_name (.*)>.*<\/server_name>/<server_name \1>${server_name}<\/server_name>/" /etc/loolwsd/loolwsd.xml
|
perl -pi -e "s/localhost<\/host>/${ALLOWED_HOSTS}<\/host>/g" /etc/loolwsd/loolwsd.xml
|
||||||
|
perl -pi -e "s/<username (.*)>.*<\/username>/<username \1>${ADMIN_USER}<\/username>/" /etc/loolwsd/loolwsd.xml
|
||||||
mkdir -p /var/log/lool
|
perl -pi -e "s/<password (.*)>.*<\/password>/<password \1>${ADMIN_PASS}<\/password>/" /etc/loolwsd/loolwsd.xml
|
||||||
chown -R lool /var/log/lool
|
perl -pi -e "s/<server_name (.*)>.*<\/server_name>/<server_name \1>${HOSTNAME}<\/server_name>/" /etc/loolwsd/loolwsd.xml
|
||||||
|
|
||||||
mkdir -p /tmp/state
|
mkdir -p /tmp/state
|
||||||
echo 'Initialization Complete' >/tmp/state/10-loolwsd-init
|
echo 'Initialization Complete' >/tmp/state/10-loolwsd-init
|
||||||
|
|
|
@ -5,9 +5,6 @@
|
||||||
missingok
|
missingok
|
||||||
compress
|
compress
|
||||||
dateext
|
dateext
|
||||||
sharedscripts
|
copytruncate
|
||||||
postrotate
|
|
||||||
s6-svc -h /var/run/s6/services/10-loolwsd
|
|
||||||
endscript
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,5 +10,5 @@ if [ ! -f /tmp/state/10-loolwsd ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo '**'
|
echo '**'
|
||||||
echo '** [libreoffice-online] Starting loolwsd'
|
echo '** [libreoffice-online] Starting Libreoffice Online Web Services daemon'
|
||||||
exec s6-setuidgid lool /opt/lool/bin/loolwsd --version --o:sys_template_path=/opt/lool/systemplate --o:lo_template_path=/opt/libreoffice/instdir --o:child_root_path=/opt/lool/jails --o:file_server_root_path=/opt/lool/share/loolwsd storage.filesystem[@allow]=true --o:admin_console.username=${ADMIN_USER} --o:admin_console.password=${ADMIN_PASS} > /var/log/lool/loolwsd.log
|
exec s6-setuidgid lool /opt/lool/bin/loolwsd --version --o:sys_template_path=/opt/lool/systemplate --o:lo_template_path=/opt/libreoffice --o:child_root_path=/opt/lool/jails --o:file_server_root_path=/opt/lool/share/loolwsd storage.filesystem[@allow]=true --o:admin_console.username=${ADMIN_USER} --o:admin_console.password=${ADMIN_PASS} >> /var/log/lool/loolwsd.log
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
UserParameter=lool.mem_consumed,/etc/zabbix/zabbix_agentd.conf.d/scripts/check-lool.py | grep 'lool.mem.consumed' | awk '{print $2}'
|
||||||
|
UserParameter=lool.active_users,/etc/zabbix/zabbix_agentd.conf.d/scripts/check-lool.py | grep 'lool.active_users_count' | awk '{print $2}'
|
||||||
|
UserParameter=lool.active_docs,/etc/zabbix/zabbix_agentd.conf.d/scripts/check-lool.py | grep 'lool.active_docs' | awk '{print $2}'
|
||||||
|
UserParameter=lool.bytes_sent,/etc/zabbix/zabbix_agentd.conf.d/scripts/check-lool.py | grep 'lool.sent_bytes' | awk '{print $2}'
|
||||||
|
UserParameter=lool.bytes_received,/etc/zabbix/zabbix_agentd.conf.d/scripts/check-lool.py | grep 'lool.recv_bytes' | awk '{print $2}'
|
40
install/etc/zabbix/zabbix_agentd.conf.d/scripts/check-lool.py
Executable file
40
install/etc/zabbix/zabbix_agentd.conf.d/scripts/check-lool.py
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import requests
|
||||||
|
from websocket import create_connection,WebSocket
|
||||||
|
import ssl
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
requests.packages.urllib3.disable_warnings()
|
||||||
|
|
||||||
|
def get_token_value(url,username,password):
|
||||||
|
r = requests.get(url,auth=(username,password),verify=False)
|
||||||
|
token_value = r.cookies['jwt']
|
||||||
|
return token_value
|
||||||
|
|
||||||
|
def get_doc_info(socket_url,token_value):
|
||||||
|
data = {}
|
||||||
|
ws = create_connection(socket_url,sslopt={"cert_reqs": ssl.CERT_NONE})
|
||||||
|
"""Authenticating with Server """
|
||||||
|
ws.send('auth '+'jwt='+token_value)
|
||||||
|
"""Now fetching information """
|
||||||
|
word = ['active_users_count', 'active_docs_count', 'mem_consumed', 'sent_bytes', 'recv_bytes']
|
||||||
|
for i in word:
|
||||||
|
ws.send(i)
|
||||||
|
result = ws.recv()
|
||||||
|
result = result.split()
|
||||||
|
data[result[0]] = result[1]
|
||||||
|
ws.close()
|
||||||
|
return data
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
url = "https://localhost:9980/loleaflet/dist/admin/admin.html"
|
||||||
|
username = os.getenv('ADMIN_USER')
|
||||||
|
password = os.getenv('ADMIN_PASS')
|
||||||
|
token_value = get_token_value(url,username,password)
|
||||||
|
socket_url = "wss://localhost:9980/lool/adminws"
|
||||||
|
data = get_doc_info(socket_url,token_value)
|
||||||
|
for key,value in data.items() :
|
||||||
|
print("lool."+key , value)
|
||||||
|
|
452
zabbix_templates/libreoffice-online.xml
Normal file
452
zabbix_templates/libreoffice-online.xml
Normal file
|
@ -0,0 +1,452 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<zabbix_export>
|
||||||
|
<version>3.4</version>
|
||||||
|
<date>2018-09-17T12:09:21Z</date>
|
||||||
|
<groups>
|
||||||
|
<group>
|
||||||
|
<name>Templates</name>
|
||||||
|
</group>
|
||||||
|
</groups>
|
||||||
|
<templates>
|
||||||
|
<template>
|
||||||
|
<template>APP - Libreoffice Online</template>
|
||||||
|
<name>APP - Libreoffice Online</name>
|
||||||
|
<description/>
|
||||||
|
<groups>
|
||||||
|
<group>
|
||||||
|
<name>Templates</name>
|
||||||
|
</group>
|
||||||
|
</groups>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>LibreOffice Online</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
<items>
|
||||||
|
<item>
|
||||||
|
<name>Active Documents</name>
|
||||||
|
<type>0</type>
|
||||||
|
<snmp_community/>
|
||||||
|
<snmp_oid/>
|
||||||
|
<key>lool.active_docs</key>
|
||||||
|
<delay>1m</delay>
|
||||||
|
<history>7d</history>
|
||||||
|
<trends>365d</trends>
|
||||||
|
<status>0</status>
|
||||||
|
<value_type>3</value_type>
|
||||||
|
<allowed_hosts/>
|
||||||
|
<units/>
|
||||||
|
<snmpv3_contextname/>
|
||||||
|
<snmpv3_securityname/>
|
||||||
|
<snmpv3_securitylevel>0</snmpv3_securitylevel>
|
||||||
|
<snmpv3_authprotocol>0</snmpv3_authprotocol>
|
||||||
|
<snmpv3_authpassphrase/>
|
||||||
|
<snmpv3_privprotocol>0</snmpv3_privprotocol>
|
||||||
|
<snmpv3_privpassphrase/>
|
||||||
|
<params/>
|
||||||
|
<ipmi_sensor/>
|
||||||
|
<authtype>0</authtype>
|
||||||
|
<username/>
|
||||||
|
<password/>
|
||||||
|
<publickey/>
|
||||||
|
<privatekey/>
|
||||||
|
<port/>
|
||||||
|
<description/>
|
||||||
|
<inventory_link>0</inventory_link>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>LibreOffice Online</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
<valuemap/>
|
||||||
|
<logtimefmt/>
|
||||||
|
<preprocessing/>
|
||||||
|
<jmx_endpoint/>
|
||||||
|
<master_item/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Active Users</name>
|
||||||
|
<type>0</type>
|
||||||
|
<snmp_community/>
|
||||||
|
<snmp_oid/>
|
||||||
|
<key>lool.active_users</key>
|
||||||
|
<delay>1m</delay>
|
||||||
|
<history>7d</history>
|
||||||
|
<trends>365d</trends>
|
||||||
|
<status>0</status>
|
||||||
|
<value_type>3</value_type>
|
||||||
|
<allowed_hosts/>
|
||||||
|
<units/>
|
||||||
|
<snmpv3_contextname/>
|
||||||
|
<snmpv3_securityname/>
|
||||||
|
<snmpv3_securitylevel>0</snmpv3_securitylevel>
|
||||||
|
<snmpv3_authprotocol>0</snmpv3_authprotocol>
|
||||||
|
<snmpv3_authpassphrase/>
|
||||||
|
<snmpv3_privprotocol>0</snmpv3_privprotocol>
|
||||||
|
<snmpv3_privpassphrase/>
|
||||||
|
<params/>
|
||||||
|
<ipmi_sensor/>
|
||||||
|
<authtype>0</authtype>
|
||||||
|
<username/>
|
||||||
|
<password/>
|
||||||
|
<publickey/>
|
||||||
|
<privatekey/>
|
||||||
|
<port/>
|
||||||
|
<description/>
|
||||||
|
<inventory_link>0</inventory_link>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>LibreOffice Online</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
<valuemap/>
|
||||||
|
<logtimefmt/>
|
||||||
|
<preprocessing/>
|
||||||
|
<jmx_endpoint/>
|
||||||
|
<master_item/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Bytes Received</name>
|
||||||
|
<type>0</type>
|
||||||
|
<snmp_community/>
|
||||||
|
<snmp_oid/>
|
||||||
|
<key>lool.bytes_received</key>
|
||||||
|
<delay>1m</delay>
|
||||||
|
<history>7d</history>
|
||||||
|
<trends>365d</trends>
|
||||||
|
<status>0</status>
|
||||||
|
<value_type>3</value_type>
|
||||||
|
<allowed_hosts/>
|
||||||
|
<units/>
|
||||||
|
<snmpv3_contextname/>
|
||||||
|
<snmpv3_securityname/>
|
||||||
|
<snmpv3_securitylevel>0</snmpv3_securitylevel>
|
||||||
|
<snmpv3_authprotocol>0</snmpv3_authprotocol>
|
||||||
|
<snmpv3_authpassphrase/>
|
||||||
|
<snmpv3_privprotocol>0</snmpv3_privprotocol>
|
||||||
|
<snmpv3_privpassphrase/>
|
||||||
|
<params/>
|
||||||
|
<ipmi_sensor/>
|
||||||
|
<authtype>0</authtype>
|
||||||
|
<username/>
|
||||||
|
<password/>
|
||||||
|
<publickey/>
|
||||||
|
<privatekey/>
|
||||||
|
<port/>
|
||||||
|
<description/>
|
||||||
|
<inventory_link>0</inventory_link>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>LibreOffice Online</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
<valuemap/>
|
||||||
|
<logtimefmt/>
|
||||||
|
<preprocessing/>
|
||||||
|
<jmx_endpoint/>
|
||||||
|
<master_item/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Bytes Sent</name>
|
||||||
|
<type>0</type>
|
||||||
|
<snmp_community/>
|
||||||
|
<snmp_oid/>
|
||||||
|
<key>lool.bytes_sent</key>
|
||||||
|
<delay>1m</delay>
|
||||||
|
<history>7d</history>
|
||||||
|
<trends>365d</trends>
|
||||||
|
<status>0</status>
|
||||||
|
<value_type>3</value_type>
|
||||||
|
<allowed_hosts/>
|
||||||
|
<units/>
|
||||||
|
<snmpv3_contextname/>
|
||||||
|
<snmpv3_securityname/>
|
||||||
|
<snmpv3_securitylevel>0</snmpv3_securitylevel>
|
||||||
|
<snmpv3_authprotocol>0</snmpv3_authprotocol>
|
||||||
|
<snmpv3_authpassphrase/>
|
||||||
|
<snmpv3_privprotocol>0</snmpv3_privprotocol>
|
||||||
|
<snmpv3_privpassphrase/>
|
||||||
|
<params/>
|
||||||
|
<ipmi_sensor/>
|
||||||
|
<authtype>0</authtype>
|
||||||
|
<username/>
|
||||||
|
<password/>
|
||||||
|
<publickey/>
|
||||||
|
<privatekey/>
|
||||||
|
<port/>
|
||||||
|
<description/>
|
||||||
|
<inventory_link>0</inventory_link>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>LibreOffice Online</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
<valuemap/>
|
||||||
|
<logtimefmt/>
|
||||||
|
<preprocessing/>
|
||||||
|
<jmx_endpoint/>
|
||||||
|
<master_item/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Memory Consumed</name>
|
||||||
|
<type>0</type>
|
||||||
|
<snmp_community/>
|
||||||
|
<snmp_oid/>
|
||||||
|
<key>lool.mem_consumed</key>
|
||||||
|
<delay>1m</delay>
|
||||||
|
<history>7d</history>
|
||||||
|
<trends>365d</trends>
|
||||||
|
<status>0</status>
|
||||||
|
<value_type>3</value_type>
|
||||||
|
<allowed_hosts/>
|
||||||
|
<units/>
|
||||||
|
<snmpv3_contextname/>
|
||||||
|
<snmpv3_securityname/>
|
||||||
|
<snmpv3_securitylevel>0</snmpv3_securitylevel>
|
||||||
|
<snmpv3_authprotocol>0</snmpv3_authprotocol>
|
||||||
|
<snmpv3_authpassphrase/>
|
||||||
|
<snmpv3_privprotocol>0</snmpv3_privprotocol>
|
||||||
|
<snmpv3_privpassphrase/>
|
||||||
|
<params/>
|
||||||
|
<ipmi_sensor/>
|
||||||
|
<authtype>0</authtype>
|
||||||
|
<username/>
|
||||||
|
<password/>
|
||||||
|
<publickey/>
|
||||||
|
<privatekey/>
|
||||||
|
<port/>
|
||||||
|
<description/>
|
||||||
|
<inventory_link>0</inventory_link>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>LibreOffice Online</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
<valuemap/>
|
||||||
|
<logtimefmt/>
|
||||||
|
<preprocessing/>
|
||||||
|
<jmx_endpoint/>
|
||||||
|
<master_item/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Libreoffice Online service is running</name>
|
||||||
|
<type>0</type>
|
||||||
|
<snmp_community/>
|
||||||
|
<snmp_oid/>
|
||||||
|
<key>proc.num[loolwsd]</key>
|
||||||
|
<delay>1m</delay>
|
||||||
|
<history>7d</history>
|
||||||
|
<trends>365d</trends>
|
||||||
|
<status>0</status>
|
||||||
|
<value_type>3</value_type>
|
||||||
|
<allowed_hosts/>
|
||||||
|
<units/>
|
||||||
|
<snmpv3_contextname/>
|
||||||
|
<snmpv3_securityname/>
|
||||||
|
<snmpv3_securitylevel>0</snmpv3_securitylevel>
|
||||||
|
<snmpv3_authprotocol>0</snmpv3_authprotocol>
|
||||||
|
<snmpv3_authpassphrase/>
|
||||||
|
<snmpv3_privprotocol>0</snmpv3_privprotocol>
|
||||||
|
<snmpv3_privpassphrase/>
|
||||||
|
<params/>
|
||||||
|
<ipmi_sensor/>
|
||||||
|
<authtype>0</authtype>
|
||||||
|
<username/>
|
||||||
|
<password/>
|
||||||
|
<publickey/>
|
||||||
|
<privatekey/>
|
||||||
|
<port/>
|
||||||
|
<description/>
|
||||||
|
<inventory_link>0</inventory_link>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>LibreOffice Online</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
<valuemap/>
|
||||||
|
<logtimefmt/>
|
||||||
|
<preprocessing/>
|
||||||
|
<jmx_endpoint/>
|
||||||
|
<master_item/>
|
||||||
|
</item>
|
||||||
|
</items>
|
||||||
|
<discovery_rules/>
|
||||||
|
<httptests/>
|
||||||
|
<macros/>
|
||||||
|
<templates/>
|
||||||
|
<screens/>
|
||||||
|
</template>
|
||||||
|
</templates>
|
||||||
|
<triggers>
|
||||||
|
<trigger>
|
||||||
|
<expression>{APP - Libreoffice Online:proc.num[loolwsd].sum(#3)}=0</expression>
|
||||||
|
<recovery_mode>0</recovery_mode>
|
||||||
|
<recovery_expression/>
|
||||||
|
<name>Libreoffice Online Service is down</name>
|
||||||
|
<correlation_mode>0</correlation_mode>
|
||||||
|
<correlation_tag/>
|
||||||
|
<url/>
|
||||||
|
<status>0</status>
|
||||||
|
<priority>4</priority>
|
||||||
|
<description/>
|
||||||
|
<type>0</type>
|
||||||
|
<manual_close>0</manual_close>
|
||||||
|
<dependencies/>
|
||||||
|
<tags/>
|
||||||
|
</trigger>
|
||||||
|
</triggers>
|
||||||
|
<graphs>
|
||||||
|
<graph>
|
||||||
|
<name>Active Documents</name>
|
||||||
|
<width>900</width>
|
||||||
|
<height>200</height>
|
||||||
|
<yaxismin>0.0000</yaxismin>
|
||||||
|
<yaxismax>100.0000</yaxismax>
|
||||||
|
<show_work_period>1</show_work_period>
|
||||||
|
<show_triggers>1</show_triggers>
|
||||||
|
<type>0</type>
|
||||||
|
<show_legend>1</show_legend>
|
||||||
|
<show_3d>0</show_3d>
|
||||||
|
<percent_left>0.0000</percent_left>
|
||||||
|
<percent_right>0.0000</percent_right>
|
||||||
|
<ymin_type_1>0</ymin_type_1>
|
||||||
|
<ymax_type_1>0</ymax_type_1>
|
||||||
|
<ymin_item_1>0</ymin_item_1>
|
||||||
|
<ymax_item_1>0</ymax_item_1>
|
||||||
|
<graph_items>
|
||||||
|
<graph_item>
|
||||||
|
<sortorder>0</sortorder>
|
||||||
|
<drawtype>0</drawtype>
|
||||||
|
<color>1A7C11</color>
|
||||||
|
<yaxisside>0</yaxisside>
|
||||||
|
<calc_fnc>2</calc_fnc>
|
||||||
|
<type>0</type>
|
||||||
|
<item>
|
||||||
|
<host>APP - Libreoffice Online</host>
|
||||||
|
<key>lool.active_docs</key>
|
||||||
|
</item>
|
||||||
|
</graph_item>
|
||||||
|
</graph_items>
|
||||||
|
</graph>
|
||||||
|
<graph>
|
||||||
|
<name>Active Users</name>
|
||||||
|
<width>900</width>
|
||||||
|
<height>200</height>
|
||||||
|
<yaxismin>0.0000</yaxismin>
|
||||||
|
<yaxismax>100.0000</yaxismax>
|
||||||
|
<show_work_period>1</show_work_period>
|
||||||
|
<show_triggers>1</show_triggers>
|
||||||
|
<type>0</type>
|
||||||
|
<show_legend>1</show_legend>
|
||||||
|
<show_3d>0</show_3d>
|
||||||
|
<percent_left>0.0000</percent_left>
|
||||||
|
<percent_right>0.0000</percent_right>
|
||||||
|
<ymin_type_1>0</ymin_type_1>
|
||||||
|
<ymax_type_1>0</ymax_type_1>
|
||||||
|
<ymin_item_1>0</ymin_item_1>
|
||||||
|
<ymax_item_1>0</ymax_item_1>
|
||||||
|
<graph_items>
|
||||||
|
<graph_item>
|
||||||
|
<sortorder>0</sortorder>
|
||||||
|
<drawtype>0</drawtype>
|
||||||
|
<color>1A7C11</color>
|
||||||
|
<yaxisside>0</yaxisside>
|
||||||
|
<calc_fnc>2</calc_fnc>
|
||||||
|
<type>0</type>
|
||||||
|
<item>
|
||||||
|
<host>APP - Libreoffice Online</host>
|
||||||
|
<key>lool.active_users</key>
|
||||||
|
</item>
|
||||||
|
</graph_item>
|
||||||
|
</graph_items>
|
||||||
|
</graph>
|
||||||
|
<graph>
|
||||||
|
<name>All Statistics</name>
|
||||||
|
<width>900</width>
|
||||||
|
<height>200</height>
|
||||||
|
<yaxismin>0.0000</yaxismin>
|
||||||
|
<yaxismax>100.0000</yaxismax>
|
||||||
|
<show_work_period>1</show_work_period>
|
||||||
|
<show_triggers>1</show_triggers>
|
||||||
|
<type>0</type>
|
||||||
|
<show_legend>1</show_legend>
|
||||||
|
<show_3d>0</show_3d>
|
||||||
|
<percent_left>0.0000</percent_left>
|
||||||
|
<percent_right>0.0000</percent_right>
|
||||||
|
<ymin_type_1>0</ymin_type_1>
|
||||||
|
<ymax_type_1>0</ymax_type_1>
|
||||||
|
<ymin_item_1>0</ymin_item_1>
|
||||||
|
<ymax_item_1>0</ymax_item_1>
|
||||||
|
<graph_items>
|
||||||
|
<graph_item>
|
||||||
|
<sortorder>0</sortorder>
|
||||||
|
<drawtype>0</drawtype>
|
||||||
|
<color>1A7C11</color>
|
||||||
|
<yaxisside>0</yaxisside>
|
||||||
|
<calc_fnc>2</calc_fnc>
|
||||||
|
<type>0</type>
|
||||||
|
<item>
|
||||||
|
<host>APP - Libreoffice Online</host>
|
||||||
|
<key>lool.active_docs</key>
|
||||||
|
</item>
|
||||||
|
</graph_item>
|
||||||
|
<graph_item>
|
||||||
|
<sortorder>1</sortorder>
|
||||||
|
<drawtype>0</drawtype>
|
||||||
|
<color>F63100</color>
|
||||||
|
<yaxisside>0</yaxisside>
|
||||||
|
<calc_fnc>2</calc_fnc>
|
||||||
|
<type>0</type>
|
||||||
|
<item>
|
||||||
|
<host>APP - Libreoffice Online</host>
|
||||||
|
<key>lool.active_users</key>
|
||||||
|
</item>
|
||||||
|
</graph_item>
|
||||||
|
<graph_item>
|
||||||
|
<sortorder>2</sortorder>
|
||||||
|
<drawtype>0</drawtype>
|
||||||
|
<color>2774A4</color>
|
||||||
|
<yaxisside>0</yaxisside>
|
||||||
|
<calc_fnc>2</calc_fnc>
|
||||||
|
<type>0</type>
|
||||||
|
<item>
|
||||||
|
<host>APP - Libreoffice Online</host>
|
||||||
|
<key>lool.mem_consumed</key>
|
||||||
|
</item>
|
||||||
|
</graph_item>
|
||||||
|
</graph_items>
|
||||||
|
</graph>
|
||||||
|
<graph>
|
||||||
|
<name>Memory Consumed</name>
|
||||||
|
<width>900</width>
|
||||||
|
<height>200</height>
|
||||||
|
<yaxismin>0.0000</yaxismin>
|
||||||
|
<yaxismax>100.0000</yaxismax>
|
||||||
|
<show_work_period>1</show_work_period>
|
||||||
|
<show_triggers>1</show_triggers>
|
||||||
|
<type>0</type>
|
||||||
|
<show_legend>1</show_legend>
|
||||||
|
<show_3d>0</show_3d>
|
||||||
|
<percent_left>0.0000</percent_left>
|
||||||
|
<percent_right>0.0000</percent_right>
|
||||||
|
<ymin_type_1>0</ymin_type_1>
|
||||||
|
<ymax_type_1>0</ymax_type_1>
|
||||||
|
<ymin_item_1>0</ymin_item_1>
|
||||||
|
<ymax_item_1>0</ymax_item_1>
|
||||||
|
<graph_items>
|
||||||
|
<graph_item>
|
||||||
|
<sortorder>0</sortorder>
|
||||||
|
<drawtype>0</drawtype>
|
||||||
|
<color>1A7C11</color>
|
||||||
|
<yaxisside>0</yaxisside>
|
||||||
|
<calc_fnc>2</calc_fnc>
|
||||||
|
<type>0</type>
|
||||||
|
<item>
|
||||||
|
<host>APP - Libreoffice Online</host>
|
||||||
|
<key>lool.mem_consumed</key>
|
||||||
|
</item>
|
||||||
|
</graph_item>
|
||||||
|
</graph_items>
|
||||||
|
</graph>
|
||||||
|
</graphs>
|
||||||
|
</zabbix_export>
|
Loading…
Reference in a new issue