
If you are considering forget about Google for syncing contacts and calendars On your Android phone, you've probably already come across DAVx⁵, Nextcloud, Radicale, or even /e/OS. The problem is that, with so many acronyms (CalDAV, CardDAV, WebDAV…) and so many different ways to configure things, it's easy to get confused and... The synchronization simply doesn't work. as it should.
In this article we're going to put all the pieces together: What are CalDAV and CardDAV, how does DAVx⁵ work, how to integrate it with Nextcloud, Radicale, Zimbra or EGroupware And what to check when your calendar or contacts don't appear on Android, even if everything seems to be set up correctly. All explained in Spanish (Spain), with practical examples and no assumptions.
What are WebDAV, CalDAV, and CardDAV, and why should you be interested in them?
Before we delve into DAVx⁵ and /e/OS, it's worth clarifying what's underneath all this: WebDAV, CalDAV, and CardDAV are open standards. that allow you to manage files, calendars and contacts on remote servers without depending on Google, Apple or other giants.
WebDAV (Distributed Authoring and Versioning) is basically an HTTP extension that allows Create, move, rename, and delete files on a remote server using HTTP requests with XML data. Although it sounds technical, the idea is simple: instead of using FTP or proprietary protocols, your server exposes folders and files via HTTP, and clients (apps) can work with them as if they were local.
Specialized extensions emerged from WebDAV, such as CalDAV, designed to store and share calendars in standard iCalendar (iCal) format. Each event, reminder, or task is saved as structured data, and compatible clients (mobile, computer, etc.) can read, edit, and synchronize it.
On the other side is CardDAVwhich does exactly the same thing but for ContactUse the standard format vCard to store names, phone numbers, emails, addresses, notes… and exposes it via WebDAV so that any compatible client can synchronize the address book.
Thanks to CalDAV and CardDAV you can set up your own service Self-hosted agenda and calendar using solutions such as Nextcloud, Radical or groupware servers (Zimbra, EGroupware, Open-Xchange…), and then use your Android mobile with DAVx⁵ to keep them always up to date without going through Google.
DAVx⁵ and DAVx⁵ Select: the bridge between your server and Android
DAVx⁵ It is a free software application for Android that acts as CalDAV and CardDAV clientIts function is as simple as it is critical: it synchronizes your contacts, calendars, and tasks between the server (Nextcloud, Radicale, Zimbra, etc.) and the native Android apps (Contacts, Calendar, compatible tasks).
DAVx⁵ is available in a free on F-Droid and as a paid app in Google Play StoreAlthough the code is open source, buying it on Play is a way to support development. Once installed, it doesn't appear as a standalone calendar or planner, but as... a synchronization service that integrates with the applications already installed on your device.
There is also a variant called DAVx⁵ Select, which is a specialized version with the same technical capabilities as DAVx⁵ “classic”, but which can only be used for free with specific serverscurrently those who execute Open-Xchange App SuiteThis edition is limited: You can't use it with just any server. CalDAV/CardDAV; for this you need the normal version with the green icon.
Once an account has been created on DAVx⁵, the app detects the CalDAV (calendars) and CardDAV (address books) collections Available on the server. It allows you to select which calendars and agendas you want to sync, define how often they are updated, whether colors are synced, which collections are managed on the device, etc.
Installing and configuring DAVx⁵ for the first time on Android
To start syncing your data with DAVx⁵ on Android, there are two main paths: install the app from the appropriate store & AFTER Create an account using your server URL and your credentials.
You can get DAVx⁵ in two ways: buying it on Google Play or by downloading it for free from F-DroidOn the Play Store, simply search for “davx5”, tap on the app, purchase it, and then tap “Install”. On F-Droid, you do something similar: open the repository, search for “DAVx5”, and install it without paying.
When you open DAVx⁵ for the first time, you won't see a "calendar" as such, but a screen where you can add synchronization accountsYou press the button "+" to create a new account and choose the option to “Login with URL and username” (or similar), which is the most flexible and is used with most CalDAV/CardDAV servers.
In this form you have to enter the Your DAV server URL, you user and your passwordThe address depends on the service you use: it could be Nextcloud, Radicale, Zimbra hosted by your provider, etc. Once everything is filled in, you confirm the account entry and DAVx⁵ will automatically attempt to discover available CardDAV calendars and notebooks.
Then the app will ask you to give a name for that account (for example, “Nextcloud Personal”, “Zimbra Work” or whatever suits you). This is useful because you can have multiple accounts on different servers synchronized at the same time and manage them independently from the main DAVx panel⁵.
Synchronize contacts (CardDAV) with DAVx⁵
Once the account is created, DAVx⁵ will display the contact books available on the server using CardDAV. There can be a single address book (for example, "Personal Contacts") or several (work, family, clients, etc.). You decide. Which notebooks do you want to sync? with the Android contact list.
When you enable synchronization, the Android system will ask for permission for DAVx⁵ to access your contactsIt is important to accept this permission; if you reject it, the app will not be able to create or update contacts on the device and it will seem as if "nothing is working".
After the first synchronization, you'll see a new icon appear in the Android Contacts app. new contacts account associated with DAVx⁵The usual practice when migrating from Google is to leave the Google account with 0 contacts and exclusively use the DAVx⁵ account linked to your server (for example, Nextcloud or Radicale). From that point on, add or edit contacts on your mobile phone It will store them on your own server, not on Google.
In desktop environments, you can also consume CardDAV with multiple clients. An advanced example involves using vdirsyncer to synchronize contacts from Nextcloud to a local directory in vCard format and then manage them with khardvdirsyncer is a very lightweight command-line application. It is configured with blocks of storage “filesystem” (for the local side) and storage “carddav” (for the server), and allows you to execute commands such as discover y sync to keep everything up to date.
Synchronize calendars (CalDAV) with DAVx⁵
In addition to contacts, DAVx⁵ handles talking to the server using CalDAV all with bring and send calendarsAfter automatic detection, you'll see a list of all the calendars in your account: personal, work, shared, tasks, etc. You can choose which ones to sync with your Android device.
When you select the calendars, the system will ask you to authorize DAVx⁵ to access the calendar and events from your smartphone. Again, if you deny permission, the app won't be able to create local calendars and you won't see anything in Google Calendar, Etar, or whatever app you use.
Once the setup is complete, open your default calendar application (This could be Google Calendar or another compatible app.) Check that the new set of calendars associated with DAVx⁵ appears. You might see the account name exactly as you defined it in DAVx⁵, along with the individual calendars. If everything is correct, The events should start to appear in a few minutes, since synchronization is not always instantaneous.
On the settings screen of each account in DAVx⁵ you can adjust details such as the synchronization intervalThis includes synchronizing calendar colors, task synchronization (if you use a compatible app like OpenTasks), or even forcing a manual synchronization using the reload icon.
Nextcloud integration: contacts and calendars without Google
Nextcloud has become one of the most popular solutions for centralize files, contacts, and calendars on a private or rented server. For contacts, the app is usually installed. ContactsIncluded in the "groupware" package, which also includes Calendar, Mail, and Deck. The Contacts app implements CardDAV and allows Import and export vCard.
If you already have contacts in other services (for example, Google), the usual practice is to export them in [format] .vcf (vCard) and then use the option to Import contacts in the Contacts settings in Nextcloud. Once all your contacts are centralized there, you can do away with backups on other services and use Nextcloud as your primary source of contact data.
For CardDAV clients (such as DAVx⁵) to work seamlessly with Nextcloud, it is important to have the following settings correctly configured: “service discovery” URLsEspecially if your instance is in a subdirectory (for example, https://mysite.com/nextcloud instead of a dedicated domain). This usually involves minor adjustments to the file .htaccess or in the web server configuration, so that the paths to remote.php/dav be detectable.
On Android, the typical URL to use in DAVx⁵ with Nextcloud is in the style https://DOMINIO/remote.php/dav/You enter that address, your username and password, and DAVx⁵ will detect your contacts and calendars. From that moment on, as we mentioned before, you can safely delete your Google contacts and stick only with Nextcloud managed via DAVx⁵.
The official Nextcloud app for Android also makes things easier: in its settings you'll find an option like “Sync calendar and contacts” This redirects you to DAVx⁵ and automatically configures the account with your credentials. Once you accept, simply select the calendars and contacts to sync and refresh to load them onto your device.
Radicale – a lightweight CalDAV and CardDAV server for self-hosting
If you want something even more minimalist than Nextcloud, Radical is a server CalDAV and CardDAV written in Python It is designed to be simple, lightweight, and without too many dependencies. It uses the file system to store data and can be started as a standalone service, without the need for databases or other heavyweight components.
Radicale can be installed in several ways. One very straightforward way is to use Dockerlifting a container with a prepared image that exposes the 5232 port and mounting volumes for configuration and data. For example, you could pull from an image that maps /srv/radical/config y /srv/radical/data to keep everything organized, with a file htpasswd to manage users using bcrypt hashes.
Another option is to install it with pip On a GNU/Linux system, either by creating a Python virtual environment or by using it directly. The radicale package is usually installed (for example, with python3 -m pip install –upgrade radicale==3.*) and even extensions like radicale_storage_decsync If you want to integrate DecSync, then you configure the file. config en ~/.config/radical/, where you define sections like [server] (ports and addresses it listens to), [storage] (file system path for collections and, optionally, DecSync directory) and [auth] (authentication method, htpasswd file, encryption type, etc.).
Once configured, you can start the server with a command like python3 -m radicaleAfter starting, you access the web administration interface en http://localhost:5232/ (or your server's IP address) with the defined username and password, and create collections of type “Addressbook” (for contacts) and “Calendar” (for calendars). Each collection will have its own CalDAV or CardDAV URL that you can use from DAVx⁵.
Radicale is especially interesting if you're looking for a local synchronization without relying on the internet. You can run the server on your machine or on a computer on your local network and use DAVx⁵ on your mobile device connected via Wi-Fi to synchronize your address book and calendar. The speed is very good and the data never leaves your network, which It strengthens both privacy and autonomy regarding external services.
Local synchronization and combinations with Thunderbird, DecSync and Syncthing
There are scenarios where you don't even want to depend on a permanent external server; you prefer something very local and under your control. An interesting combination is formed by Thunderbird, Lightning, SOGo Connector, Radicale, DAVx⁵ and, optionally, DecSync and Syncthing to synchronize files.
On the desktop, Thunderbird (widely used in distributions like Deepin) can manage email, calendars, and contacts. The add-on lightning It adds support for calendars in CalDAV format and the SOGo connector It allows you to manage contact lists using CardDAV. Thus, by pointing Thunderbird to the URLs exposed by Radicale, you'll have the same address book on your computer. agenda and calendar on the mobile.
If you add DecSync In addition to the mix, you can have your calendar and contact data saved in a local folder (for example, ~/.local/share/decsync) and then use syncthing To replicate these files across multiple devices without necessarily using a remote network, the module is installed. radicale_storage_decsyncThe [storage] section of Radicale is configured to use it, and a decsync folder is created where the data will be stored.
On Android you can use DAVx⁵ to connect to Radicale when you're on the same WiFi network or use apps like DecSyncCC to manage the DecSync folder shared by Syncthing. In this way, Synchronization is based on replicated files and not in real-time CalDAV/CardDAV requests, which can be very robust in environments without constant connectivity.
Synchronization with Zimbra, EGroupware, and other groupware servers
Besides Nextcloud and Radicale, there are complete groupware servers such as Zimbra o EGroupware that support CalDAV and CardDAV and integrate seamlessly with DAVx⁵. This is especially useful in organizations that already use these platforms for email, shared calendars, and corporate contacts.
With ZimbraThe typical workflow in DAVx⁵ involves creating a new account by selecting the option to “Log in with a URL and a username”, enter the Zimbra access URL (usually provided by your email provider or system administrator), your Zimbra username and password. After validation, you assign a name to the account and DAVx⁵ will list the CardDAV notebooks These are available for you to select which ones to sync to your phone. Then go to the calendars tab (CalDAV), choose the ones you want to transfer, and activate the sync.
EGroupware takes a similar approach. The platform allows you to synchronize desktop clients like Thunderbird and EM Client, or Mac clients using CalDAV and CardDAV. Typically, you only need the EGroupware access URLYour username and password. EGroupware's own configuration determines which data is synchronized for each client type, and then DAVx⁵ acts as a bridge with Android.
Common problems when synchronizing with DAVx⁵ and how to address them
Although DAVx⁵ is quite polished, it is common for the following to appear at first typical configuration problemsespecially when integrating with Nextcloud or other DAV servers. One of the most discussed issues is that of users who see the account and calendars listed in the calendar app, But The entries do not appear. of the calendar.
In these cases, there are several points worth checking. The first is to make sure that DAVx⁵ has all the necessary permissions Granted on Android: access to contacts, calendar, and storage if needed. Then it's important to confirm in the settings of the calendar app (for example, Google Calendar) The DAVx account calendars are active and visible⁵They sometimes appear, but they are unchecked.
Another aspect is to verify that the URL used in DAVx⁵ It is the correct one and points to the appropriate DAV endpoint. In Nextcloud, for example, the path is usually /remote.php/davIf you enter the wrong URL or use a partial address, the server might not expose the collections properly, and the app might exhibit strange behavior.
When trying to use applications like ICSx⁵ (To subscribe to one-way ICS calendars) it's important to understand that the same URL used for CalDAV won't work. ICSx⁵ expects an address that points to a file .ics Specifically, not the DAV root. If you enter the general Nextcloud server URL, for example, it will receive data it doesn't know how to interpret and will display errors such as “It could not be analyzed”.
If, despite everything, the synchronization is not progressing, it may be helpful to review the server logs (Nextcloud, Radicale, etc. logs). However, it's common that if there are no authentication or routing errors, no relevant messages appear, making it harder to find the problem. In the case of Radicale, there is a command python3 -m radicale –verify-storage which allows you to verify the storage status and detect possible inconsistencies.
Final considerations
Finally, remember that synchronization isn't always immediate: if the interval is set to several minutes and you haven't forced a manual refresh, it may seem that Nothing is being updated when in reality you're just waiting for the next cycle. In the DAVx settings⁵ you can shorten the interval or manually sync when needed.
In general, building your own ecosystem of Contacts and calendars based on CalDAV and CardDAV with DAVx⁵, Nextcloud, Radicale or other servers It requires a bit more initial setup than using Google out of the box, but the result is worth it: greater privacy, more control over your data, independence from closed platforms, and the ability to combine desktop, mobile, and server tools in the way that best suits your workflow. Share the information so that more users can learn about the topic.
