This section presents information about the running environment for a Nuxeo server. Listing all required software, giving a recommended configuration and listing some others, known as operational, this sections aims at helping you to validate or define your production environment but the list is not exhaustive and needs to be completed with the users' experience.
Outline of this document:
Nuxeo EP can run on Linux, Mac OS X and Windows operating systems.
All you need for a quick start is:
- Java Development Kit (JDK) (a JRE is not enough)
Nuxeo EP is fully based on Java. This means that Nuxeo can easily be deployed on any platform with a Java Software Development Kit (SDK).
It is required to use either Java 1.5 (also called Java 5) or Java 1.6 (also called Java 6). Java 6 is the preferred version, if you have the choice.
- Java EE server with EJB 3 support enabled, or simple servlet container.
Nuxeo packages include either JBoss, Tomcat or Jetty.
Check your Java version
For Windows users
For Linux users
On a modern Linux distribution, you can now install Sun Java 6 with the packaging system of your distribution (using rpm, apt, yum, etc.).
If the JDK from Sun is not available for your OS, you can still download it from Sun website.
For Mac OS users
An appropriate version of Java should already be installed on your computer if you are using either Mac OS X Leopard (Java 5) or Snow Leopard (Java 6).
Nuxeo is designed to be scalable and thus to be deployed on many servers. It can be installed on only one server for a start, and can also easily be installed on many servers. The constant is that there is the need to have one modern server with good performances. Then the other servers can be more lower-end.
So the numbers below are given for the one needed high-end server.
- RAM: 2Gb is the minimum requirement for using Nuxeo
- CPU: Intel Core2 or equivalent and better
You might be better avoid machines from the Intel Pentium 4 Xeon series since some models have a too small amount of cache. This impairs performance greatly compared to other CPU architecture of the same generation. Intel Pentium 4 servers are quite widespread because of an attractive price politic.
- Storage (disk) space: the minimum Nuxeo installation, along with the needed JBoss and libs, takes something between 200Mb and 250Mb on a filesystem. Then the final size will of course depend on the amount of data that will be stored in Nuxeo. A safe bet (until we provide better numbers) is to consider data space ratio of 1.5Gb to 2Gb.
The default persistence configuration is lightweight and easy to use, but it is not made for performance.
Nuxeo 5.3 uses:
- H2 for SQL Data (directories, JBPM, Relations ...)
- FileSystem persistence with VCS for Document repository
For optimal performances
- Linux 64 bits.
- PostgreSQL 8.4
Use PostgreSQL for document repository and all other services.
With Nuxeo 5.1/5.2, configure the document repository to externalize the blobs to filesystem.
Known working configurations
- Debian GNU/Linux 5.0 Lenny
- Linux Ubuntu 32 and 64 bits: Edgy Eft (6.10), Feisty Fawn (7.04), Gutsy Gibon (7.10), Hardy Heron (8.04 LTS), Intrepid Ibex (8.10), Jaunty Jackalope (9.04), Karmic Koala (9.10), Lucid Lynx (10.04 LTS).
- Linux Mandriva 2008.1
- Mac OS X Tiger (10.4), Leopard (10.5), Snow Leopard (10.6)
- Ms Windows 2000, Windows 2003 server 32 and 64 bits, Windows XP, Windows 7
- Sun JDK 1.5
- Sun JDK 6 (recommended)
Different backends may be set as well for Nuxeo Core repository as for all other Nuxeo services that persist data. Here is a list of known working backends:
- PostgreSQL 8.2, 8.3 and 8.4
- MySQL 5
- Oracle 10
- MsSQL 2005
- HSQL (this is default Nuxeo 5.1 embedded database).
- Derby (this is the default Nuxeo 5.2 embedded database).
- H2 (this is the default Nuxeo 5.3 embedded database).
- MS Active Directory