Server

Installing and Setting Up Related Software

Updated: September 26, 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 >= 7.1.0): 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 are using Picture, Video or Audio document types, 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.

Installing on Linux

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

sudo apt-get install 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 FFmpeg section for more information.

LibreOffice Configuration

Minimum required version

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

Installation location and Path configuration

You need to add the path to soffice program to your path: Edit the PATH environment variable and add :OFFICE_INSTALL_DIRECTORY/program.

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.io
cd /tmp
git clone https://github.com/nuxeo/nuxeo-tools-docker.git
cd nuxeo-tools-docker/ccextractor
sudo ./build-package.sh

Installing on 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 7.1.0. The path to 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

You need to add the path to soffice program to your path: Edit the PATH environment variable and add :OFFICE_INSTALL_DIRECTORY/program.

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 for the preview 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 for the Video document type. It is used to create the storyboard of videos and convert them to additional formats.

To install FFmpeg using Homebrew:

brew install ffmpeg

Since recent versions, FFmpeg for brew does not allow anymore installing third-party libraries for fine tuning of the compilation/installation of FFmpeg. Please, see the FFmpeg documentation for alternatives. This will be required, for example, if you prefer to install a library like fdk-aac, instead of the internal aac encoder.

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 addon. 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

Installing on Windows

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 7.1.0. The path to 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

You need to add the path to soffice program to your path: Edit the Path system variable and add ;OFFICE_INSTALL_DIRECTORY\program.

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 panel 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 for the preview of pictures.

Installing ImageMagick

  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 below. 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 panel 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).

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 by setting a system environment variable MAGICK_THREAD_LIMIT=1.

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 panel 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 for the Video document type. 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 panel 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 panel 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 panel 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 panel 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.