{"id":28092698,"url":"https://github.com/arian-ott/kernreaktor","last_synced_at":"2026-02-27T01:04:13.050Z","repository":{"id":289473317,"uuid":"971369692","full_name":"Arian-Ott/kernreaktor","owner":"Arian-Ott","description":"Kernreaktor — A fast, load-driven orchestration system for Proxmox containers. Secure, scalable, and optimised for intelligent resource management.","archived":false,"fork":false,"pushed_at":"2025-05-04T13:12:51.000Z","size":186,"stargazers_count":2,"open_issues_count":16,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-04T13:39:39.401Z","etag":null,"topics":["auto-scaling","docker","fastapi","mqtt","open-source","proxmox"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Arian-Ott.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-23T12:23:09.000Z","updated_at":"2025-05-04T13:10:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"d0c54ec9-93bf-42be-a38d-4f2a745c9eab","html_url":"https://github.com/Arian-Ott/kernreaktor","commit_stats":null,"previous_names":["arian-ott/kernreaktor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arian-Ott%2Fkernreaktor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arian-Ott%2Fkernreaktor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arian-Ott%2Fkernreaktor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arian-Ott%2Fkernreaktor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arian-Ott","download_url":"https://codeload.github.com/Arian-Ott/kernreaktor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253950939,"owners_count":21989435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-scaling","docker","fastapi","mqtt","open-source","proxmox"],"created_at":"2025-05-13T13:36:36.892Z","updated_at":"2026-02-27T01:04:13.018Z","avatar_url":"https://github.com/Arian-Ott.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kernreaktor\n\n![Kernreaktor Definition](docs/assets/definition.png)\n\n**Kernreaktor** (nuclear reactor) is an open source project attempting to manage the load of Proxmox nodes. In every Proxmox homelab one encounters the challenge that there are many containers running with low resources but no intelligent coordination between them. These idle LXC containers or underutilized VMs consume baseline system capacity without contributing to meaningful workloads.\n\nKernreaktor tackles this by introducing centralised logic for dynamic resource management and load-aware orchestration. Its key use case is to monitor the current system state of all connected Proxmox nodes and:\n\n- Limit resources (CPU shares, memory, disk I/O) of containers and VMs that show persistently low load, thereby freeing up system performance for other tasks.\n\n- Detect spikes or workload surges on any instance in real time and respond by automatically migrating the stressed VM or container to a node classified as high performance.\n\n- Apply different strategies based on administrator-defined criteria: e.g., memory pressure, I/O wait, CPU steal time, or queue lengths.\n\nThis allows homelab admins to tune their cluster to react like an autonomous power grid — always adapting to where energy (in this case, compute power) is needed most.\n\n## Motivation\n\nWith the beginning of my Business Informatics degree, I started building my own homelab. As of today it consists of one MSI Cubi5 with an Intel core i7 (12 CPU cores). It is obvious that having a proxmox setup with **one** node represented by a mini pc is not sufficient for high performance computing tasks. Hence, I bought a used **HPE ProLiant DL360 Gen9** for high performance tasks (e.g. CI/CD automations, intensive calculations and what not).\n\nThis beast houses an insane 14-Core Intel Xenon with 2.4 GHz, 32 GB DDR4 RAM and 2x 300 GB HDD which are all cooled by 7 fans and powered by a 500 W power supply (though it uses only 300 W).\n\nFor a homelab this setup is definetely overkill. Especially considering the jump from a \"little\" MSI Cubi5 to a full data centre graded high performance server.\n\nIn the past I needed for some projects a high computational power to complete them. A prominent example was my first semester thesis about Retrieval Augmented Generation (RAG) where I built a complete data pipeline including a Vector Database, a Document DB and a massive load of text data (including excerpts of the German common law and the whole ring cycle of Wagner). Just processing and embedding the text files was painful, as the mini PC came at its limits.\n\nWith the server I ordered solving those problems will be much easier in the future.\n\n**However there is one \u003cu\u003e_big_\u003c/u\u003e limitation**\n\nElectrical power.\n\nObviously, I can't run this server 24/7 with its 300W power consumption.\n\nI have to design a system which automatically spins up the HP server when needed.\n\n\u003e[!TIP]\n\u003eThe name `Kernreaktor` was inspired by the power of the server. Since the server has the power of a nuclear reactor comared to the MSI Cubi5, I named the project accordingly.\n\n## Architecture\n\nKernreaktor is a Python FastAPI in a dockerised environment.\n\n## Features\n\nThis section covers all features of the Kernreaktor. Planned features are **unticked** checkboxes, implemented are **ticked** checkboxes. For each feature there will be an opened issue.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farian-ott%2Fkernreaktor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farian-ott%2Fkernreaktor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farian-ott%2Fkernreaktor/lists"}