Prerequisites
Before installing Energy CMMS, ensure you have the following prerequisites:- Python 3.11 or higher
- PostgreSQL 12 or higher
- Redis 7.x
- Git
- Docker and Docker Compose (for containerized deployment)
Installation Methods
Core Dependencies
Energy CMMS includes the following major dependencies:Framework & Web Server
- Django 5.1.5+: Core web framework
- Gunicorn: WSGI HTTP server for production
- WhiteNoise: Static file serving
Database & ORM
- psycopg 3.2.3: PostgreSQL adapter
- dj-database-url: Database URL parser
- pgvector: Vector similarity search for AI features
Task Queue & Caching
- Celery 5.4.0: Distributed task queue
- Redis 5.2.1: Message broker and cache backend
- django-celery-results: Task result storage
- Channels: WebSocket support
- channels-redis: Redis channel layer
Admin Interface
- django-jazzmin 3.0.1: Modern admin theme
- django-import-export 4.3.8: Data import/export functionality
- django-mptt: Hierarchical data structures
- django-colorfield: Color picker fields
File Processing & Storage
- Pillow 11.2.1: Image processing
- django-storages: Cloud storage backends
- boto3: AWS S3/MinIO integration
- Playwright: Automated PDF processing
Data Analysis & Visualization
- pandas 2.3.0: Data manipulation
- numpy 2.3.1: Numerical computing
- matplotlib: Data visualization
- openpyxl: Excel file handling
AI & Machine Learning
- google-generativeai: Google Gemini AI integration
- msal: Microsoft authentication (for Dynamics 365 integration)
Utilities
- python-dotenv: Environment variable management
- requests: HTTP library
- qrcode: QR code generation
- django-cors-headers: CORS handling
Post-Installation Steps
Configure Storage
Energy CMMS uses MinIO (S3-compatible storage) for media files. Ensure your MinIO instance is running and accessible:
Set Up AI Features (Optional)
To enable AI-powered semantic search and document processing:
- Obtain a Google Gemini API key from Google AI Studio
- Add to your
.envfile:
Configure n8n Integration (Optional)
For workflow automation and document processing:
- Set up n8n instance
- Configure webhooks in your
.env:
Docker Compose Services
Thedocker-compose.yml includes the following services:
| Service | Description | Port | Memory |
|---|---|---|---|
| web | Django + Gunicorn (3 workers) | 8000 | ~300-500MB |
| redis | Message broker & cache | 6379 | ~50-100MB |
| celery_worker | Background task processor | - | ~200-300MB |
| celery_beat | Periodic task scheduler | - | ~100-150MB |
Total resource usage: approximately 650-1050MB RAM
Troubleshooting
Installation Fails on Playwright
Database Connection Error
If you seeOperationalError: could not connect to server:
-
Verify PostgreSQL is running:
-
Check your
DATABASE_URLformat: -
Ensure the database exists:
Redis Connection Failed
If Celery cannot connect to Redis:Import Errors
If you encounter module import errors:Next Steps
Configuration
Configure environment variables and settings
First Steps
Learn how to use Energy CMMS