Ansible Role linuxfabrik.lfops.collabora¶
This role installs and configures either Collabora Online Development Edition or Collabora Online Enterprise Edition. Note: To use Collabora Enterprise, you need an active Collabora Subscription.
Mandatory Requirements¶
- Enable either the official Collabora CODE Repository or your Collabora Enterprise Repository. This can be done using the linuxfabrik.lfops.repo_collabora_code role.
If you use the "Collabora" Playbook, this is automatically done for you.
Tags¶
collabora
- Installs and configures either Collabora CODE or Collabora Enterprise.
- Triggers: coolwsd.service restart.
collabora:spell_check
- Installs spell checking tools.
- Triggers: none.
collabora:state
- Manages the state of the coolwsd systemd service.
- Triggers: none.
Optional Role Variables¶
collabora__coolwsd_allowed_languages__host_var / collabora__coolwsd_allowed_languages__group_var
- List of dictionaries containing the supported languages of Writing Aids (spell checker, grammar checker, thesaurus, hyphenation) on this instance. Allowing too many has negative effect on startup performance.
- Type: List of dictionaries.
-
Default:
'de_AT''de_CH''de_DE''en_AU''en_CA''en_GB''en_US''fr''it_IT'
-
Subkeys:
-
name:- Mandatory. Name of the language.
- Type: String.
-
state:- Optional. Either
presentorabsent. - Type: String.
- Default:
'present'
- Optional. Either
-
collabora__coolwsd_content_security_policy
- List of CSP policy-directives. See https://w3.org/TR/CSP2.
- Type: List of strings.
- Default:
[]
collabora__coolwsd_deepl_api_url
- URL for the deepl API. Only works if
collabora__coolwsd_deepl_enabledis true. - Type: String.
- Default:
'https://api-free.deepl.com/v2/translate'
collabora__coolwsd_deepl_auth_key
- Auth Key generated by your deepl account. Only works if
collabora__coolwsd_deepl_enabledis true. - Type: String.
- Default:
''
collabora__coolwsd_deepl_enabled
- If true, shows translate option as a menu entry in the compact view and as an icon in the tabbed view.
- Type: Bool.
- Default:
false
collabora__coolwsd_experimental_features
- If experimental features should be enabled or not.
- Type: Bool.
- Default:
false
collabora__coolwsd_logging_file_enable
- If coolwsd should write to a logfile or not.
- Type: Bool.
- Default:
true
collabora__coolwsd_lok_allow
- Allowed hosts as an external data source inside edited files. All allowed post_allow.host and storage.wopi entries are also considered to be allowed as a data source. Used for example in: PostMessage Action_InsertGraphics, =WEBSERVICE() function, external reference in the cell.
- Type: List of strings.
- Default:
[]
collabora__coolwsd_out_of_focus_timeout_secs
- The maximum number of seconds before dimming and stopping updates when the browser tab is no longer in focus.
- Type: Number.
- Default:
120
collabora__coolwsd_post_allow
- List of client IP addresses to allow for POST(REST).
- Type: List of strings.
- Default:
[]
collabora__coolwsd_ssl_enable
- Controls whether SSL encryption between coolwsd and the network is enabled (do not disable for production deployment).
- Type: Bool.
- Default:
false
collabora__coolwsd_ssl_settings_ca_file_path
- Path to the ca file. Set this when coolwsd is SSL-terminating.
- Type: String.
- Default:
'/etc/coolwsd/ca-chain.cert.pem'
collabora__coolwsd_ssl_settings_cert_file_path
- Path to the cert file. Set this when coolwsd is SSL-terminating.
- Type: String.
- Default:
'/etc/coolwsd/cert.pem'
collabora__coolwsd_ssl_settings_key_file_path
- Path to the key file. Set this when coolwsd is SSL-terminating.
- Type: String.
- Default:
'/etc/coolwsd/key.pem'
collabora__coolwsd_ssl_settings_ssl_verification
- Enable or disable SSL verification of hosts remote to coolwsd. If true SSL verification will be strict, otherwise certs of hosts will not be verified.
- Type: Bool.
- Default:
false
collabora__coolwsd_ssl_termination
- Enable if coolwsd is behind a SSL-terminating proxy and therefore should act as if its using https but actually receives http.
- Type: Bool.
- Default:
true
collabora__coolwsd_storage_wopi__host_var / collabora__coolwsd_storage_wopi__group_var
- List of dictionaries containing regex pattern of hostname to allow access to the backend storage. Usually the hostname application that uses Collabora CODE, for example Nextcloud.
- Type: List of dictionaries.
-
Default:
[] -
Subkeys:
-
name:- Mandatory. Regex pattern.
- Type: String.
-
state:- Optional. Either
presentorabsent. - Type: String.
- Default:
'present'
- Optional. Either
-
collabora__coolwsd_welcome_enable
- Controls whether the welcome screen should be shown to the users on new install and updates.
- Type: Bool.
- Default:
false
collabora__language_packages__host_var / collabora__language_packages__group_var
- A list of dictionaries containing additional packages to be installed for language support (spell checking, thesaurus, etc).
- Type: List of dictionaries.
-
Default:
dict,mythesandhunspellfor de, en, fr, it -
Subkeys:
-
name:- Mandatory. Name of the package.
- Type: String.
-
state:- Optional. Either
presentorabsent. - Type: String.
- Default:
'present'
- Optional. Either
-
collabora__logrotate
- Log files are rotated
countdays before being removed or mailed to the address specified in alogrotatemail directive. If count is0, old versions are removed rather than rotated. If count is-1, old logs are not removed at all (use with caution, may waste performance and disk space). - Type: Number.
- Default:
{{ logrotate__rotate | d(14) }}
collabora__service_enabled
- Enables or disables the coolwsd service, analogous to
systemctl enable/disable --now. - Type: Bool.
- Default:
true
collabora__use_code
- Use Collabora CODE Edition instead of Collabora Enterprise Edition.
- Type: Bool.
- Default:
true
Example:
# optional
collabora__coolwsd_allowed_languages__group_var: []
collabora__coolwsd_allowed_languages__host_var:
- name: 'de_AT'
state: 'present'
- name: 'it_IT'
state: 'present'
collabora__coolwsd_content_security_policy:
- 'frame-ancestors https://office.example.com'
collabora__coolwsd_deepl_api_url: 'https://api-free.deepl.com/v2/translate'
collabora__coolwsd_deepl_auth_key: 'd3ca0484-915a-4214-80a5-b75f95238d9c:fx'
collabora__coolwsd_deepl_enabled: false
collabora__coolwsd_experimental_features: false
collabora__coolwsd_logging_file_enable: true
collabora__coolwsd_lok_allow: []
collabora__coolwsd_out_of_focus_timeout_secs: 120
collabora__coolwsd_post_allow: []
collabora__coolwsd_ssl_enable: false
collabora__coolwsd_ssl_settings_ca_file_path: '/etc/coolwsd/ca-chain.cert.pem'
collabora__coolwsd_ssl_settings_cert_file_path: '/etc/coolwsd/cert.pem'
collabora__coolwsd_ssl_settings_key_file_path: '/etc/coolwsd/key.pem'
collabora__coolwsd_ssl_settings_ssl_verification: false
collabora__coolwsd_ssl_termination: true
collabora__coolwsd_storage_wopi__group_var: []
collabora__coolwsd_storage_wopi__host_var:
- name: 'cloud\.example\.com'
state: 'present'
collabora__coolwsd_welcome_enable: true
collabora__language_packages__group_var: []
collabora__language_packages__host_var:
- name: 'collaboraoffice-dict-de'
state: 'absent'
# el
- name: 'collaboraoffice-dict-el'
state: 'present'
- name: 'collaboraofficebasis-el'
state: 'present'
- name: 'hunspell-el'
state: 'present'
- name: 'mythes-el'
state: 'present'
# es
- name: 'collaboraoffice-dict-es'
- name: 'collaboraofficebasis-es'
- name: 'hunspell-es-*'
- name: 'mythes-es'
collabora__logrotate: 7
collabora__service_enabled: true
collabora__use_code: false