Installation and Administration

Installing and Setting Up Related Software

Updated: July 17, 2023

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: 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 metadata extraction: Exiftool
  • For picture preview and tilling: ImageMagick (already required for thumbnails)
  • For video conversion and storyboarding: FFmpeg (Nuxeo DAM add-on)
  • For processing WordPerfect documents: libwpd

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, all of this can be installed by the following command:

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

OpenOffice / LibreOffice Configuration

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

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

For preview to work, the Nuxeo Platform should start OpenOffice / LibreOffice. You can see the places the Nuxeo Platform looks for OpenOffice / LibreOffice in the PlatformUtils.java definition.

If you haven't installed them at a traditional location, you may 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.

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.

libfaac Support

Common issue with libfaac encoder

Unknown encoder 'libfaac'

Ubuntu does not supply FFmpeg with libfaac support. So you must compile FFmpeg from sources with --enable-libfaac option.

Either follow the instructions from the FFmpeg Compilation Guide for Ubuntu adding the --enable-libfaac and --enable-nonfree compile options.

Or run the Nuxeo script for compiling FFmpeg. You should build the FFmpeg executable on a separate machine than your Nuxeo Platform server machine, and then install the result on the machine where you set up Nuxeo Platform. 

Running the FFmpeg build script on the same machine than where you installed Nuxeo Platform would result in uninstalling existing Nuxeo already installed with the Debian package along with its data.

You can do it manually as follow, but the recommended way is to use our "in-docker-build": https://github.com/nuxeo/nuxeo-tools-docker/tree/release-7.10/ffmpeg.

For a  manual build:

  1. Install the multiverse package repositories (required for the script to work).
  2. Issue the following commands:

    cd /tmp
    git clone https://github.com/nuxeo/ffmpeg-nuxeo
    cd ffmpeg-nuxeo
    sudo ./build-all.sh true
    

OS X

The OS X installation instructions provided use Homebrew.

OpenOffice/LibreOffice and pdftohtml for Office and PDF Preview

Installing OpenOffice / 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.

pdftohtml

To install pdfttohtml using Homebrew:

brew install poppler

OpenOffice / LibreOffice

OpenOffice / LibreOffice are used for preview on office documents in association to pdftohtml.

Download and install them from:

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

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

For preview to work, the Nuxeo Platform should start OpenOffice / LibreOffice. You can see the places the Nuxeo Platform looks for OpenOffice / LibreOffice in the PlatformUtils.java definition.

If you haven't installed them at a traditional location, you may 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.

Ghostscript

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

  • Using Homebrew: 

    brew install ghostscript
    

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.

  • Using Homebrew:

    brew install 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: add export MAGICK_THREAD_LIMIT=1 in the nuxeo user .bash_profile.

FFmpeg

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

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

  • Using Homebrew:

    brew install ufraw  
    

libwpd

libwpd used to process WordPerfect documents.

 

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.

  • Using Homebrew: 

    brew install exiftool
    

Windows

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

  • FFmpeg
  • ImageMagick
  • pdftohtml
  • ghostscript
  • Exiftool (since 7.2).

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 ot the list, or the only one), then you must add the path to ImageMagick to the PATH System variable.

OpenOffice / LibreOffice and pdftohtml

Installing OpenOffice / 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.

pdftohtml

  1. Install the poppler binary (available from this blogpost).
  2. Add a system variable POPPLER_INSTALL_DIRECTORY that points to the folder where you extracted poppler files (C:\Program Files (x86)\Poppler for example).
  3. Edit the Path system variable and add ;POPPLER_INSTALL_DIRECTORY\bin.

    Old pdftohtml binaries are available from http://sourceforge.net/projects/pdftohtml/files/, but they are obsolete. It is recommended to use poppler.

OpenOffice / LibreOffice

OpenOffice / LibreOffice are used for preview on office documents in association to pdftohtml.

Download and install them from:

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

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

For preview to work, the Nuxeo Platform should start OpenOffice / LibreOffice. You can see the places the Nuxeo Platform looks for OpenOffice / LibreOffice in the PlatformUtils.java definition.

If you haven't installed them at a traditional location, you may 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.

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. Edit the PATH system variable and add ;GHOSTSCRIPT_INSTALL_DIRECTORY\bin (C:\Program Files\gs\gs9.10\bin for example).

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.

  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.

     

    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 IMAGEMAGIK_DIRECTORY/policy.xml on Windows, and setting <policy domain="resource" name="thread" value="1"/>.
    • adding an environment variable MAGICK_THREAD_LIMIT  with value set to 1.

FFmpeg

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

  1. Download FFmpeg from http://ffmpeg.zeranoe.com/builds/.
  2. Extract the FFmpeg archive into a new folder named C:\ffmpeg for instance.

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

  3. Add the FFmpeg environment variable:

    1. Right click on the "My Computer" icon and click on Properties.

    2. On the Advanced tab, edit the PATH system variable and add ;C:\ffmpeg\bin .

      Don't forget the semicolon at the end of existing values.

UFRaw

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

  1. Download UFRaw from http://ufraw.sourceforge.net/Install.html#MS.
  2. Edit the PATH system variable and add ;UFRAW_INSTALL_DIRECTORY\bin (C:\Program Files (x86)\UFRaw\bin for example).

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.
  3. Rename the .exe into exiftool.exe and move it to the C:\WINDOWS directory (or any other directory in your PATH).