Docs/Infohub (Flow)/Installing Infohub Beyond the Wizard
Infohub (Flow)How-to

Installing Infohub Beyond the Wizard

Silent MSI installation, the Linux Bootstrap daemon from the TAR, the Docker Hub images, and pointing the Bootstrap at SQL authentication.

Updated 15 Oct 2026Infohub Docs

Installing Infohub covers the ordinary case: run the installer on a Windows server and work through the wizard. This article covers the four situations where that is not what you need — unattended installation, Linux, containers, and a database the service account cannot reach.

Downloads#

Package For Download
Windows installer Windows x64, silent or interactive Flow 7.2.0835.880.msi
Linux archive, x64 The Bootstrap daemon on Linux x64, Chromium included FlowBootstrap_7.2.0835.880.tar
Linux archive, ARM64 The Bootstrap daemon on Linux ARM64, no Chromium FlowBootstrap_7.2.0835.880_arm.tar
Docker images x64 and ARM64, with and without Chromium flowsoftwareinc on Docker Hub

Every package is the same release, 7.2.0835.880. Which Linux archive and which image to take is set out in the sections below.

Installing silently#

The Infohub installer is an MSI, so the standard msiexec switches apply and installation can be scripted or pushed by a deployment tool:

msiexec /i "<path-to-installer>.msi" /quiet /qn /norestart
Switch Effect
/i Install (as opposed to repair or uninstall)
/quiet /qn No user interface at all
/norestart Do not reboot the machine when finished

Everything installs with its default options, because there is no interface to choose anything else. That is the point, and it is also the constraint: a silent install is the right tool for rolling the same standard build onto many machines, and the wrong one for a server that needs non-default choices.

The same command upgrades an existing installation.

Tip

Check the exit code, because there is no other feedback. A silent install reports nothing. msiexec returns 0 on success and 3010 when it succeeded but wants a reboot — which is what /norestart produces. Any other value is a failure that will otherwise go unnoticed until somebody tries to use the machine.

Running the Bootstrap on Linux#

Infohub's Linux distribution is the Bootstrap daemon, published per release as two TAR archives next to the Windows MSI:

Archive Architecture Size Bundled Chromium
FlowBootstrap_<version>.tar x64 about 480 MB Yes — Utilities/chrome-linux
FlowBootstrap_<version>_arm.tar ARM64 about 25 MB No

What runs on Linux is the Bootstrap and everything it hosts — the Platform, the engines, the Flow Server and the Data Source Host. Those components are not in the TAR: when a platform is deployed, Bootstrap extracts them from the packages stored in the instance database, so a Linux host always runs the component versions the database holds. Flow Config and the installer remain Windows-only, so you still configure and deploy from a Windows workstation — see Supported Platforms.

Installing the daemon#

Verified on Ubuntu 24.04, x64 and ARM64. The only runtime prerequisite is the ASP.NET Core 8 runtime:

sudo apt-get update && sudo apt-get install -y aspnetcore-runtime-8.0
sudo mkdir -p /media/Flow "/var/lib/Flow Software" "/usr/share/Flow Software"
sudo tar -xf FlowBootstrap_<version>.tar -C /media/Flow
sudo cp /media/Flow/FlowBootstrap.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now FlowBootstrap

The unit file that ships in the archive is:

[Unit]
Description=Flow Bootstrap console application

[Service]
Type=notify
ExecStart="/media/Flow/Flow Bootstrap Daemon"

[Install]
WantedBy=multi-user.target
  • /media/Flow is where the unit's ExecStart expects the daemon. Install elsewhere if you prefer, but change both.
  • /var/lib/Flow Software/Flow/Bootstrap is Bootstrap's state: its registrations (Platforms.settings) and the components it extracts for each instance. Keep it across upgrades and include it in backups.
  • The daemon listens on port 4501 by default, the same -port argument as on Windows — see Host Configuration Files.
  • journalctl -u FlowBootstrap shows Bootstrap service started once it is up.

Then register the instance from Flow Config: in the Deployment view, give the Platform the Linux machine's host name and deploy it, or script it with --register-with-bootstrap. Bootstrap connects to SQL Server from the Linux host, and there is no Windows authentication there — enter a SQL login in System properties first, as described below.

Rendering on Linux#

Infohub renders chart exports and message images with the Chromium bundled under Utilities/chrome-linux. It does not pick up a Chromium installed from apt. That bundled browser still needs the ordinary shared-library stack (GTK, X11, fonts, NSS); the quickest way to satisfy it is the apt-get install line in the Dockerfile that ships in the TAR, which is the list the Docker images are built from.

A host missing those libraries installs and starts perfectly well, and then fails only when something tries to render an image — a confusing failure to diagnose after the fact.

The ARM64 archive ships no browser, so on ARM64 chart image export and message images are not available: the Server answers an export request with Export is not available, and everything else works.

Upgrading a Linux host#

Upgrade the Windows side first, as in Upgrading to Flow 7.2.0. On the Linux host, stop the service, extract the new archive over /media/Flow, and start it again. The hosted components follow the packages in the database, not the files in the archive, so they update when the instance's packages do.

Running Infohub in Docker#

Infohub publishes the Bootstrap daemon as Docker images under flowsoftwareinc on Docker Hub, tagged with the build number of the matching MSI (for example 7.2.0835.880), with the release number (7.2.0) and as latest:

Image Architecture Chart and message rendering
flowsoftwareinc/flowbootstrap_server x64 Yes — Chromium bundled
flowsoftwareinc/flowbootstrap x64 No
flowsoftwareinc/flowbootstraparm_server ARM64 No — the ARM64 build carries no browser
flowsoftwareinc/flowbootstraparm ARM64 No

On x64 pick _server whenever the Flow Server will export charts or send messages with images; the plain image is about a gigabyte smaller and answers export requests with Export is not available.

docker run -d --name flow-bootstrap \
  -p 4501:4501 -p 8080:8080 \
  -e TZ=Africa/Johannesburg \
  -v flow-bootstrap-state:"/var/lib/Flow Software" \
  flowsoftwareinc/flowbootstrap_server:<version>
  • Publish port 4501 and the port of every Flow Server in the model — the components Bootstrap spawns inside the container listen there.
  • Set TZ to the site's time zone so the container's clock matches the host's.
  • Mount /var/lib/Flow Software as a volume. It holds the registrations and the extracted components, which otherwise vanish with the container.
  • SQL Server must be reachable from inside the container by the name in the registration. For a SQL Server on the Docker host itself, add --add-host <sql-host-name>:host-gateway.
Important

The Platform's host must be the container itself. Bootstrap only hosts a platform whose Host it recognises as its own machine. If the Platform's Host is the Docker host's name, the container does not resolve that name to itself, treats the platform as not local, and silently drops the registration — the deploy still reports success, and the only symptoms are that no components start and Platforms.settings in the state volume is [].

The Host also has to reach the container from Flow Config, which registers through it. Two arrangements satisfy both ends: set the Host to localhost when Flow Config runs on the Docker host, or start the container with --hostname set to the Docker host's DNS name and use that name as the Host — Flow Config resolves it to the Docker host and the published port, and inside the container the same name resolves to the container itself.

The images are built from the Dockerfile that ships inside the TAR, on Ubuntu 24.04 with the Chromium library stack installed, so you can build your own the same way. The 7.2.0 release archives pin the base to ubuntu:24.04; an archive from an earlier build says FROM ubuntu, which now resolves to a release without the aspnetcore-runtime-8.0 package and fails at apt-get. Pin that line if you build from one.

Important

Containers do not remove the deployment questions. Running the Bootstrap in a container does not change how Infohub finds its database, how platforms register, or which ports must be reachable. It changes how the process is packaged. Work through The Deployment View the same way you would on a Windows host.

When the service account cannot reach SQL#

By default the Bootstrap connects to the Infohub database using the credentials the service runs as — Windows authentication, which is the right answer on a domain where the service account can be granted access.

Sometimes it cannot be. A cloud-hosted SQL instance, a SQL container, a database behind a DMZ: in each case there is no domain account to grant. For those, point the Bootstrap at SQL authentication instead, in Flow Config under System → Properties.

This is a deliberate step down in security posture, so treat it accordingly: use an account scoped to the Infohub database alone rather than a server-wide one, and make sure the connection is encrypted — see HTTPS and Certificates.

Diagnosing#

Symptom Likely cause
Silent install appears to do nothing Check msiexec's exit code; 3010 means success pending a reboot
Linux daemon starts, then image export fails with Export is not available The bundled Chromium's shared libraries are missing, or this is the ARM64 build, which ships no browser
Container runs, registration reports success, but no components start The Platform's Host is not a name the container resolves to itself — use localhost or the container's --hostname
Bootstrap starts but cannot reach the database No usable SQL login — on Linux there is no Windows authentication, so enter a SQL login in System properties
Components cannot find each other after a container move Port 4501 or a Flow Server port is not published, or not consistent across components
Building your own image fails at apt-get A pre-release archive's Dockerfile says FROM ubuntu; pin it to ubuntu:24.04
esc
↑↓ navigate · ↵ open · ⌘K anywhere