config 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  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 | oauth2 | pam | 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. # PAM service
  90. #pam_serivce = radicale
  91. # PAM group user should be member of
  92. #pam_group_membership =
  93. # Htpasswd filename
  94. #htpasswd_filename = /etc/radicale/users
  95. # Htpasswd encryption method
  96. # Value: plain | bcrypt | md5 | sha256 | sha512 | autodetect
  97. # bcrypt requires the installation of 'bcrypt' module.
  98. #htpasswd_encryption = autodetect
  99. # Enable caching of htpasswd file based on size and mtime_ns
  100. #htpasswd_cache = False
  101. # Incorrect authentication delay (seconds)
  102. #delay = 1
  103. # Message displayed in the client when a password is needed
  104. #realm = Radicale - Password Required
  105. # Convert username to lowercase, must be true for case-insensitive auth providers
  106. #lc_username = False
  107. # Strip domain name from username
  108. #strip_domain = False
  109. [rights]
  110. # Rights backend
  111. # Value: authenticated | owner_only | owner_write | from_file
  112. #type = owner_only
  113. # File for rights management from_file
  114. #file = /etc/radicale/rights
  115. # Permit delete of a collection (global)
  116. #permit_delete_collection = True
  117. # Permit overwrite of a collection (global)
  118. #permit_overwrite_collection = True
  119. [storage]
  120. # Storage backend
  121. # Value: multifilesystem | multifilesystem_nolock
  122. #type = multifilesystem
  123. # Folder for storing local collections, created if not present
  124. #filesystem_folder = /var/lib/radicale/collections
  125. # Folder for storing cache of local collections, created if not present
  126. # Note: only used in case of use_cache_subfolder_* options are active
  127. # Note: can be used on multi-instance setup to cache files on local node (see below)
  128. #filesystem_cache_folder = (filesystem_folder)
  129. # Use subfolder 'collection-cache' for 'item' cache file structure instead of inside collection folder
  130. # Note: can be used on multi-instance setup to cache 'item' on local node
  131. #use_cache_subfolder_for_item = False
  132. # Use subfolder 'collection-cache' for 'history' cache file structure instead of inside collection folder
  133. # Note: use only on single-instance setup, will break consistency with client in multi-instance setup
  134. #use_cache_subfolder_for_history = False
  135. # Use subfolder 'collection-cache' for 'sync-token' cache file structure instead of inside collection folder
  136. # Note: use only on single-instance setup, will break consistency with client in multi-instance setup
  137. #use_cache_subfolder_for_synctoken = False
  138. # Use last modifiction time (nanoseconds) and size (bytes) for 'item' cache instead of SHA256 (improves speed)
  139. # Note: check used filesystem mtime precision before enabling
  140. # Note: conversion is done on access, bulk conversion can be done offline using storage verification option: radicale --verify-storage
  141. #use_mtime_and_size_for_item_cache = False
  142. # Use configured umask for folder creation (not applicable for OS Windows)
  143. # Useful value: 0077 | 0027 | 0007 | 0022
  144. #folder_umask = (system default, usual 0022)
  145. # Delete sync token that are older (seconds)
  146. #max_sync_token_age = 2592000
  147. # Skip broken item instead of triggering an exception
  148. #skip_broken_item = True
  149. # Command that is run after changes to storage, default is emtpy
  150. # Supported placeholders:
  151. # %(user): logged-in user
  152. # Command will be executed with base directory defined in filesystem_folder
  153. # For "git" check DOCUMENTATION.md for bootstrap instructions
  154. # Example: git add -A && (git diff --cached --quiet || git commit -m "Changes by \"%(user)s\"")
  155. #hook =
  156. # Create predefined user collections
  157. #
  158. # json format:
  159. #
  160. # {
  161. # "def-addressbook": {
  162. # "D:displayname": "Personal Address Book",
  163. # "tag": "VADDRESSBOOK"
  164. # },
  165. # "def-calendar": {
  166. # "C:supported-calendar-component-set": "VEVENT,VJOURNAL,VTODO",
  167. # "D:displayname": "Personal Calendar",
  168. # "tag": "VCALENDAR"
  169. # }
  170. # }
  171. #
  172. #predefined_collections =
  173. [web]
  174. # Web interface backend
  175. # Value: none | internal
  176. #type = internal
  177. [logging]
  178. # Threshold for the logger
  179. # Value: debug | info | warning | error | critical
  180. #level = info
  181. # Don't include passwords in logs
  182. #mask_passwords = True
  183. # Log bad PUT request content
  184. #bad_put_request_content = False
  185. # Log backtrace on level=debug
  186. #backtrace_on_debug = False
  187. # Log request header on level=debug
  188. #request_header_on_debug = False
  189. # Log request content on level=debug
  190. #request_content_on_debug = False
  191. # Log response content on level=debug
  192. #response_content_on_debug = False
  193. # Log rights rule which doesn't match on level=debug
  194. #rights_rule_doesnt_match_on_debug = False
  195. # Log storage cache actions on level=debug
  196. #storage_cache_actions_on_debug = False
  197. [headers]
  198. # Additional HTTP headers
  199. #Access-Control-Allow-Origin = *
  200. [hook]
  201. # Hook types
  202. # Value: none | rabbitmq
  203. #type = none
  204. #rabbitmq_endpoint =
  205. #rabbitmq_topic =
  206. #rabbitmq_queue_type = classic
  207. [reporting]
  208. # When returning a free-busy report, limit the number of returned
  209. # occurences per event to prevent DOS attacks.
  210. #max_freebusy_occurrence = 10000