Documentation

gitHub

Model Hub prerequisites

Please verify that each requirement below is fulfilled BEFORE you proceed with the deployment detailed in the following pages.

Hackolade Studio

The Model Hub is a model-driven metadata management collaboration platform.  While you can use Studio without the Hub, the reverse is not possible.  You must have Hackolade Studio to create and maintain data models. Each user must either validate a license key, or reuse a key already validated in their Studio instance.  

 

Hackolade Model Hub license add-on

You must have purchased a subscription for the Model Hub for your users so they can access the portal.  

 

Git repository provider

Your Git repository (or repositories) is (are) the single source-of-truth for your data models.  Your data models must be stored with one of the supported Git repository providers, so your organization must have an account with one of the following: GitHub (web or on-prem), GitLab (web or on-prem), Bitbucket (Cloud or Data Center), or Azure DevOps Repos.  

 

Provide domain name and sub-domain to Hackolade Helpdesk

Model Hub and Studio in the browser will be running on your domain.  For security purposes we need to configure domain locking and parameters.  Send an email to support@hackolade.com, specifying domain name and subdomain, for example hck.example.com

 

Our Helpdesk will confirm when the proper configuration has taken place, and will also provide the Model Hub license key for the instance.

 

 

System requirements

Software requirements

The Hackolade Model Hub can run on any system that supports Docker. Ideally, it should run on a Linux platform where Docker can run natively.  You must be able to run Docker Engine and Docker Compose (or an equivalent container runtime.) 

 

Hardware requirements

Model Hub runs on two components: a Node.js server that serves the frontend assets and handles API calls, and database migration tools that ensure your database has the correct schema.

 

In terms of CPU, the backend is single-threaded, but it is, in theory, possible to scale it horizontally to use as many CPUs as available. The more CPUs, the more it can handle load pressure and the synchronization of repositories with multiple files. It is possible to start with at least 4 CPUs and scale up when necessary.

 

As for memory, Model Hub is as memory-hungry as the models it ingests. (TBD: build a grid that could serve as a reference)

 

For the disk, Model Hub doesn't store much data on the disk, as it uses a database to store most of it. You need enough disk space to store Docker images locally and for Docker to function correctly. You can start with a small server with 50GB of disk space and go up if it needs more.

 

Finally, Model Hub needs a fast network connection. On top of that, Model Hub has the following network requirements

  • Inbound HTTP(S) to the Model Hub (default port 3000, or via your reverse proxy) for users
  • Outbound HTTPS to from the Model Hub to your Git provider (to fetch and sync models)
  • Outbound HTTPS to hackolade.com, plus quicklicensemanager.com and qlmdr.com for licensing, and DockerHub to pull images.
  • connectivity from the Model Hub to your database host and port

 

Database requirements

Important: the Model Hub requires a database hosted and managed by the customer, whether deployed on-premises, in a public or private cloud environment, or as part of a hybrid infrastructure. The customer is solely responsible for procuring, licensing, configuring, operating, and maintaining the required database. Any database license fees or related infrastructure costs are excluded from the Model Hub pricing.

 

The database can be self-standing (installed on a host) or packaged as a container image.

 

The data models maintained in the customer’s Git repository must be replicated to the Model Hub database.

 

Model Hub stores most of its application data in a relational SQL database and currently supports:

  • PostgreSQL 18 or later
  • Oracle Database 23ai or 26ai

 

Customers should select the supported database platform that best aligns with their operational, maintenance, and configuration requirements, as well as with any applicable internal standards or organizational policies.

 

When configuring the database, you will need to create an empty database schema and a user with the following permissions: create, alter, and delete any tables in its schema, as well as read and write permissions on all tables.  Further details are provide in the following pages.