---
name: "radicale"
section: "1"
platform: "linux"
package: "radicale"
version: "3.5.3-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/radicale"
---

# radicale(1)

a simple calendar server

## NAME

radicale - a simple calendar server

## DESCRIPTION

usage: radicale \[OPTIONS\]

### options:

- **-h**, **--help**

  show this help message and exit

- **--version**

  show program's version number and exit

- **--verify-storage**

  check the storage for errors and exit

- **-C**, **--config** \[CONFIG ...\]

  use specific configuration files

- **-D**, **--debug**

  print debug information

### server:

- **-H**, **--hosts**, **--server-hosts** VALUE

  set server hostnames including ports

- **--server-max-connections** VALUE

  maximum number of parallel connections

- **--server-max-content-length** VALUE

  maximum size of request body in bytes

- **--server-timeout** VALUE

  socket timeout

- **-s**, **--ssl**, **--server-ssl** \[VALUE\]

  use SSL connection

- **-S**, **--no-ssl**, **--no-server-ssl**

  do not use SSL connection (opposite of **--server-ssl**)

- **--server-protocol** VALUE

  SSL/TLS protocol (Apache SSLProtocol format)

- **--server-ciphersuite** VALUE

  SSL/TLS Cipher Suite (OpenSSL cipher list format)

- **-c**, **--certificate**, **--server-certificate** VALUE

  set certificate file

- **-k**, **--key**, **--server-key** VALUE

  set private key file

- **--certificate-authority**, **--server-certificate-authority** VALUE

  set CA certificate for validating clients

- **--server-script-name** VALUE

  script name to strip from URI if called by reverse proxy (default taken from HTTP\_X\_SCRIPT\_NAME or SCRIPT\_NAME)

### encoding:

- **--encoding-request** VALUE

  encoding for responding requests

- **--encoding-stock** VALUE

  encoding for storing local collections

### auth:

-

  backend specific options omitted

- **--auth-type** VALUE

  authentication method (none\|remote\_user\|http\_x\_remote\_ user\|denyall\|htpasswd\|ldap\|imap\|oauth2\|pam\|dovecot)

- **--auth-cache-logins** \[VALUE\]

  cache successful/failed logins for until expiration time

- **--no-auth-cache-logins**

  do not cache successful/failed logins for until expiration time (opposite of **--auth-cache-logins**)

- **--auth-cache-successful-logins-expiry** VALUE

  expiration time for caching successful logins in seconds

- **--auth-cache-failed-logins-expiry** VALUE

  expiration time for caching failed logins in seconds

- **--auth-htpasswd-filename** VALUE

  htpasswd filename

- **--auth-htpasswd-encryption** VALUE

  htpasswd encryption method

- **--auth-htpasswd-cache** \[VALUE\]

  enable caching of htpasswd file

- **--no-auth-htpasswd-cache**

  do not enable caching of htpasswd file (opposite of **--auth-htpasswd-cache**)

- **--auth-dovecot-connection-type** VALUE

  Connection type for dovecot authentication

- **--auth-dovecot-socket** VALUE

  dovecot auth AF\_UNIX socket

- **--auth-dovecot-host** VALUE

  dovecot auth AF\_INET or AF\_INET6 host

- **--auth-dovecot-port** VALUE

  dovecot auth port

- **--auth-realm** VALUE

  message displayed when a password is needed

- **--auth-delay** VALUE

  incorrect authentication delay

- **--auth-ldap-ignore-attribute-create-modify-timestamp** \[VALUE\]

  Ignore modifyTimestamp and createTimestamp attributes. Need if Authentik LDAP server is used.

- **--no-auth-ldap-ignore-attribute-create-modify-timestamp**

  do not Ignore modifyTimestamp and createTimestamp attributes. Need if Authentik LDAP server is used. (opposite of **--auth-ldap-ignore-attribute-createmodify-timestamp**)

- **--auth-ldap-uri** VALUE

  URI to the ldap server

- **--auth-ldap-base** VALUE

  LDAP base DN of the ldap server

- **--auth-ldap-reader-dn** VALUE

  the DN of a ldap user with read access to get the user accounts

- **--auth-ldap-secret** VALUE

  the password of the ldap\_reader\_dn

- **--auth-ldap-secret-file** VALUE

  path of the file containing the password of the ldap\_reader\_dn

- **--auth-ldap-filter** VALUE

  the search filter to find the user DN to authenticate by the username

- **--auth-ldap-user-attribute** VALUE

  the attribute to be used as username after authentication

- **--auth-ldap-groups-attribute** VALUE

  attribute to read the group memberships from

- **--auth-ldap-use-ssl** \[VALUE\]

  Use ssl on the ldap connection. Soon to be deprecated, use ldap\_security instead

- **--no-auth-ldap-use-ssl**

  do not Use ssl on the ldap connection. Soon to be deprecated, use ldap\_security instead (opposite of **--auth-ldap-use-ssl**)

- **--auth-ldap-security** VALUE

  the encryption mode to be used: \*none\*\|tls\|starttls

- **--auth-ldap-ssl-verify-mode** VALUE

  The certificate verification mode. Works for tls and starttls. NONE, OPTIONAL, default is REQUIRED

- **--auth-ldap-ssl-ca-file** VALUE

  The path to the CA file in pem format which is used to certificate the server certificate

- **--auth-imap-host** VALUE

  IMAP server hostname: address\|address:port\|\[address\]:port\|\*localhost\*

- **--auth-imap-security** VALUE

  Secure the IMAP connection: \*tls\*\|starttls\|none

- **--auth-oauth2-token-endpoint** VALUE

  OAuth2 token endpoint URL

- **--auth-pam-group-membership** VALUE

  PAM group user should be member of

- **--auth-pam-service** VALUE

  PAM service

- **--auth-strip-domain** \[VALUE\]

  strip domain from username

- **--no-auth-strip-domain**

  do not strip domain from username (opposite of **--authstrip-domain**)

- **--auth-uc-username** \[VALUE\]

  convert username to uppercase, must be true for caseinsensitive auth providers

- **--no-auth-uc-username**

  do not convert username to uppercase, must be true for case-insensitive auth providers (opposite of **--authuc-username**)

- **--auth-lc-username** \[VALUE\]

  convert username to lowercase, must be true for caseinsensitive auth providers

- **--no-auth-lc-username**

  do not convert username to lowercase, must be true for case-insensitive auth providers (opposite of **--authlc-username**)

- **--auth-urldecode-username** \[VALUE\]

  url-decode the username, set to True when clients send url-encoded email address as username

- **--no-auth-urldecode-username**

  do not url-decode the username, set to True when clients send url-encoded email address as username (opposite of **--auth-urldecode-username**)

### rights:

-

  backend specific options omitted

- **--rights-type** VALUE

  rights backend

- **--rights-permit-delete-collection** \[VALUE\]

  permit delete of a collection

- **--no-rights-permit-delete-collection**

  do not permit delete of a collection (opposite of **--rights-permit-delete-collection**)

- **--rights-permit-overwrite-collection** \[VALUE\]

  permit overwrite of a collection

- **--no-rights-permit-overwrite-collection**

  do not permit overwrite of a collection (opposite of **--rights-permit-overwrite-collection**)

- **--rights-file** VALUE

  file for rights management from\_file

### storage:

-

  backend specific options omitted

- **--storage-type** VALUE

  storage backend

- **--storage-filesystem-folder** VALUE

  path where collections are stored

- **--storage-filesystem-cache-folder** VALUE

  path where cache of collections is stored in case of use\_cache\_subfolder\_\* options are active

- **--storage-use-cache-subfolder-for-item** \[VALUE\]

  use subfolder 'collection-cache' for 'item' cache file structure instead of inside collection folder

- **--no-storage-use-cache-subfolder-for-item**

  do not use subfolder 'collection-cache' for 'item' cache file structure instead of inside collection folder (opposite of **--storage-use-cache-subfolder-foritem**)

- **--storage-use-cache-subfolder-for-history** \[VALUE\]

  use subfolder 'collection-cache' for 'history' cache file structure instead of inside collection folder

- **--no-storage-use-cache-subfolder-for-history**

  do not use subfolder 'collection-cache' for 'history' cache file structure instead of inside collection folder (opposite of **--storage-use-cache-subfolder-forhistory**)

- **--storage-use-cache-subfolder-for-synctoken** \[VALUE\]

  use subfolder 'collection-cache' for 'sync-token' cache file structure instead of inside collection folder

- **--no-storage-use-cache-subfolder-for-synctoken**

  do not use subfolder 'collection-cache' for 'synctoken' cache file structure instead of inside collection folder (opposite of **--storage-use-cachesubfolder-for-synctoken**)

- **--storage-use-mtime-and-size-for-item-cache** \[VALUE\]

  use mtime and file size instead of SHA256 for 'item' cache (improves speed)

- **--no-storage-use-mtime-and-size-for-item-cache**

  do not use mtime and file size instead of SHA256 for 'item' cache (improves speed) (opposite of **--storageuse-mtime-and-size-for-item-cache**)

- **--storage-folder-umask** VALUE

  umask for folder creation (empty: system default)

- **--storage-max-sync-token-age** VALUE

  delete sync token that are older

- **--storage-skip-broken-item** \[VALUE\]

  skip broken item instead of triggering exception

- **--no-storage-skip-broken-item**

  do not skip broken item instead of triggering exception (opposite of **--storage-skip-broken-item**)

- **--storage-hook** VALUE

  command that is run after changes to storage

- **--storage-predefined-collections** VALUE

  predefined user collections

### hook:

-

  backend specific options omitted

- **--hook-type** VALUE

  hook backend

- **--hook-rabbitmq-endpoint** VALUE

  endpoint where rabbitmq server is running

- **--hook-rabbitmq-topic** VALUE

  topic to declare queue

- **--hook-rabbitmq-queue-type** VALUE

  queue type for topic declaration

### web:

-

  backend specific options omitted

- **--web-type** VALUE

  web interface backend

### logging:

- **--logging-level** VALUE

  threshold for the logger

- **--logging-bad-put-request-content** \[VALUE\]

  log bad PUT request content

- **--no-logging-bad-put-request-content**

  do not log bad PUT request content (opposite of **--logging-bad-put-request-content**)

- **--logging-backtrace-on-debug** \[VALUE\]

  log backtrace on level=debug

- **--no-logging-backtrace-on-debug**

  do not log backtrace on level=debug (opposite of **--logging-backtrace-on-debug**)

- **--logging-request-header-on-debug** \[VALUE\]

  log request header on level=debug

- **--no-logging-request-header-on-debug**

  do not log request header on level=debug (opposite of **--logging-request-header-on-debug**)

- **--logging-request-content-on-debug** \[VALUE\]

  log request content on level=debug

- **--no-logging-request-content-on-debug**

  do not log request content on level=debug (opposite of **--logging-request-content-on-debug**)

- **--logging-response-content-on-debug** \[VALUE\]

  log response content on level=debug

- **--no-logging-response-content-on-debug**

  do not log response content on level=debug (opposite of **--logging-response-content-on-debug**)

- **--logging-rights-rule-doesnt-match-on-debug** \[VALUE\]

  log rights rules which doesn't match on level=debug

- **--no-logging-rights-rule-doesnt-match-on-debug**

  do not log rights rules which doesn't match on level=debug (opposite of **--logging-rights-rule-doesntmatch-on-debug**)

- **--logging-storage-cache-actions-on-debug** \[VALUE\]

  log storage cache action on level=debug

- **--no-logging-storage-cache-actions-on-debug**

  do not log storage cache action on level=debug (opposite of **--logging-storage-cache-actions-on-debug**)

- **--logging-mask-passwords** \[VALUE\]

  mask passwords in logs

- **--no-logging-mask-passwords**

  do not mask passwords in logs (opposite of **--loggingmask-passwords**)

### headers:

-

  additional options allowed (e.g. **--headers-Pragma**=*no-cache*)

### reporting:

- **--reporting-max-freebusy-occurrence** VALUE

  number of occurrences per event when reporting
