Skip to content

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.

Available since LFOps 2.0.0.

Dependent Roles

Any LFOps playbook that installs this role runs these for you. Optional ones can be disabled via the playbook's skip variables.

These roles are not enabled by default; enable them via the playbook's skip variables if needed:

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 present or absent.
      • Type: String.
      • Default: 'present'

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_enabled is 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_enabled is 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 present or absent.
      • Type: String.
      • Default: 'present'

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, mythes and hunspell for de, en, fr, it

  • Subkeys:

    • name:

      • Mandatory. Name of the package.
      • Type: String.
    • state:

      • Optional. Either present or absent.
      • Type: String.
      • Default: 'present'

collabora__logrotate

  • 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).
  • 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

License

The Unlicense

Author Information

Linuxfabrik GmbH, Zurich