Skip to content
/ maimok Public
forked from fotcorn/maimok

A web interface for virtual machines running on KVM/libvirt

License

Notifications You must be signed in to change notification settings

cieons/maimok

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maimok

A web interface for virtual machines running on KVM/libvirt written in Go and Vue.js

Features

  • Create virtual machines from base images supporting cloud-init (currently, only Ubuntu based images are tested and supported)
  • Configure RAM and disk space on creation
  • Setup network inside VM: IP address, netmask, gateway
  • Create user sysadmin with sudo permissions (without password)
  • Inject ssh keys into VM (sysadmin user)
  • Set hostname of VM
  • Install all updates on first bootup
  • Install all apt upgrades and reboot VM at 04:00 if necessary (unattended-upgrades)

Tested with base images from https://cloud-images.ubuntu.com/.

Screenshots

Screentshot1 Screentshot2

Setup

Development

Backend

The REST API backend is written in Go using the chi router. To start hacking on the backend:

  • Install Go
  • Create a config.toml file from the provided example-config.toml file
  • Run the backend with go run main.go

Frontend

The web frontend is a TypeScript SPA using Vue.js and the Vuetify.js component frameowrk.

  • Install a current version of node.js, npm and yarn
  • Install dependencies: yarn
  • Run the development server: yarn serve

About

A web interface for virtual machines running on KVM/libvirt

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 53.1%
  • Vue 37.9%
  • TypeScript 3.0%
  • JavaScript 2.3%
  • HTML 1.9%
  • Dockerfile 1.8%