Ansible Role 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

If you use the „Collabora“ Playbook, this is automatically done for you.

Tags

Tag

What it does

Reload / Restart

collabora

Installs and configures either Collabora CODE or Collabora Enterprise

Restarts coolwsd.service

collabora:spell_check

Installs spell checking tools

-

collabora:state

Manages the state of the coolwsd systemd service

-

Optional Role Variables

Variable

Description

Default Value

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. Subkeys:

  • name: Mandatory, string. Name of the language.
  • state: Optional, string. Either present or absent. Defaults to present.

  • 'de_AT'
  • 'de_CH'
  • 'de_DE'
  • 'en_AU'
  • 'en_CA'
  • 'en_GB'
  • 'en_US'
  • 'fr'
  • 'it_IT'

collabora__coolwsd_content_security_policy

List of CSP policy-directives. See https://w3.org/TR/CSP2.

[]

collabora__coolwsd_deepl_api_url

URL for the deepl API. Only works if collabora__coolwsd_deepl_enabled is true.

'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_enabled is true.

''

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.

false

collabora__coolwsd_experimental_features

If experimental features should be enabled or not.

false

collabora__coolwsd_logging_file_enable

If coolwsd should write to a logfile or not.

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.

[]

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.

120

collabora__coolwsd_post_allow

List of client IP addresses to allow for POST(REST).

[]

collabora__coolwsd_ssl_enable

Controls whether SSL encryption between coolwsd and the network is enabled (do not disable for production deployment).

false

collabora__coolwsd_ssl_settings_ca_file_path

Path to the ca file. Set this when coolwsd is SSL-terminating.

'/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.

'/etc/coolwsd/cert.pem'

collabora__coolwsd_ssl_settings_key_file_path

Path to the key file. Set this when coolwsd is SSL-terminating.

'/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.

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.

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. Ususally the hostname application that uses Collabora CODE, for example Nextcloud. Subkeys:

  • name: Mandatory, string. Regex pattern.
  • state: Optional, string. Either present or absent. Defaults to present.

[]

collabora__coolwsd_welcome_enable

Controls whether the welcome screen should be shown to the users on new install and updates.

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). Subkeys:

  • name: Mandatory, string. Name of the package
  • state: Optional, string. Either present or absent. Defaults to present.

dict, mythes and hunspell for de, en, fr, it

collabora__logrotate

Number. Log files are rotated count days before being removed or mailed to the address specified in a logrotate mail directive. If count is 0, 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).

{{ logrotate__rotate | d(14) }}

collabora__service_enabled

Enables or disables the coolwsd service, analogous to systemctl enable/disable --now.

true

collabora__use_code

Use Collabora CODE Edition instead of Collabora Enterprise Edition.

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

License

The Unlicense

Author Information

Linuxfabrik GmbH, Zurich