Setup Controller

This guide will walk you through the steps required to get your cloud platform up and running quickly. Whether you're a seasoned system administrator or a first-time user, this guide is designed to make the installation process as smooth as possible.

Recommended setup

We recommend running the controller and the compute on separate servers. The controller can be installed on a server or even your laptop or PC. The compute should be installed on a server with virtualization support (e.g. KVM).

Prerequisites

  • Docker
  • Docker Compose

Install

Clone the repository

git clone https://github.com/webvirtcloud/webvirtcloud.git

Go into the webvirtcloud directory

cd webvirtcloud

Caddy

Rename Caddyfile from templates Caddyfile.selfsigned or Caddyfile.letsencrypt to Caddyfile.

For example, if you want to use a self-signed certificate.

cp Caddyfile.selfsigned Caddyfile

Run script for deploy

./webvirtcloud.sh env

Start

./webvirtcloud.sh start

Open client side in browser

Example for domain: webvirt.local

http://client.webvirt.local

You can log in with the following credentials:

  • Username: [email protected]
  • Password: 1qaz2wsx
  • Token: fcc69bfad35527d087bf22a8a84a4f6c3b75387877c78ae3050e9e8036ef

Open admin side in browser

Example for domain: webvirt.local

http://manage.webvirt.local

You can log in with the following credentials:

Allow custom SSL certificate (optional)

Warning

If you use webvirt.local wildcard domain you need to allow custom SSL certificate in browser.

http://assets.webvirt.local

https://api.webvirt.local

Update controller

Run update script

./webvirtcloud.sh update
Warning

Don't forget update WebVirtCompute daemon on nodes after update controller.

Wait until the update process finishes.

Additional settings

You can change the default settings in the custom.env file. Just copy variables you want to change from the global.env file and change them in the custom.env file. Example for mail settings:

# Email environment variables
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 587
EMAIL_HOST_USER = "admin"
EMAIL_HOST_PASSWORD = "admin"
EMAIL_USE_TLS = True
EMAIL_FROM = "WebVirtCloud <[email protected]>"

API

The API endpoints are available at http://api.webvirt.local/v1/. You can use them to create, delete, and manage virtual machines. You can log in with the following credentials:

  • Username: [email protected]
  • Password: 1qaz2wsx
  • Token: fcc69bfad35527d087bf22a8a84a4f6c3b75387877c78ae3050e9e8036ef

Example API requests:

curl -X GET http://api.webvirt.local/v1/virtances/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fcc69bfad35527d087bf22a8a84a4f6c3b75387877c78ae3050e9e8036ef"
Warning

Also check README.md which is always up-to-date.