---
# Project source code URL: https://github.com/ether/etherpad-lite

matrix_etherpad_enabled: false

# standalone = etherpad installed on subdomain (etherpad.DOMAIN) and can be used as-is
# dimension = etherpad installed in subdir of dimension (dimension.DOMAIN/etherpad) and can be used with dimension
matrix_etherpad_mode: standalone

matrix_etherpad_base_path: "{{ matrix_base_data_path }}/etherpad"

matrix_etherpad_version: 1.8.18
matrix_etherpad_docker_image: "{{ matrix_container_global_registry_prefix }}etherpad/etherpad:{{ matrix_etherpad_version }}"
matrix_etherpad_docker_image_force_pull: "{{ matrix_etherpad_docker_image.endswith(':latest') }}"

# List of systemd services that matrix-etherpad.service depends on.
matrix_etherpad_systemd_required_services_list: ['docker.service']

# List of systemd services that matrix-etherpad.service wants
matrix_etherpad_systemd_wanted_services_list: []

# Container user has to be able to write to the source file directories until this bug is fixed:
# https://github.com/ether/etherpad-lite/issues/2683
matrix_etherpad_user_uid: '5001'
matrix_etherpad_user_gid: '5001'

# Controls whether the matrix-etherpad container exposes its HTTP port (tcp/9001 in the container).
#
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:9001"), or empty string to not expose.
matrix_etherpad_container_http_host_bind_port: ''

# A list of extra arguments to pass to the container
matrix_etherpad_container_extra_arguments: []

# Used only when `matrix_etherpad_mode: dimension`
matrix_etherpad_public_endpoint: '/etherpad'

# By default, the Etherpad app can be accessed on etherpad subdomain
matrix_etherpad_base_url: "https://{{ matrix_server_fqn_etherpad }}/"

# Database-related configuration fields.
#
# Etherpad requires a dedicated database
matrix_etherpad_database_engine: 'postgres'

matrix_etherpad_database_username: 'matrix_etherpad'
matrix_etherpad_database_password: 'some-password'
matrix_etherpad_database_hostname: ''
matrix_etherpad_database_port: 5432
matrix_etherpad_database_name: 'matrix_etherpad'

# If a admin username and password is set, the /admin web page will be
# available.
matrix_etherpad_admin_username: ''
matrix_etherpad_admin_password: ''

matrix_etherpad_database_connection_string: 'postgres://{{ matrix_etherpad_database_username }}:{{ matrix_etherpad_database_password }}@{{ matrix_etherpad_database_hostname }}:{{ matrix_etherpad_database_port }}/{{ matrix_etherpad_database_name }}'

# Variables configuring the etherpad
matrix_etherpad_title: 'Etherpad'
matrix_etherpad_abiword: null
matrix_etherpad_soffice: null
matrix_etherpad_default_pad_text: |
  Welcome to Etherpad!

  This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!

  Get involved with Etherpad at https://etherpad.org

# Default Etherpad configuration template which covers the generic use case.
# You can customize it by controlling the various variables inside it.
#
# For a more advanced customization, you can extend the default (see `matrix_etherpad_configuration_extension_json`)
# or completely replace this variable with your own template.
matrix_etherpad_configuration_default: "{{ lookup('template', 'templates/settings.json.j2') }}"

# Your custom JSON configuration for Etherpad goes here.
# This configuration extends the default starting configuration (`matrix_etherpad_configuration_json`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_etherpad_configuration_json`.
#
# Example configuration extension follows:
#
# matrix_etherpad_configuration_extension_json: |
#  {
#   "loadTest": true,
#   "commitRateLimiting": {
#     "duration": 1,
#     "points": 10
#   }
#  }
#
matrix_etherpad_configuration_extension_json: '{}'

matrix_etherpad_configuration_extension: "{{ matrix_etherpad_configuration_extension_json | from_json if matrix_etherpad_configuration_extension_json | from_json is mapping else {} }}"

# Holds the final Etherpad configuration (a combination of the default and its extension).
# You most likely don't need to touch this variable. Instead, see `matrix_etherpad_configuration_json`.
matrix_etherpad_configuration: "{{ matrix_etherpad_configuration_default | combine(matrix_etherpad_configuration_extension, recursive=True) }}"
