<allowed_languagesdesc="List of supported languages of Writing Aids (spell checker, grammar checker, thesaurus, hyphenation) on this instance. Allowing too many has negative effect on startup performance."default="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru">@ALLOWED_LANGUAGES@</allowed_languages>
<sys_template_pathdesc="Path to a template tree with shared libraries etc to be used as source for chroot jails for child processes."type="path"relative="true"default="systemplate"></sys_template_path>
<child_root_pathdesc="Path to the directory under which the chroot jails for the child processes will be created. Should be on the same file system as systemplate and lotemplate. Must be an empty directory."type="path"relative="true"default="jails"></child_root_path>
<mount_jail_treedesc="Controls whether the systemplate and lotemplate contents are mounted or not, which is much faster than the default of linking/copying each file."type="bool"default="true"></mount_jail_tree>
<server_namedesc="External hostname:port of the server running loolwsd. If empty, it's derived from the request (please set it if this doesn't work). Must be specified when behind a reverse-proxy or when the hostname is not reachable directly."type="string"default=""></server_name>
<file_server_root_pathdesc="Path to the directory that should be considered root for the file server. This should be the directory containing loleaflet."type="path"relative="true"default="loleaflet/../"></file_server_root_path>
<hexify_embedded_urlsdesc="Enable to protect encoded URLs from getting decoded by intermediate hops. Particularly useful on Azure deployments"type="bool"default="false"></hexify_embedded_urls>
<memproportiondesc="The maximum percentage of system memory consumed by all of the @APP_NAME@, after which we start cleaning up idle documents"type="double"default="80.0"></memproportion>
<num_prespawn_childrendesc="Number of child processes to keep started in advance and waiting for new clients."type="uint"default="1">1</num_prespawn_children>
<batch_prioritydesc="A (lower) priority for use by batch eg. convert-to processes to avoid starving interactive ones"type="uint"default="5">5</batch_priority>
<document_signing_urldesc="The endpoint URL of signing server, if empty the document signing is disabled"type="string"default="@VEREIGN_URL@">@VEREIGN_URL@</document_signing_url>
<pdf_resolution_dpidesc="The resolution, in DPI, used to render PDF documents as image. Memory consumption grows proportionally. Must be a positive value less than 385. Defaults to 96."type="uint"default="96">96</pdf_resolution_dpi>
<idle_timeout_secsdesc="The maximum number of seconds before unloading an idle document. Defaults to 1 hour."type="uint"default="3600">3600</idle_timeout_secs>
<!-- They are disabled when the value is zero or negative. -->
<idlesave_duration_secsdesc="The number of idle seconds after which document, if modified, should be saved. Defaults to 30 seconds."type="int"default="30">30</idlesave_duration_secs>
<autosave_duration_secsdesc="The number of seconds after which document, if modified, should be saved. Defaults to 5 minutes."type="int"default="300">300</autosave_duration_secs>
<always_save_on_exitdesc="On exiting the last editor, always perform the save, even if the document is not modified."type="bool"default="false">false</always_save_on_exit>
<limit_load_secsdesc="Maximum number of seconds to wait for a document load to succeed. 0 for unlimited."type="uint"default="100">100</limit_load_secs>
<limit_convert_secsdesc="Maximum number of seconds to wait for a document conversion to succeed. 0 for unlimited."type="uint"default="100">100</limit_convert_secs>
<cleanupdesc="Checks for resource consuming (bad) documents and kills associated kit process. A document is considered resource consuming (bad) if is in idle state for idle_time_secs period and memory usage passed limit_dirty_mem_mb or CPU usage passed limit_cpu_per"enable="false">
<cleanup_interval_msdesc="Interval between two checks"type="uint"default="10000">10000</cleanup_interval_ms>
<bad_behavior_period_secsdesc="Minimum time period for a document to be in bad state before associated kit process is killed. If in this period the condition for bad document is not met once then this period is reset"type="uint"default="60">60</bad_behavior_period_secs>
<idle_time_secsdesc="Minimum idle time for a document to be candidate for bad state"type="uint"default="300">300</idle_time_secs>
<limit_dirty_mem_mbdesc="Minimum memory usage for a document to be candidate for bad state"type="uint"default="3072">3072</limit_dirty_mem_mb>
<limit_cpu_perdesc="Minimum CPU usage for a document to be candidate for bad state"type="uint"default="85">85</limit_cpu_per>
<lost_kit_grace_period_secsdesc="The minimum grace period for a lost kit process (not referenced by loolwsd) to resolve its lost status before it is terminated. To disable the cleanup of lost kits use value 0"default="120">120</lost_kit_grace_period_secs>
<out_of_focus_timeout_secsdesc="The maximum number of seconds before dimming and stopping updates when the browser tab is no longer in focus. Defaults to 120 seconds."type="uint"default="120">120</out_of_focus_timeout_secs>
<idle_timeout_secsdesc="The maximum number of seconds before dimming and stopping updates when the user is no longer active (even if the browser is in focus). Defaults to 15 minutes."type="uint"default="900">900</idle_timeout_secs>
<loleaflet_htmldesc="Allows UI customization by replacing the single endpoint of cool.html"type="string"default="loleaflet.html">cool.html</loleaflet_html>
<leveltype="string"desc="Can be 0-8 (with the lowest numbers being the least verbose), or none (turns off logging), fatal, critical, error, warning, notice, information, debug, trace"default="@LOOLWSD_LOGLEVEL@">@LOOLWSD_LOGLEVEL@</level>
<most_verbose_level_settable_from_clienttype="string"desc="A loggingleveloverride message from the client can not set a more verbose log level than this"default="notice">notice</most_verbose_level_settable_from_client>
<least_verbose_level_settable_from_clienttype="string"desc="A loggingleveloverride message from a client can not set a less verbose log level than this"default="fatal">fatal</least_verbose_level_settable_from_client>
<protocoltype="bool"desc="Enable minimal client-site JS protocol logging from the start">@ENABLE_DEBUG_PROTOCOL@</protocol>
<!-- lokit_sal_log example: Log WebDAV-related messages, that is interesting for debugging Insert - Image operation: "+TIMESTAMP+INFO.ucb.ucp.webdav+WARN.ucb.ucp.webdav"
See also: https://docs.libreoffice.org/sal/html/sal_log.html -->
<lokit_sal_logtype="string"desc="Fine tune log messages from LOKit. Default is to suppress log messages from LOKit."default="-INFO-WARN">-INFO-WARN</lokit_sal_log>
<!-- If you use other path than /var/log and you run loolwsd from systemd, make sure that you enable that path in loolwsd.service (ReadWritePaths). -->
<propertyname="flush"desc="Enable/disable flushing after logging each line. May harm performance. Note that without flushing after each line, the log lines from the different processes will not appear in chronological order.">false</property>
<anonymize_user_datatype="bool"desc="Enable to anonymize/obfuscate of user-data in logs. If default is true, it was forced at compile-time and cannot be disabled."default="@LOOLWSD_ANONYMIZE_USER_DATA@">@LOOLWSD_ANONYMIZE_USER_DATA@</anonymize_user_data>
<anonymization_salttype="uint"desc="The salt used to anonymize/obfuscate user-data in logs. Use a secret 64-bit random number."default="82589933">82589933</anonymization_salt>
<pathdesc="Output path for the Trace Event file, to which they will be written if turned on at run-time"type="string"default="@LOOLWSD_TRACEEVENTFILE@">@LOOLWSD_TRACEEVENTFILE@</path>
<tracedesc="Dump commands and notifications for replay. When 'snapshot' is true, the source file is copied to the path first."enable="false">
<pathdesc="Output path to hold trace file and docs. Use '%' for timestamp to avoid overwriting. For example: /some/path/to/looltrace-%.gz"compress="true"snapshot="false"></path>
<!-- On systems where localhost resolves to IPv6 [::1] address first, when net.proto is all and net.listen is loopback, loolwsd unexpectedly listens on [::1] only.
You need to change net.proto to IPv4, if you want to use 127.0.0.1. -->
<frame_ancestorsdesc="Specify who is allowed to embed the LO Online iframe (loolwsd and WOPI host are always allowed). Separate multiple hosts by space."></frame_ancestors>
<connection_timeout_secsdesc="Specifies the connection, send, recv timeout in seconds for connections initiated by loolwsd (such as WOPI connections)."type="int"default="30"></connection_timeout_secs>
<!-- switches from https:// + wss:// to http:// + ws:// -->
<enabletype="bool"desc="Controls whether SSL encryption between loolwsd and the network is enabled (do not disable for production deployment). If default is false, must first be compiled with SSL support to enable."default="@ENABLE_SSL@">@ENABLE_SSL@</enable>
<!-- SSL off-load can be done in a proxy, if so disable SSL, and enable termination below in production -->
<enable_macros_executiondesc="Specifies whether the macro execution is enabled in general. This will enable Basic, Beanshell, Javascript and Python scripts. If it is set to false, the macro_security_level is ignored. If it is set to true, the mentioned entry specified the level of macro security."type="bool"default="false">false</enable_macros_execution>
<macro_security_leveldesc="Level of Macro security. 1 (Medium) Confirmation required before executing macros from untrusted sources. 0 (Low, not recommended) All macros will be executed without confirmation."type="int"default="1">1</macro_security_level>
<enable_metrics_unauthenticateddesc="When enabled, the /lool/getMetrics endpoint will not require authentication."type="bool"default="false">false</enable_metrics_unauthenticated>
<enabletype="bool"desc="Controls whether the welcome screen should be shown to the users on new install and updates."default="@ENABLE_WELCOME_MESSAGE@">@ENABLE_WELCOME_MESSAGE@</enable>
<enable_buttontype="bool"desc="Controls whether the welcome screen should have an explanatory button instead of an X button to close the dialog."default="@ENABLE_WELCOME_MESSAGE_BUTTON@">@ENABLE_WELCOME_MESSAGE_BUTTON@</enable_button>
<pathdesc="Path to 'welcome-$lang.html' files served on first start or when the version changes. When empty, defaults to the Release notes."type="path"relative="true"default="loleaflet/welcome"></path>
<refreshdesc="How frequently we should re-acquire a lock with the storage server, in seconds (default 15 mins) or 0 for no refresh"type="int"default="900">900</refresh>
<enabletype="bool"desc="If as_scheme is false or not set, this can be set to force SSL encryption between storage and loolwsd. When empty this defaults to following the ssl.enable setting"></enable>
<ca_file_pathdesc="Path to the ca file. If this is not empty, then SSL verification will be strict, otherwise cert of storage (WOPI-like host) will not be verified."relative="false"></ca_file_path>
<cipher_listdesc="List of OpenSSL ciphers to accept. If empty the defaults are used. These can be overridden only if absolutely needed."></cipher_list>
<tile_cache_persistentdesc="Should the tiles persist between two editing sessions of the given document?"type="bool"default="true">true</tile_cache_persistent>
<enable_pamdesc="Enable admin user authentication with PAM"type="bool"default="false">false</enable_pam>
<usernamedesc="The username of the admin console. Ignored if PAM is enabled."></username>
<passworddesc="The password of the admin console. Deprecated on most platforms. Instead, use PAM or loolconfig to set up a secure password."></password>
<limit_dir_size_mbdesc="Maximum directory size. On exceeding the specified limit, older files will be deleted."default="250"type="uint"></limit_dir_size_mb>
<max_versions_to_maintaindesc="How many versions of the same file to keep."default="2"type="uint"></max_versions_to_maintain>