= Nextcoloud Appliance == Server setup Copy your ssh key to the server for the root user ``` workstation $ ssh-copy-id root@server_ip ``` == Ansible Playbooks Use the ansible playbooks to setup the nextcloud appliance ``` workstation $ ansible-playbook -i inventory_source, ansible/nextcloud_bootstrap.yaml ``` Debian 10 needs the Python interpreter setup by setting `-e ansible_python_interpreter=/usr/bin/python3` or in the inventory file. This example runs the playbook with debugging information, for a specific host, and the Python interpreter. ``` workstation $ ansible-playbook -vvv -u root -i 192.168.1.112, -e ansible_python_interpreter=/usr/bin/python3 nextcloud_appliance.yaml ``` === Parameters There are multiple variables that can be set to customize the nextcloud installation. * *To set the Nextcloud instance domain name set the `nextcloud_domain_name` variable* ``` workstation $ ansible-playbook -vvv -u root -i 192.168.1.112, -e nextcloud_domain_name="nextcloud.example.com" nextcloud_appliance.yaml ``` == Collabora Office Load Balance Collabora uses the WOPI procotol. This protocol can be balanced by using the `WOPISrc` to send the traffic to the proper loolwsd server. Disable SSL of the loolwsd web service. ==== loolwsd.xml ``` false true ``` ==== HAProxy Configure HAProxy to extract the `WOPISrc` URL parameter and use it to send always the traffic to the same `loolwsd` backend. ``` Frontend loolwsdbind \*:443 ssl crt /Path to your certificate_and_key.pem http-request set-header X-HAProxy-loolwsd %[url_param(WOPISrc)] mode http default_backend loolwsd backend loolwsd timeout tunnel 3600s mode http balance hdr(X-HAProxy-loolwsd) server lool1 :9980 server lool2 :9980 server lool3 :99 ``` References: * https://www.microfocus.com/documentation/filr/filr-4/filr-inst/t4duiofh1cz7.html