<!-- Note: 'default' attributes are used to document a setting's default value as well as to use as fallback. -->
<!-- Note: When adding a new entry, a default must be set in WSD in case the entry is missing upon deployment. -->
<tile_cache_pathdesc="Path to a directory where to keep the tile cache."type="path"relative="false"default="/var/cache/loolwsd"></tile_cache_path>
<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>
<lo_template_pathdesc="Path to a LibreOffice installation tree to be copied (linked) into the jails for child processes. Should be on the same file system as systemplate."type="path"relative="false"default="/opt/collaboraoffice5.3"></lo_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>
<server_namedesc="Hostname:port of the server running loolwsd. If empty, it's derived from the request."type="string"default="__DOMAIN__"></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>
<memproportiondesc="The maximum percentage of system memory consumed by all of the LibreOffice Online, 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>
<per_documentdesc="Document-specific settings, including LO Core settings.">
<max_concurrencydesc="The maximum number of threads to use while processing a document."type="uint"default="4">4</max_concurrency>
<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>
<!-- Idle save and auto save are checked every 30 seconds -->
<idlesave_duration_secsdesc="The number of idle seconds after which document, if modified, should be saved. Defaults to 30 seconds."type="uint"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="uint"default="300">300</autosave_duration_secs>
<limit_virt_mem_kbdesc="The maximum virtual memory allowed to each document process. 0 for unlimited, 1700 min."type="uint">0</limit_virt_mem_kb>
<limit_data_mem_kbdesc="The maximum memory data segment allowed to each document process. 0 for unlimited."type="uint">0</limit_data_mem_kb>
<limit_stack_mem_kbdesc="The maximum stack size allowed to each document process. 0 for unlimited."type="uint">8000</limit_stack_mem_kb>
<limit_file_size_mbdesc="The maximum file size allowed to each document process to write. 0 for unlimited."type="uint">0</limit_file_size_mb>
<limit_num_open_filesdesc="The maximum number of files allowed to each document process to open. 0 for unlimited."type="uint">0</limit_num_open_files>
</per_document>
<per_viewdesc="View-specific settings.">
<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 60 seconds."type="uint"default="60">60</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>
</per_view>
<loleaflet_htmldesc="Allows UI customization by replacing the single endpoint of loleaflet.html"type="string"default="loleaflet.html">loleaflet.html</loleaflet_html>
<logging>
<colortype="bool">true</color>
<leveltype="string"desc="Can be 0-8, or none (turns off logging), fatal, critical, error, warning, notice, information, debug, trace"default="warning">warning</level>
<propertyname="purgeAge"desc="The maximum age of log files to preserve. See Poco FileChannel.">10 days</property>
<propertyname="purgeCount"desc="The maximum number of log archives to preserve. Use 'none' to disable purging. See Poco FileChannel.">10</property>
<propertyname="rotateOnOpen"desc="Enable/disable log file rotation on opening.">true</property>
<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>
</file>
</logging>
<loleaflet_loggingdesc="Logging in the browser console"default="false">false</loleaflet_logging>
<tracedesc="Dump commands and notifications for replay. When 'snapshot' is true, the source file is copied to the path first."enable="true">
<pathdesc="Output path to hold trace file and docs. Use '%' for timestamp to avoid overwriting."compress="true"snapshot="false">/tmp/looltrace-%.gz</path>
<filter>
<messagedesc="Regex pattern of messages to exclude"></message>
</filter>
<outgoing>
<recorddesc="Whether or not to record outgoing messages"default="false">false</record>
</outgoing>
</trace>
<ssldesc="SSL settings">
<enabletype="bool"default="true">false</enable>
<terminationdesc="Connection via proxy where loolwsd acts as working via https, but actually uses http."type="bool"default="true">false</termination>
<cert_file_pathdesc="Path to the cert file"relative="false">/etc/loolwsd/cert.pem</cert_file_path>
<key_file_pathdesc="Path to the key file"relative="false">/etc/loolwsd/key.pem</key_file_path>
<ca_file_pathdesc="Path to the ca file"relative="false">/etc/loolwsd/ca-chain.cert.pem</ca_file_path>
<hpkpdesc="Enable HTTP Public key pinning"enable="false"report_only="false">
<max_agedesc="HPKP's max-age directive - time in seconds browser should remember the pins"enable="true">1000</max_age>
<report_uridesc="HPKP's report-uri directive - pin validation failure are reported at this URL"enable="false"></report_uri>
<pinsdesc="Base64 encoded SPKI fingerprints of keys to be pinned">
<pin></pin>
</pins>
</hpkp>
</ssl>
<storagedesc="Backend storage">
<filesystemallow="false"/>
<wopidesc="Allow/deny wopi storage. Mutually exclusive with webdav."allow="true">
<hostdesc="Regex pattern of hostname to allow or deny."allow="true">localhost</host>
<hostdesc="Regex pattern of hostname to allow or deny."allow="true">10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}</host>
<hostdesc="Regex pattern of hostname to allow or deny."allow="true">172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3}</host>
<hostdesc="Regex pattern of hostname to allow or deny."allow="true">172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}</host>
<hostdesc="Regex pattern of hostname to allow or deny."allow="true">172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3}</host>
<hostdesc="Regex pattern of hostname to allow or deny."allow="true">192\.168\.[0-9]{1,3}\.[0-9]{1,3}</host>
<hostdesc="Regex pattern of hostname to allow or deny."allow="false">192\.168\.1\.1</host>
<max_file_sizedesc="Maximum document size in bytes to load. 0 for unlimited."type="uint">0</max_file_size>
</wopi>
<webdavdesc="Allow/deny webdav storage. Mutually exclusive with wopi."allow="false">
<hostdesc="Hostname to allow"allow="false">localhost</host>
</webdav>
</storage>
<tile_cache_persistentdesc="Should the tiles persist between two editing sessions of the given document?"type="bool"default="true">true</tile_cache_persistent>
<admin_consoledesc="Web admin console settings.">
<usernamedesc="The username of the admin console. Must be set.">admin</username>
<passworddesc="The password of the admin console. Must be set.">__PASSWORD__</password>