Self-hosted · Node + PostgreSQL · Docker

One source of truth for your IT inventory.

Hardware and network inventory, employee handovers with printable PDF receipts, licenses, mobile lines, vendor contracts and a full audit trail — on your own server, in one Docker command.

Explore on GitHub
MIT license0 CVE12 languages
ITACM dashboard
▶ See the live UI
MIT license
12 languages
0Core modules
0UI languages
0Dependency CVEs
0Command to deploy
0% self-hosted
Handover journey

From onboarding to return, four steps.

The paper signature stays with you; the digital source of truth lives in ITACM.

01 · Plan

Onboarding

Create the employee, reserve a device and line from stock.

02 · Hand over

Handover

Hardware, line and software in the basket; print a PDF, sign.

03 · Track

Operations

Dashboard alerts, license renewals and contract links.

04 · Close

Offboard

Return, transfer, scrap or sell — recorded in audit.

Dashboard

Your morning control tower

KPIs, recent handovers, EOL warnings and scheduled onboardings at a glance — expiring licenses and low stock in one attention rail.

  • Asset states: In Stock, Assigned, Reserved, Repair, Sold…
  • A bell and card when an onboarding is due
  • Asset distribution and inventory-value charts
Network & Server

Infrastructure, kept out of personal handover

Firewalls, switches, servers and storage are assigned to a site and a responsible person — with interactive dependency topology and rack maps.

  • Per-site topology, uplink arrows, cross-site parents
  • Rack / U placement with overlap detection
  • Management IP, firmware, warranty, linked licenses
Providers & Contracts

Who did we buy from, when does it renew?

MSPs, ISPs and hardware vendors with contacts and support lines; contracts with cost, term and billing cycle — 60-day renewal alerts and a document archive.

  • Multi-currency and renewal countdowns
  • Per-provider contract and invoice documents
  • Public / Confidential access split
Handover

Atomic basket, branded PDF receipt

Pick an employee, add devices and/or lines, confirm. One row-locked transaction creates the handover and a printable receipt with your branding.

  • Double assignment is impossible — row locks + transaction
  • Multiple receipt designs, editable terms
  • Reprints keep the original issuer
Reports & Audit

Data to decide, a trail to trust

20 preset reports plus a custom builder (source × columns × filters) with Excel-friendly CSV, alongside a system-wide, filterable audit timeline.

  • Inventory value, lifecycle, procurement trends
  • Who did what — timestamped, with related entities
  • Secrets are redacted before storage
16 modules

From the sidebar to the database, one system.

Every module follows the same chain — view → route → service → table — all behind role-based access.

Dashboard

KPIs, alerts, distribution, activity.

Hardware

QR, cost & warranty, lifecycle, search.

Network & Server

Topology, rack cabinets, location + owner.

Product Catalog

Brands, categories, lifecycle, specs.

Software & Licenses

Seat pools, atomic claim, expiry alerts.

Mobile Lines

SIM and number inventory with history.

Providers & Contracts

Vendors, renewal tracking, documents.

Consumables

Stock movements, low-stock alerts.

Employees

Detail, onboarding and offboarding.

Handover

Atomic basket and printable receipts.

Maintenance

Send to repair, return, scrap — with docs.

Stock Count

Camera-scan physical counts and reconcile.

Reports

20 presets plus builder, CSV and letterhead.

Audit Log

Unified, filterable activity timeline.

IT Users

RBAC — create, role, disable, delete.

ITACM on a phone
Mobile-ready

Manage from the floor, too.

No separate mobile app — the whole UI is responsive, with bottom navigation, a center QR-scan button and camera barcode/QR reading.

  • →Bottom navigation and camera scanner
  • →Start a count on the PC, keep scanning on the phone
  • →Wide tables turn into cards on the phone
Architecture & security

One command to run, your data to keep.

Code is baked into the image — no build step. Everything lives in PostgreSQL, so one backup covers the whole system.

Role-based access

Owner / Admin / Helpdesk / Viewer — enforced on every endpoint, re-checked each request.

Hardened

JWT (pinned algorithm) + bcrypt, magic-byte upload checks, strict CSP, rate limits, 0-CVE tree.

Full audit trail

Every mutation is written to the audit log; secrets are redacted.

Single-dump backup

Everything, including the document archive, is in PostgreSQL. No cloud lock-in, no telemetry.

# clone, generate secrets, boot
git clone https://github.com/enesyaks/ITACM.git
cd ITACM && docker compose up -d --build

# → http://localhost:8000 (onboarding wizard)

# full backup (DB + documents):
docker compose exec api npm run migrate:export
12 languages

Whatever language your team speaks.