# An example configuration for vdirsyncer. # Optional parameters are commented out. [general] # A folder where vdirsyncer can store some metadata about each pair. status_path = ~/.vdirsyncer/status/ # The amount of processes to use when synchronizing. If the CPU of your server # is the bottleneck (which is plausible for small homeservers), set this to the # number of cores * 2. Defaults to one process for each collection, which means # all collections will be synced at once. The value 0 will be ignored, the # value 1 disables multiprocessing. #processes = # CARDDAV [pair bob_contacts] # A `[pair ]` block defines two storages `a` and `b` that should be # synchronized. The definition of these storages follows in `[storage ]` # blocks. This is similar to accounts in OfflineIMAP. a = bob_contacts_local b = bob_contacts_remote # If you want to synchronize several addressbooks, calendars etc that share # the same storage location and differ only in a suffix to this location # (i.e., a subdirectory) you can use collections. The comma-separated values # in this parameter represent these subdirectories and are added as URL # segments or similar. # Together with the definition of the following two `[storage]` blocks below # in this example it means that # - https://owncloud.example.com/remote.php/carddav/addressbooks/bob/default/ # will get synced with ~/.contacts/default/ # - https://owncloud.example.com/remote.php/carddav/addressbooks/bob/work/ # will get synced with ~/.contacts/work/ # Omitting this parameter implies that the given path and URL in the # corresponding `[storage ]` blocks are already pointing to a # collection each. collections = default,work # To resolve a conflict the following values are possible: # `None` - abort when collisions occur (default) # `a wins` - assume a's items to be more up-to-date # `b wins` - assume b's items to be more up-to-date #conflict_resolution = None [storage bob_contacts_local] # A storage references actual data on a remote server or on the local disk. # Similar to repositories in OfflineIMAP. type = filesystem path = ~/.contacts/ fileext = .vcf # Create the directory if it doesn't exist: `True` or `False` #create = True #encoding = utf-8 [storage bob_contacts_remote] type = carddav url = https://owncloud.example.com/remote.php/carddav/addressbooks/bob/ # Auth types. If you know yours, set it explicitly for performance. # - basic # - digest # - guess (default) #auth = guess #username = # The password can also be fetched from the system password storage or netrc #password = # SSL settings: # `True` - The NSA can spy on you with some effort (use SSL) # `False` - Everybody can spy on you with no effort (don't use SSL) # `path/to/SSL/cert` - People will call you paranoid (if you use a self- # signed certificate you need to copy it to this machine) #verify = True # CALDAV [pair bob_calendar] a = bob_calendar_local b = bob_calendar_remote collections = private,work [storage bob_calendar_local] type = filesystem path = ~/.config/vdir/calendars/ fileext = .ics [storage bob_calendar_remote] type = caldav url = https://owncloud.example.com/remote.php/caldav/calendars/bob/ #auth = guess #username = #password = #verify = True # Optional: Specify a time range which should be synchronized. Either both # start_date and end_date or neither have to be set. The default is to # synchronize everything. The following example synchronizes from one year in # the past to one year in the future. # All Python expressions are allowed here. The global namespace contains # everything from the datetime module. The expression has to evaluate to a # datetime. #start_date = datetime.now() - timedelta(days=365) # Here, start_date is also in the namespace. #end_date = datetime.now() + timedelta(days=365) # For more storage types and examples, check out the documentation at # https://vdirsyncer.readthedocs.org