summaryrefslogtreecommitdiffstats
path: root/docker/from-source/openSUSE
blob: 147b7397271c6a8ee329e8016ca5aaa2abcfda75 (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
# 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 opensuse/leap

# refresh repos otherwise installations later may fail
# install LibreOffice run-time dependencies
# install timezone data to accept the TZ environment variable
# install an editor
# tdf#117557 - Add CJK Fonts to Collabora Online Docker Image
RUN zypper ref && \
    zypper --non-interactive install libcap-progs libpng16-16 fontconfig nano openssh inotify-tools timezone

# copy freshly built LOKit and Collabora Online
COPY /instdir /

# copy the shell script which can start Collabora Online (coolwsd)
COPY /start-collabora-online.sh /

# set up Collabora Online (normally done by postinstall script of package)
# Fix permissions
RUN setcap cap_fowner,cap_chown,cap_mknod,cap_sys_chroot=ep /usr/bin/coolforkit && \
    setcap cap_sys_admin=ep /usr/bin/coolmount && \
    groupadd -r cool && \
    useradd -g cool -r cool -d /opt/cool -s /bin/bash && \
    rm -rf /opt/cool && \
    mkdir -p /opt/cool/child-roots && \
    coolwsd-systemplate-setup /opt/cool/systemplate /opt/lokit >/dev/null 2>&1 && \
    touch /var/log/coolwsd.log && \
    chown cool:cool /var/log/coolwsd.log && \
    chown -R cool:cool /opt/ && \
    chown -R cool:cool /etc/coolwsd

EXPOSE 9980

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

CMD ["/start-collabora-online.sh"]