Nuxeo Server

Setup Best Practices

Updated: November 13, 2017 Page Information Edit on GitHub

This page is scheduled for review and update. Check back soon for updated content!

Nuxeo applications come as ready-to-use applications, that you can quickly install and evaluate. However, if you plan to go in production, have several Nuxeo applications on the same machine or do some performance tests, here are some changes of configuration that we recommend to do, especially for advanced testing or before going into production.

The steps given below are given using the Admin tab. They can of course also be done by editing the nuxeo.conf file manually.

Global Recommendation

Nuxeo is designed by and for customization and extensibility: it is never required to edit a Nuxeo file, thus it should never be done. Following that principle will greatly ease the maintenance.

You must never edit the content of the server but use the configuration properties, the configuration templates and the contributions.

Moving Configuration, data and log Directories Outside Nuxeo

The configuration of your application is saved in the nuxeo.conf configuration file, whatever the means you use to configure your application (manual edit, Startup Wizard or Admin tab). It is better, although not mandatory, to store your customized configuration outside the Nuxeo Platform. This way, you will be able to easily upgrade the Nuxeo Platform, keeping your configuration safely apart of Nuxeo directory.

To move the configuration file outside the Nuxeo directory:

  1. Move the nuxeo.conf file from its default location.
  2. After you moved nuxeo.conf, you need to define its location as an environment variable.

By default, data and log directories are stored inside the Nuxeo tree. To ease backup and upgrades, it is highly recommended to move them outside the Nuxeo tree.

To move the data and log directories:

  1. In the Admin tab System Information > Setup tab, type the path to the location where you want the directories to be stored (see the table below).
  2. Click on Save.
  3. Restart your server. The data and log directories are created at the location you typed.

Data and log directories configuration

Field / Property Description
Data directory nuxeo.data.dir Data directory (absolute or relative to NUXEO_HOME). It involves all data not being stored in the database. Linux recommended path: /var/lib/nuxeo/...
Log directory nuxeo.log.dir Log directory (absolute or relative to NUXEO_HOME). Linux recommended path: /var/log/nuxeo/...

Defining Environment Variables

When the server starts, it guesses where the Nuxeo home directory and the Nuxeo configuration file (nuxeo.conf) are located. If it doesn't find it or if you want to force it to use a specific home directory and/or a specific configuration file, you can define their location as environment variables.

NUXEO_HOME

Here is how Nuxeo home is guessed when the server starts: If NUXEO_HOME is not set, then we use the parent of the directory nuxeoctl is launched from.

Setting the Nuxeo home directory as an environment variable is recommended in the following cases:

  • if you installed several Nuxeo applications on the same machine (for evaluation or production purpose),
  • if you want to use other scripts than the $NUXEO_HOME/bin/nuxeoctl script (such as a service in /ect/init.d).

You must then set NUXEO_HOME=/path/to/nuxeo/ in the system environment variables:

  • Windows users must write "set NUXEO_HOME=..." or use the control panel interface to define user environment parameters (like it's done for %PATH%).
  • Linux and Mac OS X users will write "export NUXEO_HOME=...." in ~/.bashrc or ~/.profile.

NUXEO_CONF

You need to set the location of the nuxeo.conf file as an environment variable if you moved your configuration outside of the Nuxeo directory.

Moving the data and configuration outside the Nuxeo directory is recommended in a production environment because it makes upgrades easier and more secured: Your data and configuration won't risk to be overridden or lost. You must then set NUXEO_CONF=/path/to/nuxeo.conf in the system environment variables.

Windows Specific Case

Under Windows, the location of the nuxeo.conf is defined by that order of priority (i.e. first one of those found is used):

  • Registry key HKEY_LOCAL_MACHINE\SOFTWARE\%PRODNAME%\ConfigFile with %PRODNAME% equals to "Nuxeo" (or in older versions, "Nuxeo CAP", "Nuxeo DM", "Nuxeo DAM", ...),
  • Environment variable NUXEO_CONF,
  • "nuxeo.conf" file in the working directory,
  • "nuxeo.conf" file on the Desktop,
  • "nuxeo.conf" file in the same location as nuxeoctl.bat.

Changing the Default Embedded Database

The Nuxeo Platform provides a default embedded database for testing and evaluation purpose, called Derby. However, it is not adapted for a production environment (see the H2 limitations page).

Before going live, you should configure one of the production-safe database supported by the Nuxeo Platform. See the Database section of this documentation.

 


5 days ago manonlumeau Added content-review-lts2017 label
a month ago manonlumeau NXDOC-1346-FT review screenshot
a year ago Solen Guitter 33
a year ago Solen Guitter 32 | Make info panel a section of the page
a year ago Alain Escaffre 31
a year ago Alain Escaffre 30
a year ago Alain Escaffre 29
a year ago Julien Carsique 28
2 years ago Solen Guitter 27
2 years ago Solen Guitter 26
2 years ago Manon Lumeau 25
2 years ago Alain Escaffre 24
2 years ago Alain Escaffre 23
2 years ago Alain Escaffre 22
3 years ago Solen Guitter 21
4 years ago Solen Guitter 20
4 years ago Solen Guitter 19
4 years ago Solen Guitter 18 | Added some links and removed obsolete information
4 years ago Solen Guitter 17 | Added section about production-safe databases
4 years ago Solen Guitter 16
4 years ago Solen Guitter 15
6 years ago Florent Guillaume 13
6 years ago Florent Guillaume 14 | Migrated to Confluence 4.0
6 years ago Florent Guillaume 12
6 years ago Florent Guillaume 11
6 years ago Solen Guitter 10
6 years ago Solen Guitter 9
6 years ago Thierry Martins 8
7 years ago Solen Guitter 7 | added steps to move conf, data and logs
7 years ago Solen Guitter 6 | added environment variables definition steps
7 years ago Florent Guillaume 5 | fix data vs log confusion
7 years ago Solen Guitter 4
7 years ago Solen Guitter 3
7 years ago Julien Carsique 2
7 years ago Solen Guitter 1
History: Created by Solen Guitter