Docs / Getting Started / Requirements

Requirements

What you need before installing MonsterOps.

Operating system

Distribution Versions tested
Ubuntu 22.04 LTS, 24.04 LTS
Debian 12 (Bookworm)

Other Debian-based distributions will likely work. RPM-based systems (RHEL, Rocky, AlmaLinux) are not tested.

Software prerequisites

Component Minimum Notes
Python 3.11 Must be available as python3
PostgreSQL 15 Same host or remote
FreeRADIUS 3.0 Must use the SQL module (rlm_sql)
Git any For cloning the repository (not needed for the PyPI install)

The FreeRADIUS SQL module must be enabled and pointed at the same PostgreSQL database MonsterOps uses. The production installer (deploy/install.sh) configures this for you when run on the FreeRADIUS host.

Optional — VPN tunnel management

Only needed if you'll use the VPN module:

Package For
wireguard-tools WireGuard (wg, wg-quick)
strongswan L2TP/IPsec (IKEv1/PSK)
xl2tpd L2TP daemon
ppp PPP/CHAP authentication
acl ACL write permissions to config dirs

The production installer adds these automatically. On a development setup you can omit them — tunnels can still be defined in the UI, but you'll see a "tooling not installed" banner when you try to bring one up.

Optional — Firewall management

Only needed if you'll use the Firewall module:

Package For
nftables Applies the managed ruleset (nft) — usually preinstalled on modern Debian/Ubuntu

The installer adds a minimal nft sudoers allow-list scoped to table inet monsterops only — there is no blanket nft *, so the service user can never flush your other tables. Without nft installed, the Firewall page still lets you build and preview rules; you just can't apply them.

You don't need everything at once

Only DATABASE_URL and SECRET_KEY are truly required to run. VPN and firewall tooling are opt-in per module — install them when you decide to use those features.