Deployment

Overview

io.Manager can be deployed on-premise and can run inside your organization network.

The deployment consists of the following:

  • io.Manager Server - a Node.js app, the actual server;
  • io.Manager Admin UI - a React app that allows managing the data stored in io.Manager;
  • MongoDB database;

io.Manager can be deployed using a basic or an advanced deployment scenario from the template repository in GitHub. The repository provides configurations for development and production environments.

⚠️ Note that it's highly recommended to use the template repository approach for deploying io.Manager.

io.Manager is also provided as a set of NPM packages exposing the io.Manager Server and Admin UI as modules. The modules provide extension points for different customizations like authentication and storage. The NPM packages are hosted in a private NPM repository. To obtain access, contact us.

Template Repository

The template repository is a template for building and deploying io.Manager to your own infrastructure. It provides a Docker Compose configuration for local development and testing, as well as Kubernetes configurations for deployment to a production environment. This is the recommended approach for deploying io.Manager.

The template repository offers a basic and an advanced deployment scenarios:

  • The basic scenario uses already built docker images for deployment. It's possible to customize the deployment to a certain extent by registering environment variables that will provide configuration settings for io.Manager. This includes configuration for the supported databases and authentication mechanisms.

  • The advanced scenario uses internally the NPM packages and offers a project template that you can customize to a much greater extent. Use the advanced deployment scenario if you need to integrate io.Manager with a non-standard or proprietary storage solution, a custom unsupported authentication mechanism, or if you want to extend its functionality and customize the Admin UI.

Follow the instructions in the README file to build and deploy io.Manager.

NPM Packages

⚠️ Note that it's possible to use the NPM packages exposing the io.Manager Server and Admin UI directly, but it's highly recommended to use the template repository approach for deploying io.Manager.

Access

The NPM packages exposing io.Manager and the Admin UI are hosted in a private NPM repository. To obtain access, contact us.

Environment Setup

Generate an .npmrc file that will contain the authentication information for connecting to the private NPM repository. Make sure to exclude this file from your source control system.

To generate an .npmrc file:

  • Login to JFROG.
  • Expand the menu in top right.
  • Click "Setup".
  • Select "NPM".
  • From the dropdown menu select _default-npm-virtual_.
  • Copy the snippet.
  • Create an .npmrc file with the copied contents.

MongoDB

io.Manager uses MongoDB as a default database. You must have a running MongoDB instance.

For details about the supported databases and how to use them with io.Manager, see the Databases section.

Now you can begin using the packages and start the server locally.

Examples

See also the following examples on GitHub demonstrating how to run io.Manager with various supported authentication mechanisms: