Originally published at: https://www.onlyoffice.com/blog/2022/01/install-onlyoffice-desktop-editors-remotely-on-multiple-machines-using-ansible/
With Ansible, you can effortlessly launch the ONLYOFFICE desktop application, including remote installation by an administrator on several hosts at once. Read on to learn the details.
About Ansible
Ansible is an open-source IT automation system by Red Hat. It handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation, and multi-node orchestration.
Ansible is easy to deploy: it uses no agents and no additional custom security infrastructure, but a very simple YAML language (in the form of Ansible Playbooks) that allows describing automation jobs in a comprehensible way.
How it works
Ansible Playbooks include Roles, a set of tasks to configure a host to serve a certain purpose like configuring a service. A role structure contains such directories as defaults, vars, tasks, files, templates, meta, and handlers.
So, with a Playbook, we tell Ansible what actions to take on the server. It functions as a mapping between hosts and roles.
Ansible Role for ONLYOFFICE Desktop Editors installs and configures the application on RHEL/CentOS and Debian/Ubuntu servers. It is available in the Ansible Galaxy repository and can be launched with a single command.
Remote installation on several machines
Follow these steps:
1. Install the latest Ansible version.
2. Make sure the remote machines on which you’re going to install ONLYOFFICE Desktop Editors, meet the Managed Node Requirements.
3. Create the playbook.yml file:
- hosts: desktopeditors
roles:
- role: onlyoffice.desktopeditors
become: yes
4. Create the inventory file which contains host addresses where you are installing the application, e.g.:
[desktopeditors]
host_address_1 ansible_user=root
host_address_2 ansible_user=root
5. Install the Ansible Role for ONLYOFFICE Desktop Editors from the admin machine:
ansible-galaxy install onlyoffice.desktopeditors
And launch the Playbook:
ansible-playbook playbook.yml -i inventory