Sign inSign up

beyrak44/samurai

By beyrak44

Updated about 2 months ago

SAMURAI - Network Analyzer

Image
Networking
Security
Monitoring & observability
0

1.3K

beyrak44/samurai repository overview

SAMURAI

SAMURAI Networks

Network Monitoring & Security Platform. A single pane of glass for multi-vendor network and security infrastructure. SAMURAI Networks continuously syncs configuration and state from your devices, discovers endpoints, traces traffic paths, detects changes, and scores compliance.

Website Docs Image

This image ships as a single hardened container that bundles the Go backend, the React UI behind Nginx, and an embedded MongoDB. Docker is the only dependency.

License required. SAMURAI Networks is license-gated. Get a free trial license, then upload it under Settings → License after signing in. A running deployment also needs outbound access to validate the license (see Licensing below).

Quick start

docker run -d --name samurai -p 80:80 -p 443:443 beyrak44/samurai:latest

Open the portal in your browser and sign in with the default credentials admin / admin. You will be prompted to change them on first sign-in.

To keep the database when the container is removed, persist it on the host with a volume:

docker run -d --name samurai -p 80:80 -p 443:443 \
  -v samurai-data:/app/mongo-data \
  beyrak44/samurai:latest

Production run

Generate stable secrets once, store them somewhere safe, and pass the same values on every run:

JWT_SECRET_KEY=$(openssl rand -hex 32)
DEVICE_ENCRYPTION_KEY=$(openssl rand -hex 32)

docker run -d --name samurai -p 80:80 -p 443:443 \
  -v samurai-data:/app/mongo-data \
  -e JWT_SECRET_KEY="$JWT_SECRET_KEY" \
  -e DEVICE_ENCRYPTION_KEY="$DEVICE_ENCRYPTION_KEY" \
  beyrak44/samurai:latest
Docker Compose
# compose.yml
services:
  samurai:
    image: beyrak44/samurai:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - samurai-data:/app/mongo-data
    environment:
      JWT_SECRET_KEY: "REPLACE_WITH_STABLE_SECRET"
      DEVICE_ENCRYPTION_KEY: "REPLACE_WITH_STABLE_64_HEX_KEY"
    restart: unless-stopped
volumes:
  samurai-data:
docker compose up -d

What you can do

  • Discover endpoints across switches, routers, and controllers: MAC to IP to identity.
  • Trace traffic hop by hop with policy, zone, and NAT awareness.
  • Detect changes with a unified timeline and per-vendor change attribution.
  • Score compliance against security benchmarks, per device and fleet-wide.
  • Visualize topology of the network and data center fabric.

Supported platforms

CategoryPlatforms
Cisco data centerACI (APIC), Nexus Dashboard Orchestrator (NDO)
Cisco securityFMC, FTD/ASA, ISE
FirewallsPalo Alto, Fortinet FortiGate
VirtualizationVMware vCenter
IdentityMicrosoft Active Directory (LDAP)
NetworkRouters & switches (IOS / IOS-XE / NX-OS / IOS-XR) via SSH

How SAMURAI Networks compares

SAMURAI Networks overlaps with network security policy management (NSPM) tools like AlgoSec and Tufin on visibility, path analysis, change tracking, and compliance. The difference is scope. AlgoSec and Tufin are firewall-policy platforms built around change orchestration (pushing rule changes through approval workflows); SAMURAI Networks is a broader multi-vendor visibility layer that also covers endpoints, identity, and virtualization, and deploys as a single container.

CapabilitySAMURAI NetworksAlgoSecTufin
Multi-vendor firewall visibilityYesYesYes
Traffic-path tracing (policy, zone, NAT)YesYesYes
Topology mappingYesYesYes
Change-detection timelineYesYesYes
Compliance scoringYesYesYes
Endpoint and identity discovery (MAC to IP to identity, ISE/AD)YesNoNo
Virtualization (VMware vCenter) visibilityYesNoNo
Policy change automation and push (approval workflow)NoYesYes
DeploymentSingle Docker containerEnterprise suite (appliance/VM)Enterprise suite (appliance/VM)

AlgoSec and Tufin remain the stronger choice when automated firewall change orchestration is the goal. This summary reflects each product's primary focus; vendor capabilities change over time.

Configuration

Bootstrap configuration is provided via environment variables; most runtime settings (sync schedule, CORS, branding, timezone) are managed in Settings and hot-reloaded.

VariablePurpose
JWT_SECRET_KEYSigns session tokens. Set a stable value in production.
DEVICE_ENCRYPTION_KEY64-hex AES-256 key for stored credentials. Set a stable value in production.
MONGODB_URLExternal MongoDB (optional; the embedded mongod is used if unset).
MONGODB_DATABASEDatabase name (optional).

If DEVICE_ENCRYPTION_KEY later changes, previously stored device credentials can no longer be decrypted; if JWT_SECRET_KEY changes, existing sessions are invalidated.

Database: external-first, embedded-fallback

The entrypoint decides at runtime:

  • MONGODB_URL set and reachable: uses your external MongoDB.
  • MONGODB_URL set but unreachable: falls back to the embedded mongod.
  • MONGODB_URL unset: uses the embedded mongod.

Mount a volume at /app/mongo-data to persist the embedded database.

Requirements

A host with Docker Engine 20.10+ (or Docker Desktop) and roughly 2 GB of free RAM.

Tags

  • latest: the current stable release. Recommended for evaluation.
  • 4.1.0: the pinned version. Use a specific version tag in production so upgrades are deliberate rather than automatic.

Licensing

SAMURAI Networks is license-gated. Get a free trial license, then upload your license file under Settings → License after signing in. A running deployment needs outbound access to validate the license (trusted time and public-IP consensus); see the deployment guide for the exact endpoints.

Documentation & support

Tag summary

Content type

Image

Digest

sha256:99d06c326

Size

338.8 MB

Last updated

about 2 months ago

docker pull beyrak44/samurai