Skip to content

Installation

Install NorFab¤

NorFab core runs equally well on both Windows and Linux. Some services might work only on one or the other, in that case that will be noted in service deployment details.

Install NorFab from PyPI:

pip install norfab

Install with extras for specific services:

Extra Description
norfab[nfcli] Interactive CLI shell (nfcli command)
norfab[nornirservice] Nornir network automation service
norfab[netboxservice] NetBox DCIM/IPAM integration service
norfab[fastapiservice] FastAPI REST API service
norfab[agentservice] AI/LLM agent service (Ollama/LangChain)
norfab[clientagent] Client-side LangGraph AI agent
norfab[fastmcpservice] Model Context Protocol (MCP) server
norfab[fakenosservice] FakeNOS simulated devices (Python 3.10–3.12)
norfab[robot] Robot Framework test library
norfab[tui] Textual terminal UI
norfab[full] All of the above

Multiple extras can be combined:

pip install norfab[nfcli,nornirservice,netboxservice]

Upgrade:

pip install --upgrade norfab

Install the latest code directly from GitHub:

pip install git+https://github.com/norfablabs/NORFAB.git@master

With extras:

pip install "norfab[nfcli,nornirservice] @ git+https://github.com/norfablabs/NORFAB.git@master"

Upgrade (re-installs the latest commit):

pip install --upgrade git+https://github.com/norfablabs/NORFAB.git@master

Download and run the interactive installer script — it guides you through choosing a system-wide or virtual-environment install, selects service extras, and scaffolds a ready-to-run inventory for you:

iex (irm https://raw.githubusercontent.com/norfablabs/NORFAB/master/install_norfab_windows.ps1)

Run this command in Windows PowerShell 5.1 or PowerShell 7+. irm downloads the script and iex runs it. After installation, run the printed commands to start nfcli. Installer settings stay local to the script, and failures report an error without closing your terminal.

Prerequisite

Python 3.10 or later must be installed and on your PATH. Download from python.org.

To install manually, run these commands in PowerShell:

python -m pip install norfab
# Or include the CLI, TUI, and selected services:
python -m pip install "norfab[nfcli,tui,nornirservice,netboxservice]"

Using a virtual environment (recommended):

python -m venv norfab-env
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\norfab-env\Scripts\Activate.ps1
python -m pip install "norfab[nfcli,tui,nornirservice,netboxservice]"

Choose extras from the table in the pip tab to match the services you need. With the nfcli extra installed, create a new inventory folder:

nfcli --create-env norfab-project
Set-Location norfab-project

Review inventory.yaml and the worker configuration files, enabling only services whose extras you installed. Then start NorFab:

nfcli

Upgrade:

python -m pip install --upgrade norfab

If you installed into a virtual environment, activate it first. Run this from the folder containing norfab-env, or use your environment's actual path:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\norfab-env\Scripts\Activate.ps1
python -m pip install --upgrade norfab

Download and run the interactive Bash installer:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/norfablabs/NORFAB/master/install_norfab_linux.sh)"

Run this command from an interactive terminal with Bash and curl installed. It downloads and runs the installer while keeping terminal input available for prompts.

Use Python 3.10+ with pip and venv support. The installer defaults to a local virtual environment, includes CLI and TUI, and lets you select services and Robot Framework. System installation follows your distribution's pip policy; choose Local if Python is externally managed.

You can skip inventory creation. Existing inventory and selected worker files are preserved; choose a new folder if they already exist. After installation, run the printed commands in your terminal to start nfcli.

To install manually:

pip install norfab
# or with extras, e.g.:
pip install norfab[nfcli,nornirservice,netboxservice]

Using a virtual environment (recommended):

python3 -m venv norfab-env
source norfab-env/bin/activate
pip install norfab[nfcli,nornirservice]

Upgrade:

pip install --upgrade norfab
# or inside a venv:
source norfab-env/bin/activate && pip install --upgrade norfab

Run the published all-in-one NorFab image with the Compose files included in the repository:

git clone https://github.com/norfablabs/NORFAB.git
cd NORFAB/docker/norfab-docker
docker compose up -d

This starts the broker and inventory-defined workers in one container and publishes the FastAPI service on port 8000.

See the Docker deployment tutorial for configuration, verification, and shutdown steps. Contributors should use the Docker development guide to run containers against their local source tree.

Operating Systems Support¤

Component Windows Linux MacOS
NorFab Core ✔ ✔ ✔
Nornir Service ✔ ✔ ✔
Netbox Service ✔ ✔ ✔