Skip to content

Installation overview

Umbryx is self-hosted and containerized: a single Docker Compose stack (PostgreSQL, Redis, backend, frontend, nginx) per installation. Both editions deploy the same way; EE additionally needs licensed images and a license token.

Requirements

Verified requirements (what the stack actually consumes):

Component Requirement
OS Any Linux host running Docker; the reference deployment is Debian/Ubuntu
Docker Docker Engine + Docker Compose v2
Ports One published HTTP port (default 3000); inbound SSH to your attacker machines, not to Umbryx
Storage A persistent directory for /data (uploads, encryption keys, audit JSONL, DB volume)
Databases PostgreSQL 16 and Redis 7.2 ship as compose services — nothing external required
Attacker machine (optional but expected) A Linux box reachable over SSH with your tooling installed (nmap, nuclei, netexec, httpx, ffuf, impacket, …)

Practical recommendation for a small team: 2 CPU / 4 GB RAM. This is a recommendation, not a tested minimum.

Paths through this section

Two ways to install

  1. Automated installer — ./install.sh writes .env, offers modes (single-node; HA modes appear only in the EE tree), can run with --dry-run or UMBRYX_INSTALL_NO_TUI=1.
  2. Manual — cp .env.example .env, edit, docker compose up -d --build. Documented in Core installation.

Both produce the same result; the installer is the wizard over the same compose file.

What is NOT installed by Umbryx

Umbryx Core never provisions infrastructure and never executes tools locally: scans and commands run on your attacker machines over SSH. EE deploys attack infrastructure (C2, redirectors, …) only where you explicitly configure providers.