summaryrefslogtreecommitdiff
path: root/docker/Debian
blob: c0218694af54ff7a4eec84afa802728f9f956ebc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

FROM debian:stable

# get the latest fixes
# install LibreOffice run-time dependencies
# install adduser, findutils, openssl and cpio that we need later
# install an editor
# tdf#117557 - Add CJK Fonts to LibreOffice Online Docker Image
RUN apt-get update && \
    apt-get -y install libpng16-16 fontconfig adduser cpio \
               findutils nano libpoco-dev libcap2-bin openssl inotify-tools \
               procps libubsan0 libubsan1 openssh-client fonts-wqy-zenhei \
               fonts-wqy-microhei fonts-droid-fallback fonts-noto-cjk

# copy freshly built LibreOffice master and LibreOffice Online master with latest translations
COPY /instdir /

# copy the shell script which can start LibreOffice Online (loolwsd)
COPY /scripts/run-lool.sh /

# set up LibreOffice Online (normally done by postinstall script of package)
# Fix permissions
RUN setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit && \
    adduser --quiet --system --group --home /opt/lool lool && \
    mkdir -p /var/cache/loolwsd && chown lool: /var/cache/loolwsd && \
    rm -rf /var/cache/loolwsd/* && \
    rm -rf /opt/lool && \
    mkdir -p /opt/lool/child-roots && \
    loolwsd-systemplate-setup /opt/lool/systemplate /opt/libreoffice >/dev/null 2>&1 && \
    touch /var/log/loolwsd.log && \
    chown lool:lool /var/log/loolwsd.log && \
    chown -R lool:lool /opt/ && \
    chown -R lool:lool /etc/loolwsd

EXPOSE 9980

# switch to lool user (use numeric user id to be compatible with Kubernetes Pod Security Policies)
USER 101

CMD bash /run-lool.sh