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.

Runs on

  • RHEL 8 (and compatible)

Mandatory Requirements

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

Tags

Tag

What it does

collabora

Installs and configures either Collabora CODE or Collabora Enterprise

collabora:spell_check

Installs spell checking tools

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_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. Possible options:

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). Possible options:

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_termination

Enable if coolwsd is behind a SSL-terminating proxy and therefore should act as if its using https but actually receives http. Possible options:

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__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. Possible options:

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_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_termination: true
collabora__coolwsd_storage_wopi__group_var: []
collabora__coolwsd_storage_wopi__host_var:
  - name: 'cloud\.example\.com'
    state: 'present'
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