Installation using Ansible playbook

You can install the complete Storware Backup & Recovery solution using the following 2 roles, available on Ansible Galaxy:

This approach installs a server and one or more nodes on remote hosts and generates an SSL certificate based on the server hostname. The end result should be the same as an RPM-based installation without the staging setup. Configuration (such as backup destination definition or hypervisor connectivity) still needs to be done after installation. You can also add more nodes in the future if necessary.


You can find list of all supported operating systems in this chapter

You need to prepare CentOS or RHEL minimal for Storware Backup & Recovery (both roles can be installed on the same or different hosts). The Ansible control host should have Ansible installed so that it uses Python 3.x.0

This example assumes that you have root access to this host and you have configured your Ansible to connect with SSH public keys to your host. For example:

generate key: ssh-keygen -f ~/.ssh/id_rsa -P ""

and copy it to your CentOS/RHEL box: ssh-copy-id -i ~/.ssh/ root@YOUR_HOST

The nodes will communicate with the Storware Backup & Recovery Server via port 8181, so they need to be able to access it using the server's FQDN (this needs to be resolvable).

Ansible variables

These two roles use just a few variables. Both plays use the server_fqdn variable. If not defined, the server play sets the variable server_fqdn to the hostname reported by the OS on which it is installed. The server play will generate an SSL certificate for this FQDN, and node play will automatically use this value if defined. You can also provide this variable manually (either in the hosts file or with the extra vars switch in the ansible-playbook command -e "server_fqdn=vprotect.server.local"

Node play needs a node_name for the registration process. If not provided, it will just use the hostname reported by the OS, however, keep in mind that it needs to be unique for each node. We recommend that you set them in the host inventory file.

Optionally, you may want to set a db_password for the root DB access which is set during server installation. Note, that the Server service uses its own account with an auto-generated password.

By default, Storware Backup & Recovery uses MariaDB 10.6 for CentOS - you can control the source, distribution and version of your MariaDB with the following variables (with their respective default values):

mariadb_version: "10.6"
mariadb_distro: "centos"
mariadb_repo_url: "{{ mariadb_version }}/{{ mariadb_distro }}/{{ ansible_distribution_major_version }}/x86_64"
mariadb_repo_gpg_key: ""

Installation steps

Before installing Storware Backup & Recovery we highly recommend doing a system update and reboot.

This example assumes that you want to install both the Storware Backup & Recovery Server and Node using a single playbook and on the same host. However, keep in mind that you may also install them separately by providing different target hosts and using separate playbooks like in the examples in the readme roles (links above).

Run these on the system from which you run Ansible playbooks:

  • Install Ansible roles:

    ansible-galaxy install xe0nic.ansible_vprotect_server
    ansible-galaxy install xe0nic.ansible_vprotect_node
  • Install additional collections

    ansible-galaxy install -r  ~/.ansible/roles/xe0nic.ansible_vprotect_server/meta/collections.yml
    ansible-galaxy install -r  ~/.ansible/roles/xe0nic.ansible_vprotect_node/meta/collections.yml
  • Create a playbook directory and change it to a working directory: mkdir storware && cd storware

  • Create an inventory file - hosts and refer to the location to where you extracted the repository

    • in this example we have specified one node and server, but you can define more nodes (each one must be in a separate line and have a unique node name)

    • the server can be on a different host

    • we recommend having at least one node installed together with the server to run DB backups

    [nodes] node_name=node1


    • admin_pass - password for admin user

    • db_pass - password for mysql root user

    • node_name - name under which node will be registered

If you don't provide password for admin user and mysql root user, it will be set to vPr0tect

  • Create a playbook file - site.yml:

    - hosts: server
      - xe0nic.ansible_vprotect_server
    - hosts: nodes
      - xe0nic.ansible_vprotect_node
  • Run the playbook: ansible-playbook -i hosts site.yml


Now you should be able to log in to the Storware Backup & Recovery server using https://IP_OF_YOUR_MACHINE. By default, Storware Backup & Recovery has one admin account - admin with the password vPr0tect (with a zero).

After the initial log in you can configure single sign-on using LDAP or Keycloak.

Remember to prepare your staging space as described in the Staging space configuration.

Now proceed with the Initial configuration instructions, to configure access to the hypervisors and backup destinations.

Last updated