Skip to content

Open-source CMDB for ICS and OT environments — map assets, visualize networks, track changes, and keep control.

License

Notifications You must be signed in to change notification settings

mgstate/industrace

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Industrace - Industrial Asset Management System

License: AGPL-3.0 Docker FastAPI Vue.js

Industrace is a comprehensive Industrial Asset Management System designed for managing and monitoring industrial equipment, networks, and infrastructure. Built with FastAPI backend and Vue.js frontend, it provides a modern, scalable solution for industrial environments.

It was born from a simple observation: most asset management tools are designed for IT, while the industrial world requires different logic — mapping systems against the Purdue model, assessing risk with ICS-specific parameters, and documenting operational infrastructure in a structured way.

👉 Industrace is meant to be a starting point: easy to deploy, preloaded with demo data, and most importantly open to contributions and real-world use cases. We don’t claim to cover everything from day one, but we believe many organizations — large and small — face similar needs.

🤖 Built with Human Expertise + AI Support

Industrace was developed combining hands-on expertise in cybersecurity with the support of AI tools throughout the development process.

This means two things:

🛠️ The project was built faster and with broader perspectives, leveraging AI to explore solutions and speed up coding.

🌍 The code and documentation are designed to be clear, structured, and accessible — a direct result of the “AI-assisted” approach.

We like to think of Industrace as an experiment in human + AI co-creation, where the open source community can now take the lead to validate, extend, and adapt it to real-world industrial environments.

Last thing.. Born in Italy, Industrace combines European attention to industrial processes with a global open-source mindset.

Release

🌟 Key Features

  • Asset Management: Complete lifecycle management of industrial assets
  • Network Mapping: Visual representation of asset connections and communications
  • Risk Assessment: Built-in risk scoring and vulnerability assessment
  • Multi-tenant Architecture: Support for multiple organizations
  • Role-based Access Control: Granular permissions system
  • Real-time Monitoring: Live asset status and health monitoring
  • Document Management: Asset documentation and photo management
  • Audit Trail: Complete activity logging and change tracking
  • API-First Design: RESTful API for integration with other systems
  • Modern UI: Responsive Vue.js frontend with intuitive interface

📸 Screenshots & Demo

🏠 Dashboard Overview

Dashboard Main dashboard showing asset overview, risk scores, and system status

📊 Asset Management

Asset Management Complete asset lifecycle management with detailed information and connections

🌐 Network Topology

Network Topology Interactive network visualization showing asset connections and communications

🔍 Asset Details

Asset Details Detailed asset view with interfaces, connections, and documentation

👥 User Management

User Management Role-based access control with granular permissions management

📋 Audit Trail

Audit Trail Complete activity logging and change tracking for compliance

🗺️ Floor Plan Integration

Floor Plan Visual asset placement on floor plans with interactive mapping

📱 Responsive Design

Mobile View Fully responsive interface that works on desktop, tablet, and mobile

🏗️ Architecture

  • Backend: FastAPI with SQLAlchemy ORM
  • Database: PostgreSQL 15+
  • Frontend: Vue.js 3 with Vite
  • Authentication: JWT-based with role-based access control
  • Containerization: Docker and Docker Compose
  • API Documentation: Auto-generated with OpenAPI/Swagger

🚀 Quick Start

Quick Start? Go to Quick Start Guide for a quick installation in less than 5 minutes.

Prerequisites

  • Docker and Docker Compose
  • 4GB RAM minimum (8GB recommended)
  • 20GB disk space minimum
  • Port 80 and 443 available (for production)
  • Port 5173 and 8000 available (for development)

Installation

Development (Recommended for first time)

# Clone the repository
git clone https://github.com/industrace/industrace.git
cd industrace

# Initialize system with demo data
make init

# Access the application
open http://localhost:5173

Production (HTTPS with Traefik)

# Start production with Traefik + Let's Encrypt
make prod

# Access the application
open https://industrace.local

Custom Certificates (HTTPS with Nginx)

# Setup custom certificates
make custom-certs-setup

# Start with custom certificates
make custom-certs-start

# Access the application
open https://yourdomain.com

Option 2: Manual Setup

# Clone the repository
git clone https://github.com/industrace/industrace.git
cd industrace

# Start the application
docker-compose up -d

# Access the application
open http://localhost:5173

Development Environment

# Start development environment
make dev

# Add demo data to existing system
make demo

# Clean system completely
make clean

# Show available commands
make help

Default Credentials

Note: Demo data is automatically populated in development environment. The system includes sample sites, areas, locations, manufacturers, suppliers, contacts, assets with interfaces, and network connections for testing purposes.

📊 Demo Data Included

The system comes pre-populated with comprehensive demo data:

  • 3 Sites: Main Production Plant, Research & Development Center, Distribution Warehouse
  • 12 Areas: Assembly Lines, Quality Control Lab, Control Room, Maintenance Bay, etc.
  • 19 Locations: Control Panels, Quality Stations, Maintenance Bays, etc.
  • 8 Assets: PLCs, HMIs, Robots, Switches, Sensors, Servers with realistic specifications
  • 10 Interfaces: Network interfaces with IP addresses, MAC addresses, and protocols
  • 5 Connections: Network topology showing asset communications
  • 4 Manufacturers: Siemens, Rockwell Automation, Schneider Electric, ABB
  • 4 Suppliers and 6 Contacts: Complete supply chain information

Documentation

Complete documentation is available in the docs directory:

🔧 Development

Prerequisites

  • Python 3.8+
  • Node.js 16+
  • Docker and Docker Compose

Setup Development Environment

# Clone and setup
git clone https://github.com/industrace/industrace.git
cd industrace

# Start development environment
make dev

# Run tests
make test

# View logs
make logs

Available Make Commands

make init      # Initialize system with demo data
make dev       # Start development environment
make prod      # Start production environment
make demo      # Add demo data to existing system
make clean     # Clean system completely
make test      # Run tests
make logs      # View logs
make stop      # Stop all services
make build     # Build containers
make rebuild   # Rebuild containers
make status    # Show service status
make shell     # Open backend shell
make migrate   # Run database migrations
make reset-db  # Reset database
make restart   # Restart services
make info      # Show system information

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

📄 License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This means you are free to use, modify, and distribute the software, but any modifications must also be released under the same license.

See the LICENSE file for details.

🆘 Support

📋 Changelog

[v1.0.0] - august 2025

🎉 Initial Release

  • Complete Asset Management System: Full lifecycle management for industrial assets
  • Multi-tenant Architecture: Support for multiple organizations with data isolation
  • Role-based Access Control: Granular permissions system (Admin, Editor, Viewer)
  • Network Topology Visualization: Interactive network mapping with asset connections
  • Risk Assessment Engine: Advanced risk scoring algorithm for industrial assets
  • Document Management: Upload and manage asset photos and documents
  • Audit Trail: Complete activity logging and change tracking
  • Import/Export System: Excel/CSV import with preview and validation
  • Print System: Generate PDF reports with QR codes
  • PCAP Analysis: Network traffic analysis and protocol detection
  • Floor Plan Integration: Visual asset placement on floor plans
  • Responsive Design: Works on desktop, tablet, and mobile
  • Internationalization: Full Italian and English language support
  • RESTful API: Complete API with OpenAPI documentation
  • Docker Support: Easy deployment with Docker Compose

🔧 Technical Features

  • FastAPI backend with PostgreSQL database
  • Vue.js 3 frontend with PrimeVue components
  • JWT authentication with secure cookies
  • Real-time dashboard with charts and metrics
  • Comprehensive error handling and validation
  • Automated testing framework
  • Production-ready Docker configuration

🗺️ Roadmap

See our Roadmap for planned features and improvements.

Author and Support

About

Open-source CMDB for ICS and OT environments — map assets, visualize networks, track changes, and keep control.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 45.9%
  • Python 45.7%
  • JavaScript 6.5%
  • Makefile 0.8%
  • Shell 0.6%
  • CSS 0.4%
  • Other 0.1%