Server

Connecting Nuxeo to the Database

Updated: April 17, 2025

To connect Nuxeo to a database, you need to:

  1. Enable this database in Nuxeo.
  2. Configure the database connection parameters.

Enabling Database in Nuxeo

First of all, please make sure you've read the documentation about Configuration Templates.

By default, the default template is enabled on your Nuxeo server. This is the default Nuxeo configuration using an embedded H2 database. It is designed for development or test purpose. Do not use this in production or for performance evaluations.

Depending on the database you want to enable, you need to either:

MongoDB

To enable the MongoDB database, in the nuxeo.conf file, uncomment or edit the nuxeo.templates parameter and replace default with mongodb.

When using the mongodb template, the MongoDB Java drivers are included in the Nuxeo server. They are located in the $NUXEO_HOME/lib/ directory. However, if needed, you can use another version from the MongoDB Java Drivers site.

You can use a later driver with an earlier database version, see the MongoDB Compatibility documentation.

See the page MongoDB for more information on the database configuration.

PostgreSQL

To enable the PostgreSQL database, in the nuxeo.conf file, uncomment or edit the nuxeo.templates parameter and replace default with postgresql.

When using the postgresql template, the PostgreSQL JDBC driver is included in the Nuxeo server. It is located in the $NUXEO_HOME/lib/ directory. However, if needed, you can use another version from the PostgreSQL JDBC Driver site.

You can use a later driver with an earlier database version, for instance the 42.7 driver still works with PostgreSQL 8.2 and higher.

See the page PostgreSQL for more information on the database configuration.

MySQL

To enable the MySQL database, install the nuxeo-mysql-package package. This adds the mysql template to the nuxeo.templates parameter in the nuxeo.conf file.

When installing the nuxeo-mysql-package package, the MySQL JDBC driver is included in the Nuxeo server. It is located in the $NUXEO_HOME/lib/ directory. However, if needed, you can use another version from the MySQL Community Downloads site.

We recommend using a near-infinite wait_timeout in the MySQL server configuration. See the page MySQL for more information on the database configuration.

MariaDB

To enable the MariaDB database, install the nuxeo-mariadb-package package. This adds the mariadb template to the nuxeo.templates parameter in the nuxeo.conf file.

When installing the nuxeo-mariadb-package package, the MariaDB JDBC driver is included in the Nuxeo server. It is located in the $NUXEO_HOME/lib/ directory. However, if needed, you can use another version from the MariaDB Connector/J site.

See the page MariaDB for more information on the database configuration.

Oracle

To enable the Oracle database, install the nuxeo-oracle-package package. This adds the oracle template to the nuxeo.templates parameter in the nuxeo.conf file.

When installing the nuxeo-oracle-package package, the Oracle JDBC driver is not included in the Nuxeo server. This is for legal reasons. To install it, download the appropriate driver from the Oracle Database JDBC driver and Companion Jars Downloads site and place it in the $NUXEO_HOME/lib/ directory.

See the page Oracle for more information on the database configuration.

Microsoft SQL Server

To enable the Microsoft SQL Server database, install the nuxeo-mssql-package package. This adds the mssql template to the nuxeo.templates parameter in the nuxeo.conf file.

When installing the nuxeo-mssql-package package, the Microsoft SQL Server JDBC Driver is included in the Nuxeo server. It is located in the $NUXEO_HOME/lib/ directory. However, if needed, you can use another version from the Microsoft JDBC Driver for SQL Server site.

See the page Microsoft SQL Server for more information on the database configuration.

Configuring Database Connection Parameters

In the nuxeo.conf file, depending on your Database choice, you have to uncomment or edit the parameters below and provide their values:

  • nuxeo.mongodb.server
  • nuxeo.mongodb.dbname

SQL Database

  • nuxeo.db.name
  • nuxeo.db.user
  • nuxeo.db.password
  • nuxeo.db.host
  • nuxeo.db.port

For production or load testing environments
These are the minimum required parameters to enable the Nuxeo server to communicate with the database. For a production or load testing environment, you may need to provide the other commented parameters.