SOLUTIONSARCHITECTUREABOUTFAQSUPPORTPARTNERSBLOGDOWNLOADCONTACT
FREN
Documentation Management Server

Install the Mili Management Server

The central console for your Mili fleet — onboarding, heartbeats, policies and the features that need it. Runs on macOS or Linux.

Overview

The Mili Management Server (the “console”) manages many Mili agents from one place: onboarding, heartbeats, policies and persona/guard-rail overlays, session review, and the inter-agent activity graph.

🖥️
macOS and Linux only. On macOS the console runs its own dedicated engine (a Colima profile named mili-mgmt) — Docker Desktop is not required. On Linux it uses the host’s Docker. Its engine is independent of an agent’s, so an agent and the console can share one Mac.

What the Management Server unlocks

Several agent features depend on the Management Server. Once an agent calls home to a console, these become available across your fleet:

🪪
Single sign-on (SSO)
Google Workspace, Microsoft Entra, Okta or generic OIDC — sign-in is brokered by the console (OAuth 2.1 + PKCE).
🔌
Inbound MCP server with OAuth
Expose an agent as an MCP server that other clients connect to, with OAuth authorization served by the console.
💬
Team chat bots
Connect the agent to Slack, Microsoft Teams and Telegram channels, managed centrally.
⚖️
Org-wide policies & overlays
Push governance policies and a read-only corporate persona / guard-rail block to every agent.
📇
Central fleet management
Contacts, memory, tasks, sessions and a full audit trail for every agent, from one dashboard.
📄
Microsoft Office add-in
Serve the Word add-in over HTTPS on port 443 when Office integration is enabled.
🛰️
Throughout this documentation, features that need the console are marked with a Requires Management Server badge.

Hardware requirements

The console is a lightweight Flask application plus a self-upgrade supervisor — far lighter than an agent.

ComponentMinimumRecommended
Operating systemmacOS 13+ · Linux x86-64 / arm64 (64-bit)
Memory (RAM)4 GB8 GB
CPU2 cores4 cores
Free disk20 GB40 GB
🧠
On macOS the console engine is provisioned 2 CPU / 4 GB / 20 GB by default — enough for a large fleet, and small enough to leave ~70% of a shared Mac free. Override with MGMT_ENGINE_CPUS, MGMT_ENGINE_MEMORY and MGMT_ENGINE_DISK.

Ports & network

Agents reach the console on port 8080. For production, front that port with TLS so call-home runs over HTTPS (see SSL below).

PortDirectionPurpose
8080InboundConsole dashboard, and the endpoint agents call home to (http://localhost:8080)
443Inbound (optional)Dedicated HTTPS for the Microsoft Office add-in — active only when Office integration is enabled and TLS is configured

Install the server

LinuxmacOS

Linux

Run as root. We strongly recommend generating a strong shared secret at install time:

# recommended — generate and set the fleet secret
$ MGMT_SECRET=$(openssl rand -hex 32) \
    bash -c "$(curl -fsSL https://www.mili.quebec/downloads/mgmt/install.sh)"

Or the plain one-liner (the installer mints a strong secret if you don’t supply one):

$ curl -fsSL https://www.mili.quebec/downloads/mgmt/install.sh | sudo bash

Installs to /opt/mili-mgmt and uses the host’s Docker.

macOS

Run without sudo (the console engine is per-user):

$ MGMT_SECRET=$(openssl rand -hex 32) \
    bash -c "$(curl -fsSL https://www.mili.quebec/downloads/mgmt/install.sh)"

Installs to /Users/<you>/mili-mgmt. The first start builds the mili-mgmt engine VM and takes a few minutes.

🌐
When the installer finishes, the console is running at http://localhost:8080.

The shared secret (MGMT_SECRET)

MGMT_SECRET is the fleet-wide key that every agent uses to authenticate its call-home. The installer prints it and persists it in .env (readable only by the owner). Keep it safe — agents you enrol from this console are keyed to it.

⚠️
The server refuses to start on a well-known placeholder secret. Always use a strong random value — openssl rand -hex 32. Anyone holding this secret can enrol agents into your fleet.
Agent enrollment: the fleet shared secret and the values agents need.
Agent enrollment: the fleet shared secret and the values agents need.

First sign-in

Open http://localhost:8080. On first run the console shows a setup wizard — create the administrator account (username defaults to admin, password at least 12 characters) and enrol a TOTP second factor. There is no hard-coded default password.

First run — create the console administrator account.
First run — create the console administrator account.

SSL / TLS

The console serves its dashboard on port 8080. For agents to call home over HTTPS in production, either enable TLS on the console (upload a certificate or let it generate a self-signed one) or terminate TLS at a reverse proxy in front of it — the console honours X-Forwarded-Proto.

SSL / TLS settings. Port 443 is used only for the Office add-in.
SSL / TLS settings. Port 443 is used only for the Office add-in.
🔒
Port 443 is a separate listener used only for the Microsoft Office (Word) add-in, and only when Office integration is enabled with a TLS certificate. It is not needed for normal agent management.

Enrol your agents

On each Mili agent, open Settings → Call Home and enter this console’s URL and the shared secret. Within a heartbeat interval the agent appears on the dashboard. See the agent guide → Connect to a server.

The dashboard lists every enrolled agent with its live status.
The dashboard lists every enrolled agent with its live status.

Troubleshooting

SymptomWhat to do
Server won’t start after installCheck .env holds a real MGMT_SECRET (not a placeholder). Regenerate with openssl rand -hex 32 and re-run.
macOS: “must run as the logged-in user”Re-run without sudo.
Agents don’t appear on the dashboardConfirm each agent’s Call Home URL and shared secret match this console, and that it can reach port 8080.

Data & backup

All runtime state — agent registrations, vault keys, encrypted secrets, conversations, memory and sessions — lives in a Docker named volume, mgmt_data. A re-install never wipes it. On macOS the volume lives inside the engine VM, so take a backup from Settings → Backup before removing the engine.