Git Product home page Git Product logo

qemu-gui's Introduction

qemu-gui

A web-based QEMU interface

I'm not updating qemu-gui. Check out Proxmox which is a supported and actually functional alternative.

This project is designed to be run on a local server and allows a client to connect and spin up KVM accelerated virtual machines. This program has only very basic support for some features of QEMU. A client can upload ISOs and create raw disk images on the server, and they can configure a virtual machine using these disks. The server also hosts a (very bad) SPICE over WebSockets client. A port can be set so a real SPICE client can be used.

Screenshot

Installation Instructions

Clone the repository (make sure to use --recurse-submodules to clone the SPICE client).

Run npm run dev to start a development server, or npm start for a production server. If you want a reverse proxy for HTTPS, run node proxy.js instead (this starts a production server on port 5000).

Deployment Instructions

The whole program can be run under a docker container. So just install docker, clone the repo, and add TLS keys and passwords.

First, you'll need to copy your TLS keys to the server. If you're not using Let's Encrypt, you'll also need to edit the Docker Compose file to bind-mount a different path.

Next, create a file called keys.json in the root of the cloned repository that looks something like this:

{
    "key": "Basic abcdefghijklmnop",
    "tls": {
        "key": "/etc/letsencrypt/live/example.com/privkey.pem",
        "fullchain": "/etc/letsencrypt/live/example.com/fullchain.pem",
        "cert": "/etc/letsencrypt/live/example.com/cert.pem",
        "cacert": "/etc/letsencrypt/live/example.com/chain.pem"
    }
}

Replace abcdefghijklmnop with the Base64 encoding of username:password where username and password are the username and password you wish to use for HTTP authentication. Also, replace the values under tls with paths to the correct TLS keys. You can remove the tls part to disable TLS.

Finally, run sudo docker-compose up to start the server.

qemu-gui's People

Contributors

slowtacocar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.