Commit graph

77 commits

Author SHA1 Message Date
Andras Timar
34bc966d68 change product name
Change-Id: Ic34d324c952364442d3f4f9f0758676ab57c8a9a
2020-10-02 14:18:28 +02:00
Andras Timar
0002fdfd6c fix license headers
Change-Id: I8623770b32d278a45357dc7f757fabfadd2b4af7
2020-10-01 11:56:43 +02:00
Ashod Nakashian
5c9988f2e3 wsd: faster jail setup via bind-mount
loolmount now works and supports mounting and
unmounting, plus numerous improvements,
refactoring, logging, etc..  When enabled,
binding improves the jail setup time by anywhere
from 2x to orders of magnitude (in docker, f.e.).

A new config entry mount_jail_tree controls
whether mounting is used or the old method of
linking/copying of jail contents. It is set to
true by default and falls back to linking/copying.
A test mount is done when the setting is enabled,
and if mounting fails, it's disabled to avoid noise.

Temporarily disabled for unit-tests until we can
cleanup lingering mounts after Jenkins aborts our
build job. In a future patch we will have mount/jail
cleanup as part of make.

The network/system files in /etc that need frequent
refreshing are now updated in systemplate to make
their most recent version available in the jails.
These files can change during the course of loolwsd
lifetime, and are unlikely to be updated in
systemplate after installation at all. We link to
them in the systemplate/etc directory, and if that
fails, we copy them before forking each kit
instance to have the latest.

This reworks the approach used to bind-mount the
jails and the templates such that the total is
now down to only three mounts: systemplate, lo, tmp.

As now systemplate and lotemplate are shared, they
must be mounted as readonly, this means that user/
must now be moved into tmp/user/ which is writable.

The mount-points must be recursive, because we mount
lo/ within the mount-point of systemplate (which is
the root of the jail). But because we (re)bind
recursively, and because both systemplate and
lotemplate are mounted for each jails, we need to
make them unbindable, so they wouldn't multiply the
mount-points for each jails (an explosive growth!)
Contrarywise, we don't want the mount-points to
be shared, because we don't expect to add/remove
mounts after a jail is created.

The random temp directory is now created and set
correctly, plus many logging and other improvements.

Change-Id: Iae3fda5e876cf47d2cae6669a87b5b826a8748df
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92829
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-07-01 05:42:43 +02:00
Andras Timar
ac71e9c63a we don't have to depend on locales-all
... after 15ced64d32

Change-Id: If08624d4c9614f3616af7f39c7bc636aebaf749b
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95024
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-06-01 19:32:42 +02:00
Marco Marinello
16f72821bd Enhance docker build system: reduce created layers
Signed-off-by: Marco Marinello <marinello@libreoffice.org>
Change-Id: If12a84b3adb82dad3bf7ef7ea423e8bdfac1650e
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/94261
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-05-20 08:35:03 +02:00
Christian Lohmaier
d6b8a37eb1 set INSTDIR again in and check for dockerfile in proper location
f'up fix to 607ddbff46

Change-Id: Idbb5191afcb9baab5c58e43e1b2511493491f029
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/94291
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-05-15 22:30:14 +02:00
Marco Marinello
607ddbff46 Enhance build system: support multiple OS as host and pull the image before build
Change-Id: Ic9875dd1aa49335df83cc6a8492144450f725f31
Signed-off-by: Marco Marinello <marinello@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92665
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-05-14 10:08:56 +02:00
Andras Timar
e92f31ca86 docker: generate the WOPI proof key at container startup
Change-Id: Ic2d8dedcc7aff2a33ef5e26d986a1302fc6941fa
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92851
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-04-24 20:05:55 +02:00
Andras Timar
25bc0a1088 Proof: add loolwsd-generate-proof-key helper script
Change-Id: Ibbd99b6431b1a2992c520d3fad5f52d0770905f6
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92788
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-04-23 19:36:06 +02:00
Samuel Mehrbrodt
f4c76b9f87 Fix log message in docker build script
Change-Id: Ifdd931b5ae75137669126ee544d0c9eae9fe7777
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91403
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-04-02 08:49:45 +02:00
Gary Kim
60b116f91e Fix docker script pushing to Docker Hub even when set not to
Change-Id: I7506c65b5412f3fd7faadcc387a54b8dfe472650
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90890
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-03-23 13:34:42 +01:00
Andras Timar
59993fb9d1 docker: don't start another shell, let the loolwsd process have the PID 1
(Suggested by Ralf Becker)
e024a6c2a3 (r37648923)

Change-Id: Ifa519739686facb41eb9e85b68ebe547e008db34
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90019
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-03-05 21:11:30 +01:00
Marco Marinello
11c12a2729 Variabilize online git source
Signed-off-by: Marco Marinello <marinello@libreoffice.org>
Change-Id: If8f9103972952b98193ca6d1501844422b8aae54
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89483
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-03-02 01:53:29 +01:00
Marco Marinello
0326037cbf Add a README for docker directory
Signed-off-by: Marco Marinello <marinello@libreoffice.org>
Change-Id: I0cc9da9945763c48afd01ea231d9dfb5bb384d71
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89482
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-02-25 22:45:43 +01:00
Marco Marinello
fdba30ea4d Add more flags to docker compilation
Signed-off-by: Marco Marinello <marinello@libreoffice.org>
Change-Id: Ib5a49613ed36eec0d8ab8178b13e302cd5d8da4e
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89080
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-02-20 14:07:30 +01:00
Andras Timar
0009343003 docker: non-root container
Change-Id: I30b48fa193fe06ee42752e8ba4883c5221b28924
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88435
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-02-17 18:31:36 +01:00
Andras Timar
ef37f40665 docker: expose port 9980 in Dockerfile (useful for inter-container communication)
Change-Id: I9596dfe4909a904d458ed054d71ab4fea45adebe
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88434
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-02-17 15:55:38 +01:00
Andras Timar
62fe72b275 it's a docker anti-pattern to get the latest fixes during image build
Change-Id: I9950fb99fdc2f6dad7e2781c6cd663215271ec51
Reviewed-on: https://gerrit.libreoffice.org/78645
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2019-12-21 23:02:10 +01:00
Samuel Mehrbrodt
0068d8b2d9 docker: Allow to build different branches in core+online
Change-Id: Ifbd705fc95ae225858ccd582ed2e0150a40f6a93
Reviewed-on: https://gerrit.libreoffice.org/85254
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-12-17 08:24:32 +01:00
Andras Timar
bc608f41d5 With switch to Weblate, downloadpootle.sh script became obsolete
Change-Id: I85447800a2547d2e9142b59ce60ee3c242e7234d
2019-12-13 12:29:31 +01:00
Gary Kim
997113697e docker: add missing dependencies
The docker container is missing some dependencies
so cannot start properly.

Change-Id: Icfa7b318370d331ecf2935f166b3cfb3b57379c8
Reviewed-on: https://gerrit.libreoffice.org/83939
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-11-28 14:05:34 +01:00
Samuel Mehrbrodt
05831c52f7 One -f should be enough
Change-Id: Iac8a6cb9fe7a6da41c3d7120bafa62e5847f2c98
Reviewed-on: https://gerrit.libreoffice.org/80510
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2019-10-09 09:14:49 +02:00
Andras Timar
340b2ad8d4 docker: run git clean before git pull
Fixes:
https://ci.libreoffice.org/job/lo_online_docker_master/118/console

Change-Id: Ib7f228cdbb191f0a397849fb6adf20b37591c1c1
2019-10-09 08:54:24 +02:00
Andras Timar
db176ee45b Remove lo_template_path option
It was not very useful to let this setting configurable by the user.
On the other hand, old path in config file caused issues after
upgrade. It is better to decide the location of LOKit core
during compilation. From now on the --with-lo-path configure
option is compulsory.

Change-Id: Icdcbc21bde5dad329fdb6e30ed17efde6b0e73de
Reviewed-on: https://gerrit.libreoffice.org/79943
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2019-10-08 09:36:44 +02:00
Andras Timar
e268299aa2 Since LibreOfficeOnline.conf has --disable-gui, we don't need these packages
Change-Id: Ic57af67bf50774c3cafdb26737ee4eeac2f54da0
Reviewed-on: https://gerrit.libreoffice.org/78852
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2019-09-13 11:01:45 +02:00
Andras Timar
becb72a6a9 tdf#121983 is fixed, remove the hack here
Change-Id: I93bfc410d21b6283c4566586b4240f1c3556ee0e
Reviewed-on: https://gerrit.libreoffice.org/78647
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2019-09-05 23:57:21 +02:00
Andras Timar
d5cf8afd57 docker: install selective set of poco libraries, only what we need
Change-Id: I2776b6817696fbc8d5f24a35165e26bf5ff8c4af
Reviewed-on: https://gerrit.libreoffice.org/78646
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2019-09-05 23:57:03 +02:00
Samuel Mehrbrodt
3b9255bb41 Use pkill to kill process instead of killall
Using killall does not work, it gives 'no process found'.

Change-Id: I0e528ab8c0f6f0c4cb06ea5e6c436aecf2274688
Reviewed-on: https://gerrit.libreoffice.org/74679
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2019-06-25 11:35:50 +02:00
Andras Timar
c13fe19667 docker: fix SSL cert generation with OpenSSL 1.1.1
Change-Id: I1534cd3d3da19ac17e65571e6e2f7e7b0a8e61ca
Reviewed-on: https://gerrit.libreoffice.org/73953
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2019-06-13 13:18:40 +02:00
Samuel Mehrbrodt
0a243e0924 Move build options to distro-config
Change-Id: I41963698fafd9d75732c015761d065712e45b40f
Reviewed-on: https://gerrit.libreoffice.org/73804
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-06-12 09:36:45 +02:00
Samuel Mehrbrodt
55e00b4f0c Fix docker build (removed configure option)
Change-Id: I6528a3954958803cc651554b8fb6fa7e4d514352
Reviewed-on: https://gerrit.libreoffice.org/73800
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-06-11 09:10:08 +02:00
Samuel Mehrbrodt
45aaec3207 No more jake
Change-Id: I21187241142031cd324e63aebf03ce8ca949411d
Reviewed-on: https://gerrit.libreoffice.org/72757
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-05-22 15:55:21 +02:00
Samuel Mehrbrodt
ae6471d845 More specific instructions for setcap nopasswd exception
Change-Id: I1f151650331987c598f5a9d98d0f3a11542c12bd
Reviewed-on: https://gerrit.libreoffice.org/72756
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-05-22 15:55:04 +02:00
Jan Holesovsky
3a03f50784 Revert "Adapt paths to new package name"
It is not a good idea to change the configuration directory, it will affect all the existing installations.

And the service is called loolwsd - so the configuration should be called that way too.

This reverts commit 9278574289.

Change-Id: I7e6eee644e21ad2dd842742585d16133ff8e36c9
Reviewed-on: https://gerrit.libreoffice.org/72730
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-05-22 12:06:06 +02:00
Samuel Mehrbrodt
9278574289 Adapt paths to new package name
After 1dbbc5acc7

Change-Id: I64a12fb13bc8f9371821b2d5969941bfddc2514a
Reviewed-on: https://gerrit.libreoffice.org/72728
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-05-22 10:27:33 +02:00
Andras Timar
7e774f3642 docker: --enable-pdfimport and --disable-poppler in build config
Online does not use poppler anyway, it uses pdfium

Change-Id: Ia72b31072640874d2c54d4d4b28f5282e992b6ce
2019-03-07 12:30:20 +01:00
Samuel Mehrbrodt
e0b0d1c6dd Docker: Run autogen after branch has been checked out
Change-Id: I14126b7344aa4d162738de7173803124b803ab28
2019-03-05 09:53:45 +01:00
Andras Timar
f1be65668c systemplate files should not be writable by lool user
Change-Id: Ifb4fb7e5d5c1861b5e26bb6a710acb28e546c846
Reviewed-on: https://gerrit.libreoffice.org/67425
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2019-02-07 14:33:30 +01:00
Samuel Mehrbrodt
f4c5826ede Docker: Fetch refs before checking out branch
Change-Id: I581fad6dd90831cffceb1bbc7456749fca941a34
2019-02-04 12:29:33 +01:00
Samuel Mehrbrodt
de4e89c623 Docker: Add env var for extra build options
Change-Id: I6f3cb4c526aff5a0543c69143c961b5bc4a555e9
2019-01-31 10:04:24 +01:00
Samuel Mehrbrodt
8d2492c384 Docker: Add option to skip docker image build
Need to have this build differently in our env

Change-Id: I8233dcf216c527a5238329f94b68836168648cfe
2019-01-31 09:50:52 +01:00
Samuel Mehrbrodt
2ae903e147 Docker: Restart lool when config changes
Brought here from 334731d9e5

Change-Id: Id64f631454e743f37a378d8b10a78c8d3d4c9f47
Reviewed-on: https://gerrit.libreoffice.org/67041
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-01-30 10:10:01 +01:00
Samuel Mehrbrodt
adff9d1e2c Docker: add env var to change core build target
Change-Id: Ida0410d6ff6515b479d4d431b4a1060e3430dd9d
2019-01-28 12:14:36 +01:00
Samuel Mehrbrodt
4bfdda1068 docker: Ignore errors when deleting instdir
Building in docker, this is a volume which is undeletable

Change-Id: I08c4fd87b1d7ca146f5d91c2cd26675191bd6047
2019-01-28 10:10:34 +01:00
Samuel Mehrbrodt
72f0743f26 Revert "Docker: Fix runtime dependencies for support key build"
This reverts commit 2880312af5.

Turned out it was a problem on the builder machine, not with the image itself.
2019-01-21 09:39:27 +01:00
Samuel Mehrbrodt
2880312af5 Docker: Fix runtime dependencies for support key build
* Install libssl
* libPocoNet.so is needed. Only available starting from Ubuntu 18.10,
  so upgrade the docker base image accordingly

Change-Id: I7c60c92d9c1126d36742d3b48992029e55aad405
2019-01-15 09:27:49 +01:00
Samuel Mehrbrodt
f5fb312987 Docker: Allow chosing which branch to build
Add an env var for this, default is still "master"

Change-Id: If6ded3509efe9bf5bbb5a1d82b0aa2e66ac2c133
Reviewed-on: https://gerrit.libreoffice.org/65544
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-12-21 14:33:46 +01:00
Samuel Mehrbrodt
fb51909217 Docker: Clone from upstream repo
Change-Id: I0977d3e0de5df0b4cac819559b67548e07a00583
Reviewed-on: https://gerrit.libreoffice.org/65528
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-12-21 14:25:16 +01:00
Samuel Mehrbrodt
a43ba457d6 docker: Allow using a different docker hub repo/tag
Still defaults to libreoffice/online:master

Change-Id: Ice1f27b273a63aa1e2e3ea87c7ac409004e8b214
Reviewed-on: https://gerrit.libreoffice.org/65525
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-12-21 14:25:09 +01:00
Samuel Mehrbrodt
32110056e7 kde4 is gone, disable kde5 instead
Change-Id: I075ae997752199891530eaae509673e255d47de8
2018-12-20 16:56:48 +01:00