System Requirements
This page details all requirements for running LXC AutoScale ML.
Hardware Requirements
Proxmox Host
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 4 GB | 8+ GB |
| Storage | 20 GB free | 50+ GB free |
The ML model training adds minimal overhead (typically less than 5% CPU during training cycles).
Container Scaling Limits
Default limits that can be adjusted in configuration:
| Resource | Minimum | Maximum |
|---|---|---|
| CPU Cores | 1 | 8 |
| RAM | 512 MB | 16 GB |
Software Requirements
Proxmox VE
| Version | Status |
|---|---|
| 8.x | Tested and supported |
| 7.x | Supported |
| 6.x | Supported |
| 5.x and earlier | Not supported |
Python
Python 3.x is required. The installation script verifies Python availability.
python3 --versionRequired Python Packages
These packages are installed automatically by the installation script:
| Package | Purpose |
|---|---|
flask | API web framework |
requests | HTTP client for API calls |
scikit-learn | Machine learning (IsolationForest) |
pandas | Data manipulation |
numpy | Numerical operations |
aiofiles | Async file operations |
pyyaml | YAML configuration parsing |
psutil | System metrics collection |
aiohttp | Async HTTP client for batch requests |
Optional Packages
| Package | Purpose |
|---|---|
prometheus-client | Prometheus metrics export |
Network Requirements
Inbound Ports
| Port | Service | Access |
|---|---|---|
| 5000 | API | Localhost by default |
TIP
The API listens on all interfaces but is protected by API key authentication. For additional security, restrict access using firewall rules.
Outbound Connections
The installation script requires internet access to download packages and source files.
Filesystem Requirements
Required Directories
| Directory | Purpose | Permissions |
|---|---|---|
/etc/lxc_autoscale_ml/ | Configuration files | root:root 755 |
/var/log/ | Log files | root:root 755 |
/var/lock/ | Lock files | root:root 755 |
/usr/local/bin/lxc_autoscale_ml/ | Application code | root:root 755 |
Disk Space for Logs
| File | Typical Size | Notes |
|---|---|---|
lxc_metrics.json | 2 MB max | Limited to 1000 entries |
lxc_autoscale_ml.log | Varies | Use logrotate |
autoscaleapi.log | Varies | Use logrotate |
Container Requirements
Supported Container Types
- Standard LXC containers
- Privileged and unprivileged containers
- Any Linux distribution inside containers
LXCFS Configuration
For accurate load average reporting inside containers, LXCFS must be configured with the -l flag:
# Check current configuration
grep ExecStart /lib/systemd/system/lxcfs.service
# Should include -l flag:
# ExecStart=/usr/bin/lxcfs /var/lib/lxcfs -lVerification Commands
Run these commands to verify your system meets requirements:
# Check Proxmox version
pveversion
# Check Python version
python3 --version
# Check available disk space
df -h /var/log
# Check if required commands exist
which pct pvesh
# Verify LXCFS is running
systemctl status lxcfsKnown Limitations
Container ID Range
The API validates container IDs between 100 and 999999. IDs outside this range are rejected.
Maximum Containers
Tested with up to 200 containers. Performance remains stable with batch async processing.
Metrics Storage
The metrics file is limited to 1000 entries (configurable). Older entries are automatically removed.
Next Steps
- Installation: Install LXC AutoScale ML
- Getting Started: Quick start guide
