config 8.3 KB

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