DataMind Installer

The DataMind Installer is a self-hosted control plane. It installs and manages a complete DataMind OS deployment on a server you own, and it runs on that same server. It is not an application that end users sign in to: it is the component a system administrator uses to put the platform on the machine and keep it there.

It ships as one container serving both the API and the browser UI, plus a PostgreSQL container for its own state.

What it deploys

The Installer does not contain the DataMind OS stack. It fetches that stack and then starts it on the host:

  1. It downloads the stack's docker-compose.yml and its environment schema from Azure Blob Storage into its deployment/ directory.
  2. It resolves the service list from that schema, pulls every service image from Azure Container Registry (unistream.azurecr.io), and writes the stack's .env from the configuration values it holds.
  3. It runs docker compose up -d against that compose file, through the host's Docker socket.
PieceWhat it isWhere it runs
DataMind Installer API and UIOne container: NestJS API plus the served single-page appbackend service of the Installer's own compose project
Installer databasePostgreSQL 16, holding users, configuration values, jobs and the deployment audit trailpostgres service, pgdata volume
Installer database migrationsA one-shot container that runs TypeORM migrations and exitsbackend-init service
DataMind OS stackThe product itself: its own compose project with its own containers, volumes and portsStarted by the Installer on the same host
Shared networkThe external unistream Docker network, joined by both the Installer and the DataMind OS stackCreated once on the host, owned by neither compose project

Where it runs

Warning

Driving the Docker socket is equivalent to root on the server. An Installer sign-in can start and stop the whole deployment, edit the deployment configuration, and run the host migration that retires legacy systemd services with --privileged --pid=host. Treat Installer accounts the way you treat sudo on the host. Who should have access covers the access model.

What the administrator can do

All of the following is done from the Installer UI, on one host, against one deployment.

TaskWhereWhat actually happens
Deploy the DataMind OS stackStatus screen, first runDownloads the compose file and environment schema, pulls every image, then runs docker compose up -d
Watch the installationStatus screenLive per-service pull progress in bytes and layers, then live compose output, then container health
Configure the deploymentConfiguration screenEdits grouped environment values and regenerates the stack's .env; secrets are masked for non-admins
Apply configuration changesConfiguration screenRecreates only the affected services, in dependency order, waiting on each tier's health check
Start, stop, restart or kill servicesStatus screenRuns docker compose up -d, stop, restart --no-deps or kill, targeted at the services or groups you choose
Check for and apply updatesStatus screenCompares each service image's local digest with the registry, then runs a full deploy
ObserveStatus screenContainer health and uptime, per-service logs, full job logs, and the deployment audit trail of every action with its acting user
Manage usersRegister User screenCreate accounts, disable them, change their role, delete them
Update the Installer itselfStatus screen, version controlPulls a newer Installer image and replaces its own container with a rollback path
Migrate a legacy hostStatus screen, setup chooserRuns the bare-metal retirement script inside the host's namespaces, then imports configuration from the legacy Jenkins config.xml

Who this is for

System administrators who hold root or sudo on the server where DataMind OS will run, and who are comfortable with Docker, Docker Compose and reading container logs.

You do not need Node.js, a package manager, or a build toolchain on the host: the Installer is delivered as container images and is driven from a browser. Node.js and pnpm are needed only if you build the Installer image yourself from its repository.

Getting started

PageWhat it covers
RequirementsHost operating system, Docker and Compose versions, and the outbound network and registry access the Installer needs
Prepare the hostCreating the unistream network, the directories and volumes, the ports to free, and registry access
InstallObtaining the compose files, preparing .env, the order of operations, and how to confirm success
First loginWhere the UI is served, how the first administrator account is created, and session lifetimes
Post-install checklistThe checks to complete before you hand the deployment to its owners