Skip to main content

Core Technologies

The MIE Opensource Proxmox Cluster is built on several key open-source technologies. This page provides links to external documentation for the core components.

Backend Framework

Express.js

Express is a minimal and flexible Node.js web application framework that provides the foundation for our API server.

Used For:

  • REST API endpoints
  • Request routing and middleware
  • Session management
  • Server-side rendering

Sequelize ORM

Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite, and more.

Used For:

  • Database abstraction layer
  • Schema migrations
  • Model definitions
  • Query building

Frontend Templating

EJS (Embedded JavaScript)

EJS is a simple templating language that lets you generate HTML markup with plain JavaScript.

Used For:

  • Server-side rendering of HTML pages
  • Dynamic content generation
  • User interface templates
  • Admin panel views

Infrastructure

Proxmox VE API

Proxmox Virtual Environment provides a RESTful API for managing virtual machines and containers.

Used For:

  • Container (LXC) creation and management
  • Node information retrieval
  • Resource allocation
  • Cluster status monitoring

LDAP Gateway

LDAPServer is a custom Node.js-based LDAP server that integrates with our database for authentication.

Used For:

  • Centralized authentication for all containers
  • User credential management
  • Group membership resolution
  • PAM/NSS integration via SSSD

Supporting Libraries

DNSMasq

DNSMasq provides network infrastructure services including DHCP and DNS.

Used For:

  • DHCP server for container IP assignment
  • DNS resolution for internal domain names
  • DNS forwarding for external queries

NGINX

NGINX is a high-performance HTTP server and reverse proxy.

Used For:

  • HTTP/HTTPS reverse proxy
  • TLS termination
  • Layer 4 TCP proxying
  • Load balancing

Development Tools

Node.js

Node.js is the JavaScript runtime that powers the entire application stack.

npm

npm is the package manager for Node.js.

Version Requirements

TechnologyMinimum VersionRecommended
Node.js18.x20.x LTS
Proxmox VE13.0Latest stable
PostgreSQL12.x15.x+
MySQL8.08.0+
NGINX1.18Latest stable

Additional Documentation

For implementation-specific details, refer to:

  • Code comments in the repository
  • README files in individual directories
  • Migration files for database schema changes
  • Environment variable documentation in .env.example