Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9
Automatically scale LXC containers resources on Proxmox hosts
License
fabriziosalmi/proxmox-lxc-autoscale
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
LXC AutoScale is a resource management daemon specifically designed for Proxmox environments. It automatically adjusts CPU and memory allocations with no downtime and can clone LXC containers based on real-time usage metrics and predefined thresholds. Can be run locally or remotely to make your containers always optimized for performance, managing spikes in demand, and optionally preserving resources during off-peak hours.
- ✅ Works with
Proxmox 8.3.3
Quick Start
| Method | Instructions |
|---|---|
| 🐳 | Docker |
| 🐧 | no Docker |
LXC AutoScale is packed with features that make it an essential tool for managing the auto-scaling of your LXC containers on Proxmox:
- ⚙️ Automatic Resource Scaling
- ⚖️ Automatic Horizontal Scaling
- 📊 Tier Defined Thresholds
- 🛡️ Host Resource Reservation
- 🔒 Ignore Scaling Option
- 🌱 Energy Efficiency Mode
- 🚦 Container Prioritization
- 📦 Automatic Backups
- 🔔 Mail and Push Notifications
- 📈 JSON Metrics
- 💻 Local or remote execution
- 💃 Easy autoconf for humans
- 🐳 Docker supported
Note
If You need to autoscale Virtual Machines resources on Proxmox hosts You will likethis project.
Getting started with LXC AutoScale on your Proxmox host is quick and simple:
curl -sSL https://raw.githubusercontent.com/fabriziosalmi/proxmox-lxc-autoscale/main/install.sh| bashTip
Once installed, the service should be up and running. You can verify this by executing:
systemctl status lxc_autoscale.service
If the conditions set in the configuration are met, you will quickly observe scaling operations in action.
Important
You need to check your/lib/systemd/system/lxcfs.service file for the presence of the-l option which makesloadavg retrieval working as expected. Here the required configuration:
[Unit]Description=FUSE filesystem for LXCConditionVirtualization=!containerBefore=lxc.serviceDocumentation=man:lxcfs(1)[Service]OOMScoreAdjust=-1000ExecStartPre=/bin/mkdir -p /var/lib/lxcfs# ExecStart=/usr/bin/lxcfs /var/lib/lxcfsExecStart=/usr/bin/lxcfs /var/lib/lxcfs -lKillMode=processRestart=on-failureExecStopPost=-/bin/fusermount -u /var/lib/lxcfsDelegate=yesExecReload=/bin/kill -USR1 $MAINPID[Install]WantedBy=multi-user.targetJust update the/lib/systemd/system/lxcfs.service file, executesystemctl daemon-reload && systemctl restart lxcfs and when you are ready to apply the fix restart the LXC containers.
Tnx to No-Pen9082 to point me out to that.Here the Proxmox forum thread on the topic.
LXC AutoScale is designed to be highly customizable. You can reconfigure the service at any time to better suit your specific needs. For detailed instructions on how to adjust the settings, please refer to theofficial documentation.
Tip
If You need LXC AutoScale configuration for all your LXC containers You can automatically generate it by running this command:
curl -sSL https://raw.githubusercontent.com/fabriziosalmi/proxmox-lxc-autoscale/main/lxc_autoscale/lxc_autoscale_autoconf.sh | bashLXC AutoScale and LXC AutoScale ML can be used and extended in many ways, here some useful additional resources:
- 🌐LXC AutoScale UI - Simple web UI to check scaling actions and logs
- 🎛️LXC AutoScale - TIER snippets for 40 self-hosted apps
Tip
LXC AutoScale ML has been finally moved to a new, separaterepository.
LXC AutoScale is an open-source project, and contributions are welcome! Whether you want to submit a pull request, report an issue, or suggest a new feature, your input is invaluable. To get involved, you can:
- Open an issue to report bugs or request new features.
- Submit a pull request to the repository.
- Fork the repository to experiment and develop your custom features.
If You like my projects, you may also like these ones:
- caddy-waf Caddy WAF (Regex Rules, IP and DNS filtering, Rate Limiting, GeoIP, Tor, Anomaly Detection)
- patterns Automated OWASP CRS and Bad Bot Detection for Nginx, Apache, Traefik and HaProxy
- blacklists Hourly updated domains blacklist 🚫
- proxmox-vm-autoscale Automatically scale virtual machines resources on Proxmox hosts
- UglyFeed Retrieve, aggregate, filter, evaluate, rewrite and serve RSS feeds using Large Language Models for fun, research and learning purposes
- DevGPT Code togheter, right now! GPT powered code assistant to build project in minutes
- websites-monitor Websites monitoring via GitHub Actions (expiration, security, performances, privacy, SEO)
- caddy-mib Track and ban client IPs generating repetitive errors on Caddy
- zonecontrol Cloudflare Zones Settings Automation using GitHub Actions
- lws linux (containers) web services
- cf-box cf-box is a set of Python tools to play with API and multiple Cloudflare accounts.
- limits Automated rate limits implementation for web servers
- dnscontrol-actions Automate DNS updates and rollbacks across multiple providers using DNSControl and GitHub Actions
- proxmox-lxc-autoscale-ml Automatically scale the LXC containers resources on Proxmox hosts with AI
- csv-anonymizer CSV fuzzer/anonymizer
- iamnotacoder AI code generation and improvement
Caution
The author assumes no responsibility for any damage or issues that may arise from using this tool.
LXC AutoScale is licensed under the MIT License, which means you are free to use, modify, and distribute this software with proper attribution. For more details, please see theLICENSE file.
About
Automatically scale LXC containers resources on Proxmox hosts
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.