WebVirtCloud is a web-based virtualization platform that allows users to manage and create virtual machines on a remote server. You just need to install WebVirtCloud on a server or even your laptop or PC and you can use it to create, manage, and delete virtual machines. It is a self-hosted alternative to platforms like DigitalOcean, Linode, and Vultr.
- User management: WebVirtCloud allows you to create and manage users.
- Virtual machine management: You can create, manage, and delete virtual machines on a remote server.
- Virtual machine templates: Pre-configured virtual machine templates, such as Ubuntu, Debian, Fedora, CentOS, Almalinux and Rocky Linux.
- Firewall management: You can manage the firewall rules for your virtual machines.
- Floating IP management: You can manage floating IPs for your virtual machines.
We have two components: the controller and the compute. The controller is the web interface that allows you to manage your virtual machines. The compute is the hypervisor that runs the virtual machines.
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).
WebVirtCloud supports multi-region. You can have multiple compute nodes in different regions and manage them from the same controller.
To install WebVirtCloud, follow these steps:
- Copy the compose, change URL and start:
this work with portainer and in cli
docker compose up -d
- Open client side in browser (example for domain:
webvirt.local
):
http://client.webvirt.local
- Open admin side in browser (example for domain:
webvirt.local
):
http://manage.webvirt.local
Warning: If you use webvirt.local
or your own wildcard domain you need to allow SSL certificate in browser.
For assets:
https://assets.webvirt.local
and for API:
https://api.webvirt.local
Default credentials for admin side:
username: [email protected]
password: admin
You can create new user in admin side or register new user in client side.
Run script for update:
./webvirtcloud.sh update
** Warning: ** Don't forget update WebVirtCompute daemon on nodes after update controller.
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]>"
More information about the compute configuration can be found in the WebVirtCompute repository.
WebVirtCloud is licensed under the Apache 2.0 License. See the LICENSE
file for more information.