-
Notifications
You must be signed in to change notification settings - Fork 9
03. Installation
Lav edited this page Mar 30, 2026
·
1 revision
- Python 3.12+
pipx installs InfraGuard into its own isolated environment and makes the infraguard command available globally.
# Install from the repository
pipx install git+https://github.com/Whispergate/InfraGuard.git
# With all optional dependencies (dashboard, TUI, GeoIP, async DNS)
pipx install "infraguard[all] @ git+https://github.com/Whispergate/InfraGuard.git"To add optional dependencies to an existing pipx install:
pipx inject infraguard textual # Terminal UI
pipx inject infraguard fastapi jinja2 # Web dashboard extras
pipx inject infraguard maxminddb # GeoIP lookups
pipx inject infraguard aiodns # Async DNS resolution
pipx inject infraguard dnspython # DNS listener
pipx inject infraguard aiomqtt # MQTT listenergit clone https://github.com/Whispergate/InfraGuard.git
cd InfraGuard
uv syncgit clone https://github.com/Whispergate/InfraGuard.git
cd InfraGuard
pip install .
# Or with optional dependencies
pip install ".[all]"git clone https://github.com/Whispergate/InfraGuard.git
cd InfraGuard
cp .env.example .env # Edit with your values
docker compose up -dSee Docker Deployment for full details.
| Group | Packages | Purpose |
|---|---|---|
web |
fastapi, jinja2 | Extended web dashboard features |
tui |
textual | Terminal UI |
geoip |
maxminddb | GeoIP lookups via MaxMind databases |
dns |
aiodns | Async DNS resolution (for rDNS filter) |
dns-listener |
dnspython | DNS protocol listener |
mqtt-listener |
aiomqtt | MQTT protocol listener |
all |
All of the above | Everything |
infraguard --version