See the operation as one system
Connect deployment state, health signals, infrastructure inventory, access workflows, and team activity in one role-aware portal.
Bring Docker Swarm operations, monitoring, IP resources, privileged access, work, and data tooling into one modular portal your team can run and control.
Why KNetraHub
KNetraHub is designed for teams that have outgrown scattered commands and disconnected tools, but still want the ownership and flexibility of self-hosted infrastructure.
Connect deployment state, health signals, infrastructure inventory, access workflows, and team activity in one role-aware portal.
Move from alert to context and from context to a safe action without switching between terminals, spreadsheets, and disconnected dashboards.
Run the platform in your own Docker Swarm, choose local accounts or enterprise identity, and keep operational control with your team.
Enable only the apps you need today, then add monitoring, IP management, privileged access, work, or database tooling as needs grow.
Product tour
98 screens captured from a demo instance seeded with fictional data: every module's dashboard and its key feature screens. Open a card to browse them full-size — ← → move between screens, click zooms, F goes fullscreen.
Sign-in, launcher, administration and the documentation
Docker Swarm management
/dockerFull-stack network monitoring
/monitoringClickUp-style work management
/workEnterprise privileged-access management
/pamphpIPAM-style address management
/ipmgtCloudBeaver-style database workbench
/dbmanagerConfiguration management database
/cmdbIncidents, requests, problems and changes
/itsmWorkflows and runbooks
/automationConfiguration backups for network devices
/netconfigCertificate inventory, expiry and an internal CA
/pkiRecovery objectives and the evidence that they are met
/recoveryEvery cluster, what runs on it and what is not well
/kubernetesWhat your software is made of, and which advisories affect it
/vulnerabilityEvery log line in one place, searched in seconds
/logsEvery reverse proxy on the swarm, one configuration, deployed as revisions
/proxyCore capabilities
Deploy Docker Swarm stacks from compose files with full status tracking. One-click rollback with GitLab version history.
Scale replicas, redeploy tasks, and update images across your swarm without touching the command line.
Real-time SSE event stream — swarm health at a glance: nodes, services, tasks, and cluster capacity. Metrics history is charted on node and service pages.
Notify Telegram, Teams, or any webhook on deploy failures, usage thresholds, node-down, degraded replicas, or disk pressure — with customizable message templates.
Tiered access per app (viewer, operator, manager, admin) with local accounts, LDAP / Active Directory, and OIDC SSO. Stored credentials are encrypted at rest.
Manage networks, volumes, secrets, configs, and private registry credentials from one place.
Enterprise PAM: an envelope-encrypted credential vault with online key rotation, access requests with multi-level approvals, brokered recorded sessions, just-in-time and break-glass access, and a tamper-evident audit chain.
Clean-room ClickUp-equivalent: spaces, folders and lists; tasks with subtasks, dependencies and custom fields; List/Board/Table views; Docs, threaded comments, and time tracking.
Browser SQL workbench for PostgreSQL, MySQL/MariaDB, MongoDB, and Redis: governed connections with encrypted credentials, a policy-enforced editor, org-wide query oversight, and a hash-chained audit trail.
Use scoped API tokens and the interactive Swagger explorer to connect approved automation and operational integrations.
Apps
KNetraHub bundles several apps behind one portal. Each app has its own User Manual, Configuration, and API session below; portal-wide topics (authentication, users, appearance, alert delivery) live in the General sessions.
Docker Swarm management
Deploy and version compose stacks, scale and redeploy services, manage nodes, tasks, networks, volumes, secrets, configs, and private registries with live SSE monitoring.
Full-stack network monitoring
SNMP/ICMP discovery and polling of routers, switches, firewalls, servers, printers, UPSes and more — one unified device model with ports, health sensors, alert rules, traps, syslog, and data-collection auditing.
ClickUp-style work management
Organise work in Spaces → Folders → Lists with object-level sharing; run tasks with subtasks, multi-assignees, dependencies, checklists and custom fields across List, Board and Table views; write Docs, comment in threads, and track time.
Enterprise privileged-access management
A cryptographic credential vault (envelope encryption, online key rotation) with safes, privileged-account onboarding and discovery, automated change/verify/reconcile, access requests with approvals, brokered recorded sessions, just-in-time and break-glass access, and a tamper-evident audit chain.
phpIPAM-style address management
Organise sections, subnets, VLANs and VRFs; inventory addresses with a visual grid; track racks, circuits, NAT and customers; and keep utilisation accurate with scheduled scans, requests, and import/export.
CloudBeaver-style database workbench
Query PostgreSQL, MySQL/MariaDB, MongoDB and Redis targets from the browser: governed connections with envelope-encrypted credentials, a policy-enforced SQL editor with metadata navigation, org-wide query oversight, target session management, and a verifiable audit chain.
Configuration management database
Record what the platform operates as configuration items of administrator-defined types with typed attribute fields, relate them with ten relationship kinds, and keep a per-item change history with optimistic concurrency. Every item is published to the platform catalog, so global search, catalog links and the other modules see it.
Incidents, requests, problems and changes
Run the desk on tickets of four kinds with their own state machines, impact × urgency priority, SLA policies whose clocks pause on hold and flag breaches, comments and work logs, a per-ticket history, and links to anything the platform catalogs — with the people a ticket concerns notified through the portal bell.
Workflows and runbooks
Chain calls to the platform’s module APIs into workflows and runbooks that run as a bound API token — with conditions, retries, compensating rollback, delays, manual steps, approvals and schedules — and keep every run’s step log. A workflow can do exactly what its token can, and never carries a secret.
Configuration backups for network devices
Back up the configuration of routers, switches and firewalls over SSH on a schedule or on request, with the device’s host key pinned and its credential taken from the module vault or Privileged Access. Every version is sealed, unchanged backups are recognized, any two versions can be compared, and secrets are masked in everything a person reads. An approved baseline per device shows drift on every backup, and compliance policies check every configuration.
Certificate inventory, expiry and an internal CA
Keep every certificate the organisation depends on in one inventory: read from the TLS endpoints that present them (directly or after SMTP, IMAP, POP3, LDAP or PostgreSQL STARTTLS), found by network discovery, held by the keystores you read (PKCS#12, JKS, JCEKS, PEM — opened in your browser, so neither the file nor its password leaves it), imported, or issued by an internal authority held here. See each certificate’s issuer chain, where it is deployed and was, which certificate replaced it, who owns it and what is weak about it — and hear about it before it expires. Internal authorities issue from CSRs a second person approves, and revoke with signed CRLs; no private key of anyone’s is ever taken, and the authorities’ own keys are sealed by the module vault.
Recovery objectives and the evidence that they are met
Set protection policies — the RPO, the RTO, how often an offsite and an immutable or offline copy must exist, how often a restore must be proven — and put the items in the CMDB under them. Backup jobs, people and Automation runbooks report each backup run and restore test; every item then reads as protected, at risk, breached or awaiting its first evidence, with the reason and a notice when it is breached or its restore test is overdue. What each item depends on in the CMDB graph shows the gaps — a dependency nobody protects, one slower to restore than what needs it — and the order to restore in. DR plans say how each service is brought back; a second person approves each version, and a plan is reviewed on a cadence and flagged when what the service depends on changes. Exercises rehearse the plans as Service Desk changes run by Automation runbooks, and leave their results as evidence. Evidence reports freeze a period and a scope as a PDF and CSV files, each kept with its SHA-256 for an auditor to check. KNetraHub does not connect to backup products: the evidence is reported, and labelled with who reported it.
Every cluster, what runs on it and what is not well
Register the Kubernetes clusters you run — from a kubeconfig read in your browser, or with a service account token or a client certificate — and KNetraHub keeps an inventory of each: its nodes, namespaces, Deployments, StatefulSets, DaemonSets, CronJobs, Jobs, pods, services, ingresses and volume claims, with each one’s health and why (a crash-looping container, a rollout stalled past its deadline, a node not ready or under pressure, a service with no ready endpoint), and the warning events of the last days. The credential is sealed by the module vault and never shown again; what it may read — and what it could change, which KNetraHub does only by an operation someone else approved — is checked and shown. Workloads, nodes, namespaces, services and ingresses are published to the platform catalog, so the CMDB imports them and a Service Desk ticket or a Backup & DR policy can name them. Operators read a pod’s log or follow it as it is written — each read audited, nothing kept —; every page shows an object’s events of every type, read live, and usage now from metrics-server; Helm releases show with their chart, version and health, from their resources’ labels and, where an administrator switches it on, Helm’s storage. Where the deployment and an administrator allow it, an operator asks to scale, restart or roll back a workload, delete a pod, cordon a node or suspend a cron job: the cluster checks it as a dry run, someone else approves it with their security password, and it is made on that object only.
What your software is made of, and which advisories affect it
Send what an image, a host or an application is made of — an SBOM as syft, Trivy or cdxgen write it (CycloneDX or SPDX), or a host’s package list from dpkg, rpm or apk — from the page or from a pipeline with an API token, and KNetraHub matches every component against the security advisories of the ecosystems you keep: OSV’s feeds for Debian, Ubuntu, Alpine, Wolfi, Chainguard, Rocky Linux and AlmaLinux, and for npm, PyPI, Maven, Go, crates.io, NuGet, RubyGems, Hex and Pub, downloaded daily from OSV or a mirror of it, or uploaded where nothing is downloaded. Each ecosystem’s versions are ordered as its own tools order them (dpkg, apk, rpm, SemVer, PEP 440, Maven, NuGet, RubyGems), an operating-system package is matched as its source package and only for the release it came from, and each finding says the version that fixes it. Findings open when an inventory or a feed brings them and are fixed — with the reason — when an upgrade leaves the range, the package goes or the advisory is withdrawn; the owner hears of new critical and high findings. Nothing is scanned, pulled or patched: the module reads what it is sent.
Every log line in one place, searched in seconds
Point your devices’ syslog at KNetraHub — UDP, TCP (newline or octet-counted framing) or TLS — or have a shipper post lines over HTTP with a key of its own: Fluent Bit, Vector, Logstash, rsyslog, anything that sends NDJSON, a JSON array or plain lines. Each source says whose lines it takes (address ranges, host names), how they are read (RFC 5424 and 3164 as devices really send them, JSON, CEF, key=value pairs, or a dissect pattern of your own), how long they are kept (a retention class) and who may read them. Card numbers and secrets are masked before anything is kept. Search by words, phrases and fields, count them over time and by value, open a line with the lines around it, follow a query live and export what it matches — every search recorded in a search log. Keep a search under a name, and put the counts you watch on dashboards — lines over time, top values, numbers, the newest lines —, yours or shared, each read over the sources its reader may read; counts over days come from counts kept beside the lines, the same numbers read faster. Open a device’s, a node’s or an item’s lines from its own page, and let correlation rules tell you when lines of different searches belong together — failed logins then a success from one address — within a window. Lines live in the module’s own PostgreSQL database, in daily partitions each class drops when its days are past.
Every reverse proxy on the swarm, one configuration, deployed as revisions
Run nginx, Caddy, Traefik or HAProxy tenants on your Docker Swarm from one place — internal, external or in the DMZ, each with its own engine, routes, upstreams, TLS, networks, resources and placement. Describe a tenant once in the guided editor (listeners, TLS, routes with WebSockets, SSE, gRPC, rate limits, basic authentication, caching, headers and allow lists; upstreams with balancing, health checks and stickiness; compression, security headers, timeouts) and the engine adapter renders the engine’s own file; or take the Expert editor with the engine’s completion and lint. Every change is an immutable revision with its rendered files and diff; a deployment runs preflight against the swarm (eligible nodes, networks, port conflicts, the orchestrator’s dry run), applies only the tenant’s service as content-addressed secrets through the Docker module, waits for the tasks to run and answer their healthcheck, and rolls back on its own when they do not. External, DMZ and restricted tenants need a second person’s approval with the security password. Health and drift are checked on a schedule, traffic is counted from the access logs, certificates — yours, self-signed, or issued by a Certificates-module authority for a key that never leaves the module — ring the bell before they lapse, and the Docker module refuses to touch what the Proxy Manager owns.
Access & permissions
Assign the narrowest tier each person needs. Tiers apply per app — the same person can be an operator in Docker and a viewer in PAM — and are refined from Admin → Apps & Access.
Getting started
Recommended: generate a ready-to-run Docker Compose bundle
Choose modules, replicas, ports, image registry, storage layout, and secrets. The knetra command installs Docker if the host lacks it, validates the manager, creates required Docker secrets, and deploys every selected stack in order — then keeps operating it with start, stop, restart, redeploy, logs and config.
docker info --format '{{.Swarm.ControlAvailable}}'
# If this is a new single-node swarm:
docker swarm initDocumentation → Start Initializr
Pick an architecture: Monolith or Microservice Select modules · replicas Access & domain: direct port, your reverse proxy, or the bundled proxy (Caddy, nginx or Traefik) + TLS Choose one stack or separate stacks Confirm the image registry and tag
curl -fsSL https://sengphirum.github.io/KNetraHub/install.sh | bash # One command, the same for everyone. Adds tab completion. # Later: knetra update, or knetra uninstall
knetra setup # paste the token from Start Initializr # or: knetra setup --token-file token.txt cd knetrahub knetra install --swarm-init # only on a host without Docker knetra plan # every service as Docker will resolve it knetra start
docker stack services knetrahub # Open http://<manager-node>:3000 — or the public URL you configured # (knetra start prints it); the bundled proxy needs its DNS record first # Complete first-run setup and change the admin password
Docker Swarm Compose example
knetra start creates the required secrets before running commands like these. Use it for the first deployment; run the commands directly only after the secrets already exist.
docker stack deploy --with-registry-auth -c docker-compose.yml knetrahub docker stack services knetrahub
Documentation sections