Nuxeo Server

Installing and Setting Up Related Software

Updated: March 18, 2024

The Nuxeo Platform modules use external software for some features. They need to be installed on the server in addition to Nuxeo application.

On a naked default Nuxeo Platform, you need the following software:

  • For web preview of office documents: LibreOffice and pdftohtml
    • LibreOffice (version >= 5): converts office file into PDF
    • pdftohtml: converts converted PDF into HTML preview
  • For thumbnail generation: ImageMagick and Ghostscript for most file formats. UFRaw for RAW files.
  • For processing WordPerfect documents: libwpd

If you installed the Nuxeo DAM addon, you will need these additional requirements:

  • For metadata extraction: Exiftool
  • For picture preview and tilling: ImageMagick (already required for thumbnails)
  • For video conversion and storyboarding: FFmpeg
  • For subtitles extraction from videos: CCExtractor

Thumbnails and previews are created when documents are imported into Nuxeo, not on the fly when browsing documents. So in order to check if the third party software work properly on your Nuxeo instance, you must import new documents.

Linux

Under Debian or Ubuntu, most of these can be installed by the following command:

$ sudo apt-get install openjdk-8-jdk imagemagick ufraw poppler-utils libreoffice ffmpeg libwpd-tools ghostscript exiftool

Installing the FFmpeg package from your distribution's repository may not provide you with support for all video formats. Refer to the additional formats support for FFmpeg section for more information.

LibreOffice Configuration

Minimum required version

The minimum version required is LibreOffice 5. The soffice program must be added to the PATH environment variable.

Installation location and Path configuration

For preview to work, the server must start LibreOffice. The Nuxeo Platform looks for LibreOffice at different locations on the system. See PlatformUtils.java definition for searched locations.

If LibreOffice isn't available at one of these locations, you need to add the soffice program to your path: Edit the Path system variable and add ;OFFICE_INSTALL_DIRECTORY\program.

If not using default install path, you may have to add the path to the executable in your nuxeo.conf:

jod.office.home=/path/to/libreoffice

Non-latin languages configuration

If you'll be working with non-latin languages:

  1. Start LibreOffice manually.
  2. Install the additional fonts you may need for non-default languages.

Controlling Threads Used by ImageMagick

By default ImageMagick is multi threaded and will use all the available CPUs. This creates burst of CPU usage, especially when thumbnail is generated concurrently.

Hopefully you can control the number of threads used by ImageMagick either by:

  • Editing /etc/ImageMagick/policy.xml and setting <policy domain="resource" name="thread" value="1"/>.
  • adding an environment variable export MAGICK_THREAD_LIMIT=1 in the nuxeo user .bash_profile.

CCExtractor Installation

CCExtractor is used to extract subtitles from videos.

Installing CCExtractor on a GNU/Linux distribution requires to compile it from source. The recommended way to do it is to use our "in-docker-build": https://github.com/nuxeo/nuxeo-tools-docker/tree/master/ccextractor.

To generate a package (by default for the latest Ubuntu LTS) issue the following commands:

$ sudo apt-get update
$ sudo apt-get install docker
$ cd /tmp
$ git clone https://github.com/nuxeo/nuxeo-tools-docker.git
$ cd nuxeo-tools-docker/ccextractor
$ sudo ./build-package.sh

macOS and OS X

The macOS installation instructions provided use Homebrew.

LibreOffice and pdftohtml for Office and PDF Preview

Installing LibreOffice and pdftohtml on the server is only required if you need to use preview on PDF and office documents. pdftohtml is used for previewing PDF files. It is included in poppler.

LibreOffice

LibreOffice is used for preview on office documents in association with pdftohtml.

Minimum required version

The minimum version required is LibreOffice 5. The soffice program must be added to the PATH environment variable.

Download and install LibreOffice from http://www.libreoffice.org/.

Installation location and Path configuration

For preview to work, the server must start LibreOffice. The Nuxeo Platform looks for LibreOffice at different locations on the system. See PlatformUtils.java definition for searched locations.

If LibreOffice isn't available at one of these locations, you need to add the soffice program to your path: Edit the Path system variable and add ;OFFICE_INSTALL_DIRECTORY\program.

If not using default install path, you may have to add the path to the executable in your nuxeo.conf:

jod.office.home=/path/to/libreoffice

Non-latin languages configuration

If you'll be working with non-latin languages:

  1. Start LibreOffice manually.
  2. Install the additional fonts you may need for non-default languages.

pdftohtml

To install pdftohtml using Homebrew:

$ brew install poppler

ImageMagick

ImageMagick is used in association with Ghostscript to generate the document thumbnails. It is also used by the Nuxeo DAM add-on for the preview and tiling of pictures.

To install ImageMagick using Homebrew:

$ brew install imagemagick

Ghostscript

Ghostscript is used in association with ImageMagick to generate the thumbnails of documents.

To install Ghostscript using Homebrew:

$ brew install ghostscript

FFmpeg

FFmpeg is required by the Nuxeo DAM addon. It is used to create the storyboard of videos and convert them to additional formats.

To install FFmpeg using Homebrew:

$ brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype \
--with-frei0r --with-libass --with-libbluray --with-libcaca \
--with-libquvi --with-libvidstab --with-libvo-aacenc --with-libvorbis \
--with-libvpx --with-opencore-amr --with-openjpeg --with-openssl \
--with-opus --with-rtmpdump --with-schroedinger --with-speex \
--with-theora --with-tools --with-x265 --with-faac

This install most libraries. You can of course remove the libraries that are needed for the video files you will be managing. Use brew info ffmpeg for details about each library available.

UFRaw

UFRaw is used in association with ImageMagick and Ghostscript to generate RAW document thumbnails.

To install UFRaw using Homebrew:

$ brew install ufraw  

libwpd

libwpd used to process WordPerfect documents.

To install libwpd using Homebrew:

$ brew install libwpd

ExifTool

ExifTool is required by the Nuxeo Binary Metadata add-on. It is used to extract and override binaries metadata.

To install ExifTool using Homebrew:

$ brew install exiftool

CCExtractor

CCExtractor is used to extract subtitles from videos.

To install CCExtractor using Homebrew:

$ brew install ccextractor

Windows

The following software are already included when using the .exe installer:

  • FFmpeg
  • ImageMagick
  • pdftohtml
  • ghostscript
  • Exiftool.

The installer does not install them globally in Windows: they are available from the 3rdparty folder of the server tree and added to the PATH by the nuxeoctl.bat script.

If not already present on the system, you will have the option to automatically install LibreOffice and PostgreSQL.

Warning about ImageMagick: Some versions of Windows come with a System utility command named convert whose name conflicts with the ImageMagick's command of the same name. After installing Nuxeo, you can check if there will be a conflict:

  1. Open a terminal and use the where convert command. The output will tell you which command is in the PATH.
  2. If you don't see ImageMagick in the result (it must be the first of the list, or the only one), then you must copy the path to ImageMagick and add it to the PATH System variable.

    1. Open File Explorer, right-click on "This PC" and click on Properties.

    2. On the System pane select Advanced system settings.

    3. On the Advanced tab, click Environment Variables... and edit the PATH system variable to add the path you copied (use a ; to separate values).

LibreOffice and pdftohtml

Installing LibreOffice and pdftohtml on the server is only required if you need to use preview on PDF and office documents. pdftohtml is used for previewing PDF files. It is included in poppler.

LibreOffice

LibreOffice is used for preview on office documents in association with pdftohtml.

Minimum required version

The minimum version required is LibreOffice 5. The soffice program must be added to the PATH environment variable.

Download and install LibreOffice from http://www.libreoffice.org/.

Installation location and Path configuration

For preview to work, the server must start LibreOffice. The Nuxeo Platform looks for LibreOffice at different locations on the system. See PlatformUtils.java definition for searched locations.

If LibreOffice isn't available at one of these locations, you need to add the soffice program to your path: Edit the Path system variable and add ;OFFICE_INSTALL_DIRECTORY\program.

If not using default install path, you may have to add the path to the executable in your nuxeo.conf:

jod.office.home=/path/to/libreoffice

Non-latin languages configuration

If you'll be working with non-latin languages:

  1. Start LibreOffice manually.
  2. Install the additional fonts you may need for non-default languages.

pdftohtml

  1. Install the poppler binary (available from this blogpost).
    Old pdftohtml binaries are available from http://sourceforge.net/projects/pdftohtml/files/, but they are obsolete. It is recommended to use poppler.
  2. Copy the path to the bin folder inside Poppler's installation directory (e.g. C:\Program Files (x86)\Poppler\bin) and add it to the PATH system variable.

    1. Open File Explorer, right-click on "This PC" and click on Properties.

    2. On the System pane select Advanced system settings.

    3. On the Advanced tab, click Environment Variables... and edit the PATH system variable to add the path you copied (use a ; to separate values).

ImageMagick

ImageMagick is used in association with Ghostscript to generate the document thumbnails. It is also used by the Nuxeo DAM add-on for the preview and tiling of pictures.

Installing ImageMagick

ImageMagick is installed by the Nuxeo Platform Windows installer (.exe), but here are the steps to install it manually in case you used the .ZIP distribution.

  1. Download the ImageMagick installer from http://www.imagemagick.org/.
  2. Run the installer and make sure you check the option to add ImageMagick to the PATH.

    Some versions of Windows come with a System utility command named convert whose name conflicts with the ImageMagick's command of the same name See the ImageMagick Note above.

Controlling ImageMagick Multi-Threads

By default ImageMagick is multi threaded and will use all the available CPUs. This creates burst of CPU usage, especially when thumbnail is generated concurrently.

Hopefully you can control the number of threads used by ImageMagick either by:

  • Editing /etc/ImageMagick/policy.xml and setting <policy domain="resource" name="thread" value="1"/>.
  • adding an environment variable export MAGICK_THREAD_LIMIT=1 in the nuxeo user .bash_profile.

Ghostscript

Ghostscript is used in association with ImageMagick to generate the thumbnails of documents.

  1. Use the installer available from the Ghostscript download page.
  2. Copy the path to the bin folder inside Ghostscript's installation directory (e.g. C:\Program Files\gs\gs9.20\bin) and add it to the PATH system variable.

    1. Open File Explorer, right-click on "This PC" and click on Properties.

    2. On the System pane select Advanced system settings.

    3. On the Advanced tab, click Environment Variables... and edit the PATH system variable to add the path you copied (use a ; to separate values).

FFmpeg

FFmpeg is required by the Nuxeo DAM addon. It is used to create the storyboard of videos and convert them to additional formats.

  1. Download FFmpeg from https://ffmpeg.org/download.html.
  2. Extract the FFmpeg archive into a new folder, named C:\Program Files\FFmpeg for instance.

    The archives provided by this website should be decompressed with: 7-Zip

  3. Copy the path to the bin folder inside FFmpeg's directory (e.g. C:\Program Files\FFmpeg\bin) and add it to the PATH system variable. This can be done by:

    1. Open File Explorer, right-click on "This PC" and click on Properties.

    2. On the System pane select Advanced system settings.

    3. On the Advanced tab, click Environment Variables... and edit the PATH system variable to add the path you copied (use a ; to separate values).

UFRaw

UFRaw is used in association with ImageMagick and Ghostscript to generate RAW document thumbnails.

  1. Download and install UFRaw from http://ufraw.sourceforge.net/Install.html#MS.
  2. Copy the path to the bin folder inside UFRaw's installation directory (e.g. C:\Program Files (x86)\UFRaw\bin) and add it to the PATH system variable.

    1. Open File Explorer, right-click on "This PC" and click on Properties.

    2. On the System pane select Advanced system settings.

    3. On the Advanced tab, click Environment Variables... and edit the PATH system variable to add the path you copied (use a ; to separate values).

Exiftool

Here are some quick installation steps to install Exiftool. Full installation steps are available at http://www.sno.phy.queensu.ca/~phil/exiftool/install.html.

To install Exiftool:

  1. Download the standalone distribution.
  2. Unzip the distribution to a folder, named C:\Program Files (x86)\exiftool for example.
  3. Copy the path to the exiftool folder and add it to the PATH environment variable.

    1. Open File Explorer, right-click on "This PC" and click on Properties.

    2. On the System pane select Advanced system settings.

    3. On the Advanced tab, click Environment Variables... and edit the PATH system variable to add the path you copied (use a ; to separate values).

  4. Rename the extracted .exe into exiftool.exe.

CCExtractor

CCExtractor is used to extract subtitles from videos.

  1. Download the windows binaries.
  2. Unzip the contents to a folder, for example C:\Program Files (x86)\CCExtractor. Copy the path to it and add it to the the PATH system variable.

    1. Open File Explorer, right-click on "This PC" and click on Properties.

    2. On the System pane select Advanced system settings.

    3. On the Advanced tab, click Environment Variables... and edit the PATH system variable to add the path you copied (use a ; to separate values).

  3. Rename ccextractorwin.exe to ccextractor.exe.