changed README.md

This commit is contained in:
WeeXnes 2025-07-03 00:36:03 +02:00
parent 499a733e9e
commit ffed277352
2 changed files with 29 additions and 73 deletions

8
.gitignore vendored
View file

@ -0,0 +1,8 @@
# Node modules
node_modules/
# Nuxt build output
.nuxt/
# Package lock
package-lock.json

View file

@ -1,123 +1,71 @@
# Nuvira Control Panel # Fruity Docs
> A lightweight control panel for managing **QEMU/KVM virtual machines** and **system services**, built with Nuxt 3 + DaisyUI. > A documentation framework based on Nuxt 3 and DaisyUI, with a MongoDB backend. The project is currently in an early development stage.
![WebStorm](https://img.shields.io/badge/WebStorm-000000?style=for-the-badge&logo=WebStorm&logoColor=white)
![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
![Nuxt.js](https://img.shields.io/badge/nuxt%20js-00C58E?style=for-the-badge&logo=nuxtdotjs&logoColor=white) ![Nuxt.js](https://img.shields.io/badge/nuxt%20js-00C58E?style=for-the-badge&logo=nuxtdotjs&logoColor=white)
![DaisyUI](https://img.shields.io/badge/daisyUI-1ad1a5?style=for-the-badge&logo=daisyui&logoColor=white) ![DaisyUI](https://img.shields.io/badge/daisyUI-1ad1a5?style=for-the-badge&logo=daisyui&logoColor=white)
![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white) ![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)
![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
![MongoDB](https://img.shields.io/badge/MongoDB-47A248?style=for-the-badge&logo=mongodb&logoColor=white)
## Overview ## 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. **Fruity Docs** is a modern, self-hostable documentation framework. It's designed to be easy to use and customize, making it ideal for project documentation, wikis, and knowledge bases. As the project is in its early stages, features are subject to change.
## Features ## Features
- 🖥️ Live system monitoring (CPU, memory, OS, etc.) - 📝 **Markdown-Based:** Write documentation in Markdown.
- 💾 Manage QEMU/KVM virtual machines (Start / Shutdown) - 🎨 **Customizable:** Easily themeable with DaisyUI and Tailwind CSS.
- 🔧 View and track systemd services - 🚀 **Nuxt 3:** Built on the latest version of Nuxt for a great developer experience.
- 💡 Simple configuration via a single `panel.config.ts` file - 💾 **MongoDB Backend:** For data persistence.
- 🎨 Fully styled using Tailwind + DaisyUI - 💡 **Early Development:** A great time to contribute and shape the project!
## Technologies Used ## Technologies Used
- **[Nuxt 3](https://nuxt.com/)** Modern Vue 3 framework - **[Nuxt 3](https://nuxt.com/)** Modern Vue 3 framework
- **[DaisyUI](https://daisyui.com/)** Clean UI components on Tailwind - **[DaisyUI](https://daisyui.com/)** Clean UI components on Tailwind
- **[systeminformation](https://www.npmjs.com/package/systeminformation)** Fetch live system stats - **[Tailwind CSS](https://tailwindcss.com/)** - A utility-first CSS framework.
- **[MongoDB](https://www.mongodb.com/)** - NoSQL Database
- **[PM2](https://pm2.keymetrics.io/)** Process manager (recommended for deployment) - **[PM2](https://pm2.keymetrics.io/)** Process manager (recommended for deployment)
## Installation ## Installation
### Prerequisites ### Prerequisites
- [Node.js](https://nodejs.org/) (v16+) - [Node.js](https://nodejs.org/) (v18+)
- [NPM](https://www.npmjs.com/) - [NPM](https://www.npmjs.com/)
- [QEMU/KVM](https://www.linux-kvm.org/page/Main_Page) (optional but supported) - [MongoDB](https://www.mongodb.com/try/download/community)
- [PM2](https://pm2.keymetrics.io/) for production - [PM2](https://pm2.keymetrics.io/) for production
### Steps ### Steps
1. Clone the repository: 1. Clone the repository:
```sh ```sh
git clone https://github.com/WeeXnes/nuvira.git git clone https://git.weexnes.dev/WeeXnes/fruity-docs.git
cd nuvira cd fruity-docs
``` ```
2. Install dependencies: 2. Install dependencies:
```sh ```sh
npm install npm install
``` ```
3. Set the admin password: 3. Build the application:
```sh
npm run password_gen <password>
```
4. Build the Panel
```sh ```sh
npm run build npm run build
``` ```
5. Start the Server 4. Start the server:
```sh ```sh
pm2 start pm2 start
``` ```
## Configuration ## Configuration
Modify the `panel.config.ts` file (if needed) to configure VM management and system services settings. Modify the `fruity.config.ts` file to configure your documentation site.
```ts
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: ""
});
```
*Configuration options are currently under development.*
## Usage ## Usage
- The dashboard provides an overview of system information. Once installed and running, you can start creating and viewing your documentation.
- You can start or shut down virtual machines.
- Service monitoring
## Optional (Recommended)
### Running the Website with SSL
- Guide coming soon
## Author ## Author