config 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. # -*- mode: conf -*-
  2. # vim:ft=cfg
  3. # Config file for Radicale - A simple calendar server
  4. #
  5. # Place it into /etc/radicale/config (global)
  6. # or ~/.config/radicale/config (user)
  7. #
  8. # The current values are the default ones
  9. [server]
  10. # CalDAV server hostnames separated by a comma
  11. # IPv4 syntax: address:port
  12. # IPv6 syntax: [address]:port
  13. # Hostname syntax (using "getaddrinfo" to resolve to IPv4/IPv6 adress(es)): hostname:port
  14. # For example: 0.0.0.0:9999, [::]:9999, localhost:9999
  15. #hosts = localhost:5232
  16. # Max parallel connections
  17. #max_connections = 8
  18. # Max size of request body (bytes)
  19. #max_content_length = 100000000
  20. # Socket timeout (seconds)
  21. #timeout = 30
  22. # SSL flag, enable HTTPS protocol
  23. #ssl = False
  24. # SSL certificate path
  25. #certificate = /etc/ssl/radicale.cert.pem
  26. # SSL private key
  27. #key = /etc/ssl/radicale.key.pem
  28. # CA certificate for validating clients. This can be used to secure
  29. # TCP traffic between Radicale and a reverse proxy
  30. #certificate_authority =
  31. # SSL protocol, secure configuration: ALL -SSLv3 -TLSv1 -TLSv1.1
  32. #protocol = (default)
  33. # SSL ciphersuite, secure configuration: DHE:ECDHE:-NULL:-SHA (see also "man openssl-ciphers")
  34. #ciphersuite = (default)
  35. [encoding]
  36. # Encoding for responding requests
  37. #request = utf-8
  38. # Encoding for storing local collections
  39. #stock = utf-8
  40. [auth]
  41. # Authentication method
  42. # Value: none | htpasswd | remote_user | http_x_remote_user | dovecot | ldap | denyall
  43. #type = none
  44. # Cache logins for until expiration time
  45. #cache_logins = false
  46. # Expiration time for caching successful logins in seconds
  47. #cache_successful_logins_expiry = 15
  48. ## Expiration time of caching failed logins in seconds
  49. #cache_failed_logins_expiry = 90
  50. # URI to the LDAP server
  51. #ldap_uri = ldap://localhost
  52. # The base DN where the user accounts have to be searched
  53. #ldap_base = ##BASE_DN##
  54. # The reader DN of the LDAP server
  55. #ldap_reader_dn = CN=ldapreader,CN=Users,##BASE_DN##
  56. # Password of the reader DN
  57. #ldap_secret = ldapreader-secret
  58. # Path of the file containing password of the reader DN
  59. #ldap_secret_file = /run/secrets/ldap_password
  60. # the attribute to read the group memberships from in the user's LDAP entry (default: not set)
  61. #ldap_groups_attribute = memberOf
  62. # The filter to find the DN of the user. This filter must contain a python-style placeholder for the login
  63. #ldap_filter = (&(objectClass=person)(uid={0}))
  64. # the attribute holding the value to be used as username after authentication
  65. #ldap_user_attribute = cn
  66. # Use ssl on the ldap connection
  67. #ldap_use_ssl = False
  68. # The certificate verification mode. NONE, OPTIONAL, default is REQUIRED
  69. #ldap_ssl_verify_mode = REQUIRED
  70. # The path to the CA file in pem format which is used to certificate the server certificate
  71. #ldap_ssl_ca_file =
  72. # Connection type for dovecot authentication (AF_UNIX|AF_INET|AF_INET6)
  73. # Note: credentials are transmitted in cleartext
  74. #dovecot_connection_type = AF_UNIX
  75. # The path to the Dovecot client authentication socket (eg. /run/dovecot/auth-client on Fedora). Radicale must have read / write access to the socket.
  76. #dovecot_socket = /var/run/dovecot/auth-client
  77. # Host of via network exposed dovecot socket
  78. #dovecot_host = localhost
  79. # Port of via network exposed dovecot socket
  80. #dovecot_port = 12345
  81. # IMAP server hostname
  82. # Syntax: address | address:port | [address]:port | imap.server.tld
  83. #imap_host = localhost
  84. # Secure the IMAP connection
  85. # Value: tls | starttls | none
  86. #imap_security = tls
  87. # OAuth2 token endpoint URL
  88. #oauth2_token_endpoint = <URL>
  89. # Htpasswd filename
  90. #htpasswd_filename = /etc/radicale/users
  91. # Htpasswd encryption method
  92. # Value: plain | bcrypt | md5 | sha256 | sha512 | autodetect
  93. # bcrypt requires the installation of 'bcrypt' module.
  94. #htpasswd_encryption = autodetect
  95. # Enable caching of htpasswd file based on size and mtime_ns
  96. #htpasswd_cache = False
  97. # Incorrect authentication delay (seconds)
  98. #delay = 1
  99. # Message displayed in the client when a password is needed
  100. #realm = Radicale - Password Required
  101. # Convert username to lowercase, must be true for case-insensitive auth providers
  102. #lc_username = False
  103. # Strip domain name from username
  104. #strip_domain = False
  105. [rights]
  106. # Rights backend
  107. # Value: authenticated | owner_only | owner_write | from_file
  108. #type = owner_only
  109. # File for rights management from_file
  110. #file = /etc/radicale/rights
  111. # Permit delete of a collection (global)
  112. #permit_delete_collection = True
  113. # Permit overwrite of a collection (global)
  114. #permit_overwrite_collection = True
  115. [storage]
  116. # Storage backend
  117. # Value: multifilesystem | multifilesystem_nolock
  118. #type = multifilesystem
  119. # Folder for storing local collections, created if not present
  120. #filesystem_folder = /var/lib/radicale/collections
  121. # Folder for storing cache of local collections, created if not present
  122. # Note: only used in case of use_cache_subfolder_* options are active
  123. # Note: can be used on multi-instance setup to cache files on local node (see below)
  124. #filesystem_cache_folder = (filesystem_folder)
  125. # Use subfolder 'collection-cache' for 'item' cache file structure instead of inside collection folder
  126. # Note: can be used on multi-instance setup to cache 'item' on local node
  127. #use_cache_subfolder_for_item = False
  128. # Use subfolder 'collection-cache' for 'history' cache file structure instead of inside collection folder
  129. # Note: use only on single-instance setup, will break consistency with client in multi-instance setup
  130. #use_cache_subfolder_for_history = False
  131. # Use subfolder 'collection-cache' for 'sync-token' cache file structure instead of inside collection folder
  132. # Note: use only on single-instance setup, will break consistency with client in multi-instance setup
  133. #use_cache_subfolder_for_synctoken = False
  134. # Use last modifiction time (nanoseconds) and size (bytes) for 'item' cache instead of SHA256 (improves speed)
  135. # Note: check used filesystem mtime precision before enabling
  136. # Note: conversion is done on access, bulk conversion can be done offline using storage verification option: radicale --verify-storage
  137. #use_mtime_and_size_for_item_cache = False
  138. # Use configured umask for folder creation (not applicable for OS Windows)
  139. # Useful value: 0077 | 0027 | 0007 | 0022
  140. #folder_umask = (system default, usual 0022)
  141. # Delete sync token that are older (seconds)
  142. #max_sync_token_age = 2592000
  143. # Skip broken item instead of triggering an exception
  144. #skip_broken_item = True
  145. # Command that is run after changes to storage, default is emtpy
  146. # Supported placeholders:
  147. # %(user): logged-in user
  148. # Command will be executed with base directory defined in filesystem_folder
  149. # For "git" check DOCUMENTATION.md for bootstrap instructions
  150. # Example: git add -A && (git diff --cached --quiet || git commit -m "Changes by \"%(user)s\"")
  151. #hook =
  152. # Create predefined user collections
  153. #
  154. # json format:
  155. #
  156. # {
  157. # "def-addressbook": {
  158. # "D:displayname": "Personal Address Book",
  159. # "tag": "VADDRESSBOOK"
  160. # },
  161. # "def-calendar": {
  162. # "C:supported-calendar-component-set": "VEVENT,VJOURNAL,VTODO",
  163. # "D:displayname": "Personal Calendar",
  164. # "tag": "VCALENDAR"
  165. # }
  166. # }
  167. #
  168. #predefined_collections =
  169. [web]
  170. # Web interface backend
  171. # Value: none | internal
  172. #type = internal
  173. [logging]
  174. # Threshold for the logger
  175. # Value: debug | info | warning | error | critical
  176. #level = info
  177. # Don't include passwords in logs
  178. #mask_passwords = True
  179. # Log bad PUT request content
  180. #bad_put_request_content = False
  181. # Log backtrace on level=debug
  182. #backtrace_on_debug = False
  183. # Log request header on level=debug
  184. #request_header_on_debug = False
  185. # Log request content on level=debug
  186. #request_content_on_debug = False
  187. # Log response content on level=debug
  188. #response_content_on_debug = False
  189. # Log rights rule which doesn't match on level=debug
  190. #rights_rule_doesnt_match_on_debug = False
  191. # Log storage cache actions on level=debug
  192. #storage_cache_actions_on_debug = False
  193. [headers]
  194. # Additional HTTP headers
  195. #Access-Control-Allow-Origin = *
  196. [hook]
  197. # Hook types
  198. # Value: none | rabbitmq
  199. #type = none
  200. #rabbitmq_endpoint =
  201. #rabbitmq_topic =
  202. #rabbitmq_queue_type = classic
  203. [reporting]
  204. # When returning a free-busy report, limit the number of returned
  205. # occurences per event to prevent DOS attacks.
  206. #max_freebusy_occurrence = 10000