Skip to content

ArthurMTX/Virtuose

Repository files navigation

logo

Virtuose

📗 Table of Contents

📖 [Virtuose]

Virtuose is a lightweight virtualization web solution that simplifies the management of virtual environments. It integrates backend services, a database, and a frontend interface, all orchestrated with Docker.

🛠 Built With

Tech Stack

Frontend
  • HTML5 - The standard markup language for creating web pages and web applications.
  • CSS3 - Used for styling and designing the frontend of the application.
  • JavaScript - Provides interactive elements and client-side functionality.
Backend
  • Django - A high-level Python web framework that enables rapid development of secure and maintainable websites.
  • Gunicorn - A Python WSGI HTTP server for running Python web applications.
Database
  • PostgreSQL - A powerful, open-source object-relational database system with over 30 years of active development.
Virtualization
  • libvirt - A toolkit for managing virtualization platforms such as KVM, QEMU, and others. It is used in Virtuose to control virtual machines on the hypervisor.
  • QEMU - A hosted virtual machine monitor that Virtuose uses for emulating various hardware and running virtual machines.
Containerization
  • Docker - A platform for developing, shipping, and running applications in containers. Virtuose leverages Docker to run its backend, frontend, and database in isolated environments.
  • Docker Compose - A tool for defining and running multi-container Docker applications. It allows the orchestration of the backend, frontend, and database services in Virtuose.

Key Features

  • Backend API: A robust REST API built with Django.
  • Frontend Web Interface: A user-friendly interface for managing virtual environments.
  • PostgreSQL Database: A reliable, high-performance database for storing application data.

(back to top)

💻 Getting Started

To get a local copy of Virtuose up and running, follow these steps:

Prerequisites

Before you begin, make sure you have the following installed on your local machine:

  • Docker: Docker is required to manage services in isolated containers. You can install Docker by following the instructions here.

    # To check if Docker is installed
    docker --version
    
  • Docker Compose: Used to define and manage the multi-container Docker setup. Install Docker Compose by following the guide here.

    # To check if Docker Compose is installed
    docker-compose --version
    
    

Setup

Clone the repository to your desired directory:

git clone https://gitlab.com/virtuose-ema/virtuose-app.git
cd virtuose-app

Set up environment variables:

cp .env.example .env

Installation

Hypervisor

Execute as root the ./install.sh at the root of Virtuose project directory to install and configure the hypervisor on the host machine. (only tested on ubuntu 24 atm)

chmod +x install.sh
sudo ./install.sh

Start the project

You need to have docker and docker compose installed in order to run the project.

To start the docker compose, run the build.sh at the root of Virtuose project directory.

chmod +x build.sh
sudo ./build.sh

Be sure libvirtd is running on the host (hypervisor) :

systemctl status libvirtd

Frontend is accessible from http://localhost:8000
Api is accessible from http://localhost:8080

(back to top)

👥 Authors

👤 Maxime

👤 Dorian

👤 Arthur.P

👤 Aurélien

👤 Arthur.M

👤 Lucas

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

📝 License

This project is MIT licensed.

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •