Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nixos/loolwsd: init - LibreOffice/Collabora Online #77383

Draft
wants to merge 4 commits into
base: master
from

Conversation

@mmilata
Copy link
Contributor

mmilata commented Jan 9, 2020

This PR adds Collabora CODE service which is a LibreOffice Online variant that is intended to be more stable and has available commercial support. It can be integrated into Nextcloud for collaborative document editing.

There are three parts:

  • Collabora Office package, variant of LibreOffice that is used by Online through its API
  • Collabora Online package, variant of LibreOffice Online that provides websocket daemon interfacing with the API, and javascript frontend that can talk to the daemon
  • NixOS module for running the daemon with optional nginx reverse proxy

Rendered part of NixOS manual describing setup with NextCloud

Motivation for this change

To be able to run LibreOffice Online/Collabora Online as a native service on NixOS.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
TODO
  • crash on Insert > Image
  • crash on Download As PDF
  • add setup instructions to Nextcloud module documentation
    • document that Insert > Image does not work with self-signed certificate
  • font file build grep hack
  • speed up chroot initialization
    • LO_PATH cannot be hardlinked because it points to /nix/store (cross-device, different owner), also it's set at compile time
    • try to minimize the closure copied to /var/lib/lool/systemplate
  • enable systemd sandboxing options
  • set DICPATH to point to hunspell dictionaries
  • build underlying libreoffice-core with unnecessary features disabled (e.g. gui)
  • tests are disabled
  • check with Collabora wrt trademark compliance
@mmilata mmilata force-pushed the otevrenamesta:lool branch from f4d1779 to 7a0c433 Jan 9, 2020
@ofborg ofborg bot requested a review from 7c6f434c Jan 9, 2020
@mmahut mmahut self-assigned this Jan 17, 2020
@mmahut

This comment has been minimized.

Copy link
Member

mmahut commented Jan 17, 2020

Thank you for working on this, it would be very useful to have this in nixpkgs.

@mmahut

This comment has been minimized.

Copy link
Member

mmahut commented Jan 17, 2020

@GrahamcOfBorg build libreoffice-online

@mmilata mmilata force-pushed the otevrenamesta:lool branch 2 times, most recently from 3ed9955 to abacc29 Jan 30, 2020
@mmahut

This comment has been minimized.

Copy link
Member

mmahut commented Feb 1, 2020

@GrahamcOfBorg build libreoffice-online

@mmilata mmilata force-pushed the otevrenamesta:lool branch 5 times, most recently from 6ff0ba8 to 4f19807 Feb 3, 2020
@mmilata mmilata force-pushed the otevrenamesta:lool branch from 4f19807 to 567a545 Feb 7, 2020
@@ -1,5 +1,15 @@
{
"LIBGLTF": {"subdir": "libgltf/"},
"ODFVALIDATOR": {"subdir": "../extern/"},
"OFFICEOTRON": {"subdir": "../extern/"}
"OFFICEOTRON": {"subdir": "../extern/"},
"FONT_NOTO_MORE": {"baseurl": "https://noto-website-2.storage.googleapis.com/pkgs"},

This comment has been minimized.

Copy link
@mmilata

mmilata Feb 13, 2020

Author Contributor

Hmm, this downloads 1.1G of fonts which are then not used because we build with --without-fonts. Perhaps implement skip instead of baseurl to save space & time?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.