Getting Started

Setting up Your Nuxeo Environment

Updated: April 10, 2024

This how-to is the first step of the tutorial Getting Started with the Nuxeo Platform, allowing you to explore the Nuxeo Platform through its REST API.
It provides instructions for installing and running a Nuxeo Platform instance using Docker or the ZIP package.

Docker

Installation

Follow the installation steps described in the Docker installation documentation page.

Setting up Environment

You now have a Nuxeo Platform instance ready to run. At this step, you need to install some addons, in particular the addon Getting started with the Nuxeo Platform.

The addon Getting started with the Nuxeo Platform will add some business logic and documents to your Nuxeo Platform instance, that we will leverage all through this tutorial.

PRIVATE IMAGE
You should contact your Nuxeo Administrator or Nuxeo sales representative to get access to this image.

  1. Log into docker-private.packages.nuxeo.com:

    $ docker login docker-private.packages.nuxeo.com -u <username> -p <token_pass_code>
    
  2. Install the addons required for this tutorial and start Nuxeo in development mode:

    Dev Mode
    Running Nuxeo in DEV MODE is insecure and not production-ready, and should only be used for local development purposes.

     $ docker run --name nuxeo \
       -e NUXEO_CLID="<NUXEO_CLID>" \
       -e NUXEO_DEV=true \
       -p 8080:8080 \
       -e NUXEO_PACKAGES="nuxeo-web-ui nuxeo-platform-getting-started" \
       docker-private.packages.nuxeo.com/nuxeo/nuxeo:2021
    

Your server is now running. You benefit from the features brought by the addon Getting started with the Nuxeo Platform.

Going further with Nuxeo Docker deployment

  • If you're not familiar with Docker images and containers, we recommend you to use the CTOP utility, which provides a concise and condensed overview of real-time metrics for multiple containers, with the ability to start, stop, delete and view logs for each container.
  • It is recommended to use Docker Compose to run Nuxeo with Docker: you can find an example in the Nuxeo Sandbox GitHub repository.
  • You can easily customize the Nuxeo Docker Image by building a Docker image from the Nuxeo one: read the Build a Custom Docker Image documentation page.

Universal ZIP Package

Contrarily to the Docker image, the universal ZIP package comes without the related software needed for this tutorial. Please install and set up related software before going to the next step.

You need to check the following items in order to install Nuxeo Platform LTS 2023:

  • Get a Nuxeo Online Services account. If not, please check the Nuxeo Download page and create a trial account.
  • Make sure you have a valid Nuxeo Connect token to register your instance. Please check the Token Management documentation page.

These steps are not required if you only pull the default Nuxeo Docker image.

Installation

  1. Unzip the ZIP distribution from Nuxeo Connect Distribution section.
  2. Register your Nuxeo instance on Nuxeo Online Services:

    # Linux and macOS
    $ ./$NUXEO_HOME/bin/nuxeoctl register
    
    # Windows
    $ .\$NUXEO_HOME\bin\nuxeoctl.bat register
    

    And follow the instructions displayed.

Setting up Environment

You now have a Nuxeo Platform instance ready to run. In this step, you need to install some addons, in particular the addon Getting started with the Nuxeo Platform.

The addon Getting started with the Nuxeo Platform will add some business logic and documents to your Nuxeo Platform instance which we will leverage throughout this tutorial.

To install a Nuxeo Package:

  1. Get the list of local Nuxeo addons.

    # Linux and macOS
    $ ./nuxeoctl mp-list
    
    # Windows
    $ .\nuxeoctl.bat mp-list
    

    You get a list of the local addons that have been downloaded.

  2. Install the addons required for this tutorial.

    # Linux and macOS
    $ ./nuxeoctl mp-install nuxeo-web-ui nuxeo-platform-getting-started
    
    # Windows
    $ .\nuxeoctl.bat mp-install nuxeo-web-ui nuxeo-platform-getting-started
    
  3. Validate the dependency resolution step.

    Dependency resolution:
      Installation order (2):        nuxeo-web-ui-3.0.2/nuxeo-platform-getting-started-2021.0.0
      Packages to download (2):      nuxeo-web-ui:3.0.2, nuxeo-platform-getting-started:2021.0.0
    
    Do you want to continue (yes/no)? [yes]
    
  4. Check that the Nuxeo addons were correctly installed.

    # Linux and macOS
    $ ./nuxeoctl mp-list
    [...]
    Local packages:
       addon     started    nuxeo-platform-getting-started (id: nuxeo-platform-getting-started-2021.0.0)
       addon     started    nuxeo-web-ui (id: nuxeo-web-ui-3.0.2)
    
    # Windows
    $ .\nuxeoctl.bat mp-list
    [...]
    Local packages:
       addon     started    nuxeo-platform-getting-started (id: nuxeo-platform-getting-started-2021.0.0)
       addon     started    nuxeo-web-ui (id: nuxeo-web-ui-3.0.2)
    

    The installed addons now have the status 'started'.

  5. Start the server.

    # Linux and macOS
    $ ./nuxeoctl start
    
    # Windows
    $ .\nuxeoctl.bat start
    

    Your server is now running with the addon Getting started with the Nuxeo Platform.

Content of the Getting Started Addon

Once installed, the addon brings the following document types:

  • The portfolio document type (BCPortfolio) holds the contracts of a customer. Its holds properties about the customer: the company name, industry and size, and the customer's juridical contact information.
  • The contract document type (BCContract) have several properties: an owner (an application user), some dates (signature, start, expiration dates), a type, an amount. It inherits customer information from its portfolio.
  • Some vocabularies are used to populate the portfolio and contract metadata (companySize, contractType and industry)
  • Contracts have a specific lifecycle, so they can evolve though the states draft, approval, running, renegociation and void
  • Some business logic through automation chains and event handlers make contracts inherit properties from its portfolio, and evolve following its lifecycle