Skip to content
This repository was archived by the owner on Nov 23, 2020. It is now read-only.

Commit e024a6c

Browse files
committed
fixes #9: merge changes from CODE
* Ubuntu 18.04 based * non-root docker container * Use Collabora Online 4.2 * Include OpenSans font * Misc fixes
1 parent 9802fb4 commit e024a6c

File tree

7 files changed

+60
-26
lines changed

7 files changed

+60
-26
lines changed

baseimage/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
# Environment variables
44
ARG SECRET_KEY
Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,38 @@
11
#!/bin/sh
22

3-
# Update installed packages
4-
apt-get update && apt-get -y upgrade
3+
# Refresh repos otherwise installations later may fail
4+
apt-get update
55

6-
# Install HTTPS transport
6+
# Install HTTPS transport
77
apt-get -y install apt-transport-https
88

99
# Install locales
1010
apt-get -y install locales-all
1111

12+
# Install some more fonts
13+
apt-get -y install fonts-open-sans
14+
15+
# Install gnupg2
16+
apt-get -y install gnupg2
17+
18+
# install ca-certificates
19+
apt-get -y install ca-certificates
20+
1221
# Add Collabora repos
13-
echo "deb https://collaboraoffice.com/${REPOS:-repos}/CollaboraOnline/4/customer-ubuntu1604-${SECRET_KEY} /" >> /etc/apt/sources.list.d/collabora.list
22+
echo "deb https://collaboraoffice.com/${REPOS:-repos}/CollaboraOnline/4.2/customer-ubuntu1804-${SECRET_KEY} /" >> /etc/apt/sources.list.d/collabora.list
1423
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6CCEA47B2281732DF5D504D00C54D189F4BA284D
1524
apt-get update
1625

1726
# Install the Collabora packages
18-
apt-get -y install loolwsd collabora-online-brand collaboraoffice6.0-dict* collaboraofficebasis6.0*
27+
apt-get -y install loolwsd collabora-online-brand collaboraoffice6.2-dict* collaboraofficebasis6.2-ar collaboraofficebasis6.2-as collaboraofficebasis6.2-ast collaboraofficebasis6.2-bg collaboraofficebasis6.2-bn-in collaboraofficebasis6.2-br collaboraofficebasis6.2-ca collaboraofficebasis6.2-calc collaboraofficebasis6.2-ca-valencia collaboraofficebasis6.2-core collaboraofficebasis6.2-cs collaboraofficebasis6.2-cy collaboraofficebasis6.2-da collaboraofficebasis6.2-de collaboraofficebasis6.2-draw collaboraofficebasis6.2-el collaboraofficebasis6.2-en-gb collaboraofficebasis6.2-en-us collaboraofficebasis6.2-es collaboraofficebasis6.2-et collaboraofficebasis6.2-eu collaboraofficebasis6.2-extension-pdf-import collaboraofficebasis6.2-fi collaboraofficebasis6.2-fr collaboraofficebasis6.2-ga collaboraofficebasis6.2-gd collaboraofficebasis6.2-gl collaboraofficebasis6.2-graphicfilter collaboraofficebasis6.2-gu collaboraofficebasis6.2-he collaboraofficebasis6.2-hi collaboraofficebasis6.2-hr collaboraofficebasis6.2-hu collaboraofficebasis6.2-id collaboraofficebasis6.2-images collaboraofficebasis6.2-impress collaboraofficebasis6.2-is collaboraofficebasis6.2-it collaboraofficebasis6.2-ja collaboraofficebasis6.2-km collaboraofficebasis6.2-kn collaboraofficebasis6.2-ko collaboraofficebasis6.2-lt collaboraofficebasis6.2-lv collaboraofficebasis6.2-ml collaboraofficebasis6.2-mr collaboraofficebasis6.2-nb collaboraofficebasis6.2-nl collaboraofficebasis6.2-nn collaboraofficebasis6.2-oc collaboraofficebasis6.2-ooofonts collaboraofficebasis6.2-ooolinguistic collaboraofficebasis6.2-or collaboraofficebasis6.2-pa-in collaboraofficebasis6.2-pl collaboraofficebasis6.2-pt collaboraofficebasis6.2-pt-br collaboraofficebasis6.2-ro collaboraofficebasis6.2-ru collaboraofficebasis6.2-sk collaboraofficebasis6.2-sl collaboraofficebasis6.2-sr collaboraofficebasis6.2-sr-latn collaboraofficebasis6.2-sv collaboraofficebasis6.2-ta collaboraofficebasis6.2-te collaboraofficebasis6.2-tr collaboraofficebasis6.2-uk collaboraofficebasis6.2-vi collaboraofficebasis6.2-writer collaboraofficebasis6.2-zh-cn collaboraofficebasis6.2-zh-tw
1928

2029
# Install inotifywait and killall to automatic restart loolwsd, if loolwsd.xml changes
2130
apt-get -y install inotify-tools psmisc
2231

2332
# Cleanup
2433
rm -rf /var/lib/apt/lists/*
2534
rm -rf /etc/apt/sources.list.d/collabora.list
35+
36+
# Fix permissions
37+
chown -R lool:lool /opt/
38+
chown -R lool:lool /etc/loolwsd

baseimage/scripts/start-libreoffice.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ if test "${DONT_GEN_SSL_CERT-set}" == set; then
88
mkdir -p /opt/ssl/
99
cd /opt/ssl/
1010
mkdir -p certs/ca
11+
openssl rand -writerand /opt/lool/.rnd
1112
openssl genrsa -out certs/ca/root.key.pem 2048
1213
openssl req -x509 -new -nodes -key certs/ca/root.key.pem -days 9131 -out certs/ca/root.crt.pem -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=Dummy Authority"
1314
mkdir -p certs/{servers,tmp}
14-
mkdir -p "certs/servers/localhost"
15-
openssl genrsa -out "certs/servers/localhost/privkey.pem" 2048 -key "certs/servers/localhost/privkey.pem"
15+
mkdir -p certs/servers/localhost
16+
openssl genrsa -out certs/servers/localhost/privkey.pem 2048
1617
if test "${cert_domain-set}" == set; then
17-
openssl req -key "certs/servers/localhost/privkey.pem" -new -sha256 -out "certs/tmp/localhost.csr.pem" -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=localhost"
18+
openssl req -key certs/servers/localhost/privkey.pem -new -sha256 -out certs/tmp/localhost.csr.pem -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=localhost"
1819
else
19-
openssl req -key "certs/servers/localhost/privkey.pem" -new -sha256 -out "certs/tmp/localhost.csr.pem" -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=${cert_domain}"
20+
openssl req -key certs/servers/localhost/privkey.pem -new -sha256 -out certs/tmp/localhost.csr.pem -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=${cert_domain}"
2021
fi
2122
openssl x509 -req -in certs/tmp/localhost.csr.pem -CA certs/ca/root.crt.pem -CAkey certs/ca/root.key.pem -CAcreateserial -out certs/servers/localhost/cert.pem -days 9131
2223
mv certs/servers/localhost/privkey.pem /etc/loolwsd/key.pem
@@ -38,5 +39,6 @@ perl -pi -e "s/<allowed_languages (.*)>.*<\/allowed_languages>/<allowed_language
3839
/usr/bin/killall -1 loolwsd
3940
) &
4041

42+
4143
# Start loolwsd
42-
su -c "/usr/bin/loolwsd --version --o:sys_template_path=/opt/lool/systemplate --o:lo_template_path=/opt/collaboraoffice6.0 --o:child_root_path=/opt/lool/child-roots --o:file_server_root_path=/usr/share/loolwsd ${extra_params}" -s /bin/bash lool
44+
/bin/bash -c "/usr/bin/loolwsd --version --o:sys_template_path=/opt/lool/systemplate --o:child_root_path=/opt/lool/child-roots --o:file_server_root_path=/usr/share/loolwsd ${extra_params}"

key/Dockerfile

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
# Environment variables
44
ARG REPOS
5+
ENV domain localhost
6+
ENV LC_CTYPE en_US.UTF-8
57

68
# Setup scripts for LibreOffice Online
79
ADD /scripts/install-libreoffice.sh /
810
ADD /scripts/start-libreoffice.sh /
911
RUN bash install-libreoffice.sh
1012
RUN rm -rf /install-libreoffice.sh
1113

12-
# Environment variables
13-
ENV domain localhost
14-
ENV LC_CTYPE en_US.UTF-8
15-
1614
EXPOSE 9980
1715

16+
# switch to lool user
17+
USER 101
18+
1819
# Entry point
1920
CMD bash start-libreoffice.sh

key/scripts/install-libreoffice.sh

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,38 @@
11
#!/bin/sh
22

3-
# Update installed packages
4-
apt-get update && apt-get -y upgrade
3+
# Refresh repos otherwise installations later may fail
4+
apt-get update
55

6-
# Install HTTPS transport
6+
# Install HTTPS transport
77
apt-get -y install apt-transport-https
88

99
# Install locales
1010
apt-get -y install locales-all
1111

12+
# Install some more fonts
13+
apt-get -y install fonts-open-sans
14+
15+
# Install gnupg2
16+
apt-get -y install gnupg2
17+
18+
# install ca-certificates
19+
apt-get -y install ca-certificates
20+
1221
# Add Collabora repos
13-
echo "deb https://collaboraoffice.com/${REPOS:-repos}/CollaboraOnline/4-key /" >> /etc/apt/sources.list.d/collabora.list
22+
echo "deb https://collaboraoffice.com/${REPOS:-repos}/CollaboraOnline/4.2-key /" >> /etc/apt/sources.list.d/collabora.list
1423
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6CCEA47B2281732DF5D504D00C54D189F4BA284D
1524
apt-get update
1625

1726
# Install the Collabora packages
18-
apt-get -y install loolwsd collabora-online-brand collaboraoffice6.0-dict* collaboraofficebasis6.0*
27+
apt-get -y install loolwsd collabora-online-brand collaboraoffice6.2-dict* collaboraofficebasis6.2-ar collaboraofficebasis6.2-as collaboraofficebasis6.2-ast collaboraofficebasis6.2-bg collaboraofficebasis6.2-bn-in collaboraofficebasis6.2-br collaboraofficebasis6.2-ca collaboraofficebasis6.2-calc collaboraofficebasis6.2-ca-valencia collaboraofficebasis6.2-core collaboraofficebasis6.2-cs collaboraofficebasis6.2-cy collaboraofficebasis6.2-da collaboraofficebasis6.2-de collaboraofficebasis6.2-draw collaboraofficebasis6.2-el collaboraofficebasis6.2-en-gb collaboraofficebasis6.2-en-us collaboraofficebasis6.2-es collaboraofficebasis6.2-et collaboraofficebasis6.2-eu collaboraofficebasis6.2-extension-pdf-import collaboraofficebasis6.2-fi collaboraofficebasis6.2-fr collaboraofficebasis6.2-ga collaboraofficebasis6.2-gd collaboraofficebasis6.2-gl collaboraofficebasis6.2-graphicfilter collaboraofficebasis6.2-gu collaboraofficebasis6.2-he collaboraofficebasis6.2-hi collaboraofficebasis6.2-hr collaboraofficebasis6.2-hu collaboraofficebasis6.2-id collaboraofficebasis6.2-images collaboraofficebasis6.2-impress collaboraofficebasis6.2-is collaboraofficebasis6.2-it collaboraofficebasis6.2-ja collaboraofficebasis6.2-km collaboraofficebasis6.2-kn collaboraofficebasis6.2-ko collaboraofficebasis6.2-lt collaboraofficebasis6.2-lv collaboraofficebasis6.2-ml collaboraofficebasis6.2-mr collaboraofficebasis6.2-nb collaboraofficebasis6.2-nl collaboraofficebasis6.2-nn collaboraofficebasis6.2-oc collaboraofficebasis6.2-ooofonts collaboraofficebasis6.2-ooolinguistic collaboraofficebasis6.2-or collaboraofficebasis6.2-pa-in collaboraofficebasis6.2-pl collaboraofficebasis6.2-pt collaboraofficebasis6.2-pt-br collaboraofficebasis6.2-ro collaboraofficebasis6.2-ru collaboraofficebasis6.2-sk collaboraofficebasis6.2-sl collaboraofficebasis6.2-sr collaboraofficebasis6.2-sr-latn collaboraofficebasis6.2-sv collaboraofficebasis6.2-ta collaboraofficebasis6.2-te collaboraofficebasis6.2-tr collaboraofficebasis6.2-uk collaboraofficebasis6.2-vi collaboraofficebasis6.2-writer collaboraofficebasis6.2-zh-cn collaboraofficebasis6.2-zh-tw
1928

2029
# Install inotifywait and killall to automatic restart loolwsd, if loolwsd.xml changes
2130
apt-get -y install inotify-tools psmisc
2231

2332
# Cleanup repositories since we don't want to leak our secret key
2433
rm -rf /var/lib/apt/lists/*
2534
rm -rf /etc/apt/sources.list.d/collabora.list
35+
36+
# Fix permissions
37+
chown -R lool:lool /opt/
38+
chown -R lool:lool /etc/loolwsd

key/scripts/start-libreoffice.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ if test "${DONT_GEN_SSL_CERT-set}" == set; then
88
mkdir -p /opt/ssl/
99
cd /opt/ssl/
1010
mkdir -p certs/ca
11+
openssl rand -writerand /opt/lool/.rnd
1112
openssl genrsa -out certs/ca/root.key.pem 2048
1213
openssl req -x509 -new -nodes -key certs/ca/root.key.pem -days 9131 -out certs/ca/root.crt.pem -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=Dummy Authority"
1314
mkdir -p certs/{servers,tmp}
14-
mkdir -p "certs/servers/localhost"
15-
openssl genrsa -out "certs/servers/localhost/privkey.pem" 2048 -key "certs/servers/localhost/privkey.pem"
15+
mkdir -p certs/servers/localhost
16+
openssl genrsa -out certs/servers/localhost/privkey.pem 2048
1617
if test "${cert_domain-set}" == set; then
17-
openssl req -key "certs/servers/localhost/privkey.pem" -new -sha256 -out "certs/tmp/localhost.csr.pem" -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=localhost"
18+
openssl req -key certs/servers/localhost/privkey.pem -new -sha256 -out certs/tmp/localhost.csr.pem -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=localhost"
1819
else
19-
openssl req -key "certs/servers/localhost/privkey.pem" -new -sha256 -out "certs/tmp/localhost.csr.pem" -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=${cert_domain}"
20+
openssl req -key certs/servers/localhost/privkey.pem -new -sha256 -out certs/tmp/localhost.csr.pem -subj "/C=DE/ST=BW/L=Stuttgart/O=Dummy Authority/CN=${cert_domain}"
2021
fi
2122
openssl x509 -req -in certs/tmp/localhost.csr.pem -CA certs/ca/root.crt.pem -CAkey certs/ca/root.key.pem -CAcreateserial -out certs/servers/localhost/cert.pem -days 9131
2223
mv certs/servers/localhost/privkey.pem /etc/loolwsd/key.pem
@@ -38,5 +39,6 @@ perl -pi -e "s/<allowed_languages (.*)>.*<\/allowed_languages>/<allowed_language
3839
/usr/bin/killall -1 loolwsd
3940
) &
4041

42+
4143
# Start loolwsd
42-
su -c "/usr/bin/loolwsd --version --o:sys_template_path=/opt/lool/systemplate --o:lo_template_path=/opt/collaboraoffice6.0 --o:child_root_path=/opt/lool/child-roots --o:file_server_root_path=/usr/share/loolwsd ${extra_params}" -s /bin/bash lool
44+
/bin/bash -c "/usr/bin/loolwsd --version --o:sys_template_path=/opt/lool/systemplate --o:child_root_path=/opt/lool/child-roots --o:file_server_root_path=/usr/share/loolwsd ${extra_params}"

online/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@ ENV LC_CTYPE en_US.UTF-8
66

77
EXPOSE 9980
88

9+
# switch to lool user
10+
USER 101
11+
912
# Entry point
1013
CMD bash start-libreoffice.sh

0 commit comments

Comments
 (0)