Help

Installation

PoC Requirements - Check - Latest

Updated 9 Nov 2026 6 min read

Version : v2026.10

Before installing, verify the server with monofor check. It is read-only — it changes nothing — and it reports everything the installation will insist on.

Changed in v2026.10. The monofor.sh -check shell script is gone. The checks now live in the monofor binary, and the installation itself re-runs them, so a server that passes check will not be stopped later by a surprise.

1. Get the tool

Run the bootstrap script without a code — it then only installs the binary at /usr/local/bin/monofor and stops:

curl -fsSL https://services.monofor.com/install/latest/install.sh | sudo bash

It verifies the download against the published SHA256SUMS before installing it.

To do it by hand instead:

cd /tmp
curl -fsSLO https://services.monofor.com/install/v2026.10/monofor-linux-amd64
curl -fsSLO https://services.monofor.com/install/v2026.10/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
sudo install -m 0755 monofor-linux-amd64 /usr/local/bin/monofor

Builds for macOS and Windows are published as well, so the check can be run from a workstation.

2. Run it as root

The check needs root privileges. Elevate first:

sudo su -

or prefix each command with sudo, which is what the examples below do.

3. Check the server

sudo monofor check

Example output:

   __  __                     __
  |  \/  | ___  _ __   ___   / _| ___  _ __
  | |\/| |/ _ \| '_ \ / _ \ | |_ / _ \| '__|
  | |  | | (_) | | | | (_) ||  _| (_) | |
  |_|  |_|\___/|_| |_|\___/ |_|  \___/|_|

  AI Security, Identity, Access, Privilege, Governance
  Installer v2026.10 (build 202610280904) · monofor.com
  ──────────────────────────────────────────────────────────

── Checking this server ──────────────────────────────────────
  ✓ Operating system     Debian GNU/Linux 13
  ✓ CPUs                 8
  ✓ Memory               16.8 GB
  ✓ Disk space           100.7 GB free on / (/var/lib/docker: Docker's images, volumes and containers)
  ✓ Docker               running (version 29.9.1)
  ✓ Docker Swarm         active (manager)
  ✓ Monofor repository   reachable
  ✓ Monofor downloads    reachable
  ✓ Monofor services     reachable
  Without a code: checked against a PoC's recommended size (8 CPUs, 16 GB memory, 100 GB free disk for Docker's data); the code's own values apply at install.

  ✓ This server is ready. Next step: monofor install

Disk space is measured on the disk that holds Docker’s data folder, /var/lib/docker, where the product images, containers and volumes go — on a server with a separate /var partition, that partition, not /. From installers newer than v2026.11 the line names the disk it measured (up to v2026.11 it measured /), for example Disk space 100.7 GB free on /var (/var/lib/docker: Docker’s images, volumes and containers), and a second Disk space line appears for /opt/monofor when that folder is on yet another disk. When that disk is too small and another disk has room, the check names it, for example → /data has 400.0 GB free: the install offers to keep Docker’s data there, or add --docker-data-root /data/docker.

4. Check the installation code as well

Add --code to validate the code and the DNS records of its domain. The check never uses the code up, so run it as often as you like:

sudo monofor check --code ABC123

The code report is one of three states:

State

Meaning

still free

Not used yet — it can be installed here

used by this server

This installation already owns it; re-running the install continues it

used by another installation

It cannot be installed on this server — ask for a new code

Example output on a server that already owns the code:

── Checking this server ──────────────────────────────────────
  ✓ Operating system     Debian GNU/Linux 13
  ✓ CPUs                 8
  ✓ Memory               16.8 GB
  ✓ Disk space           100.7 GB free on / (/var/lib/docker: Docker's images, volumes and containers)
  ✓ Docker               running (version 29.9.1)
  ✓ Docker Swarm         active (manager)
  ✓ Monofor repository   reachable
  ✓ Monofor downloads    reachable
  ✓ Monofor services     reachable
  ✓ Installation code    ABC123 · used by this server · poc example.com on docker,
                         Monosign v2026.10-hf01, tenant 2d8af8a6-…
      → (a re-run will continue the same installation)
  ✓ DNS records          all records found

  ✓ This server is ready. Next step: monofor install --code ABC123

Without --code, the DNS records are not checked — the installer does not yet know the domain. To check DNS without a code, name the domain yourself:

sudo monofor check --dns-name example.com

5. What the check covers

Item

What it verifies

If it fails

Operating system

Distribution and version against the supported list

Re-install the server with a supported OS

CPUs / Memory / Disk space

Against the PoC thresholds — 8 cores, 16 GB, 100 GB free on the disk that holds Docker’s data (/var/lib/docker)

Resize the server. On a VM, grow the disk before taking snapshots — most hypervisors refuse to extend a disk that has one

Docker

Docker Engine installed and running

Install it, or let the installer do it with --install-docker

Docker Swarm

Swarm state on this server

Nothing to do on a fresh server; the installer initializes it

Monofor repository

cr.monofor.com reachable — the container images

Open outbound TCP/443, check the proxy

Monofor downloads

The download store reachable — installation files

As above

Monofor services

Licensing and push services reachable

As above

Installation code

Valid, and free / owned by this server / owned by another installation

Ask your Monofor contact for a code

DNS records

Every product name of the code's domain resolves

Add the missing A records, or plan to install with --local-dns

The host firewall is not part of the check and does not need to be disabled — see PoC Requirements - Latest. The installer opens its own ports during installation.

6. When something fails

Failures are marked ✗ with the reason and a suggested fix, and the command exits non-zero — 4 when a check failed — so it can be used in a script.

  ✗ Installation code    the installation code is invalid or has expired — ask your Monofor
                         contact for a new one
      → Check the code with your Monofor contact. No internet here? Use: monofor check --offline
  Without a code: checked against a PoC's recommended size (8 CPUs, 16 GB memory, 100 GB free disk for Docker's data); the code's own values apply at install.

  ✗ 1 problem(s) found. Fix the items marked ✗ above, then run 'monofor check' again.

A code already consumed by a different installation reports as invalid or expired in this build; if you are confident the code was issued and never used here, confirm its state with your Monofor contact rather than assuming it expired.

7. Offline servers

On a server with no internet access, check the offline bundle instead of the network:

sudo monofor check --offline
sudo monofor check --offline /path/to/bundle.zip

This verifies the offline files and image archives and skips every network test.

8. Sharing the result

monofor check writes no report file. Capture the output and send it to your Sales Engineer:

sudo monofor check --code ABC123 2>&1 | tee /tmp/monofor-check.txt

Next step

When every item is ✓, continue with PoC Installation - Latest — or PoC Installation - Quick Start - Latest for the short version.

Permanent link