Enable build support by adding .onedev-buildspec.yml
| .password_hash_gen | Loading last commit info... | |
| core | ||
| pages | ||
| public | ||
| server | ||
| types | ||
| util | ||
| LICENSE | ||
| README.md | ||
| app.vue | ||
| ecosystem.config.js | ||
| nuxt.config.ts | ||
| package.json | ||
| panel.config.ts | ||
| tailwind.config.js | ||
| tsconfig.json |
README.md
Nuvira Control Panel
A lightweight control panel for managing QEMU/KVM virtual machines and system services, built with Nuxt 3 + DaisyUI.
Overview
Nuvira is a sleek, self-hosted web interface for monitoring your system and managing virtualization through libvirt/QEMU. It offers real-time hardware insights and control over virtual machines and services — ideal for homelabs and lightweight server setups.
Features
- 🖥️ Live system monitoring (CPU, memory, OS, etc.)
- 💾 Manage QEMU/KVM virtual machines (Start / Shutdown)
- 🔧 View and track systemd services
- 💡 Simple configuration via a single
panel.config.tsfile - 🎨 Fully styled using Tailwind + DaisyUI
Technologies Used
- Nuxt 3 – Modern Vue 3 framework
- DaisyUI – Clean UI components on Tailwind
- systeminformation – Fetch live system stats
- PM2 – Process manager (recommended for deployment)
Installation
Prerequisites
Steps
- Clone the repository:
git clone https://github.com/WeeXnes/nuvira.git cd nuvira - Install dependencies:
npm install - Set the admin password:
npm run password_gen <password> - Build the Panel
npm run build - Start the Server
pm2 start
Configuration
Modify the panel.config.ts file (if needed) to configure VM management and system services settings.
import { reactive } from "vue";
export const settings = reactive({
ignoreCache: true,
// Leave empty to scan all interfaces
// or change item to "disabled" to disable interface scanning
interfaces_to_scan:[
"eth0"
],
// enable or disable QEMU controls
enable_qemu_controls: true,
// list the qemu vm names you want to monitor/scan for
qemu_vms: [
{
name: "Gameserver",
// OS Info has to be declared here due to technical
// limitations of not being able to gather vm OS info
os: "Ubuntu 24.04"
},
{
name: "Ubuntu_VM1",
os: "Ubuntu 24.04"
},
],
//enable or disable systemctl service monitoring
enable_services: true,
//list systemctl services to monitor/scan for
systemctl_services:[
"libvirt",
"frp"
],
// set the password hash by running "npm run password_gen <password>" before building
password_hash: ""
});
Usage
- The dashboard provides an overview of system information.
- You can start or shut down virtual machines.
- Service monitoring
Optional (Recommended)
Running the Website with SSL
- Guide coming soon
Author
Developed by WeeXnes