Note
If you're coming from our Nextcloud Conf 2025 lightning talks, you can find the slides for the first talk here and for the second talk here.
dav_push
is a Nextcloud extension to demonstrate WebDAV-Push support on calendars and addressbooks.
It is the server part of our efforts to draft a WebDAV-Push standard and provide a working implementation (server + client) in order to demonstrate it.
In proprietary environments, changes in events and contacts are nowadays usually pushed to other clients so that they can update their views almost in real-time.
WebDAV however (and in this context, especially CalDAV and CardDAV) doesn't currently support push notifications of clients when a collection has changed. So clients have to periodically ask the server for changes. This causes unnecessary delays and battery usage.
WebDAV-Push, which is currently in development, wants to solve this problem with an open protocol, too. See the WebDAV-Push repository for more information.
The current WebDAV-Push draft is provided by @bitfireAT.
This Nextcloud extension has been developed by @JonathanTreffler for @verdigado, who aim to integrate WebDAV-Push support into their Nextcloud hosting solutions.
If you have questions/suggestions or just want to show your interest about
- WebDAV-Push in general, see WebDAV-Push: Contact for various options;
- for discussion about this Nextcloud extension specifically, use the issues.
- It is highly recommended to install either the GMP or the BCMath php extension to speed up cryptography calculations
- Open App Store of your Nextcloud instance
- Search for "DAV Push"
- Click install button
For more details see the apps management section of the nextcloud docs
- It is highly recommended to install either the GMP or the BCMath php extension to speed up cryptography calculations
- Clone this repository into your apps directory
- Run
composer install -o
in the repository directory - Open App Store of your Nextcloud instance
- Search for "DAV Push"
- Click enable button
When you have installed the Nextcloud extension, you need a client that supports WebDAV-Push to make use of it.
Currently, only DAVx⁵ (≥ 4.4.2) supports WebDAV-Push. To get it working:
- Install and enable
dav_push
on your server (see above). - Install DAVx⁵, add your server. If you already have DAVx⁵ configured with your server, choose Refresh collection list.
- DAVx⁵ should now show Server advertises Push support in the details view for the calendars of this server.
- Install a UnifiedPush distributor like ntfy.
- Connect it with DAVx⁵ app settings / UnifiedPush (experimental). Now the subscription should show up in ntfy (if you're using ntfy).
- Activate sync for one or more calendars. In the details view, DAVx⁵ should show Push support: Subscribed after a few seconds.
- Whenever a new event is created or an existing event is updated by any client (for instance, in the Nextcloud Calendar), DAVx⁵ should receive a push notification and start a sync very soon (usually a few seconds).
See bitfireAT/davx5-ose#983 for screenshots.