Skip to content

markusbegerow/nextcloud-calendar-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calendar Sync for Nextcloud

nextcloud-calendar-sync

Calendar Sync lets you connect your Nextcloud calendar to any CalDAV server - keeping both sides in sync automatically, every 30 minutes. Multiple external sources, configurable sync direction, and secure encrypted credential storage are all built in.


Features

  • Bidirectional sync - changes made on either side are reflected on the other
  • Multiple configurations - connect to as many external CalDAV sources as you need
  • Sync direction control - bidirectional, external → Nextcloud only, or Nextcloud → external only
  • Conflict resolution - choose between "update with newer", "skip", or "keep both"
  • Content-based duplicate detection - matches events by title to avoid duplicates
  • Scheduled sync - runs automatically every 30 minutes in the background
  • Manual sync - trigger a full sync with one click
  • Sync history - view a log of recent sync runs with created/updated/deleted counts
  • Secure credentials - passwords encrypted with Nextcloud's built-in ICrypto before storage
  • Auto-refresh - configurable live status updates (1, 5, 10, 15 min, or custom)
  • Languages - English 🇬🇧 · German 🇩🇪

Requirements

Dependency Version
Nextcloud 20 – 33
PHP 8.0+

Installation

From source (manual)

  1. Clone or download this repository into your Nextcloud custom_apps/ directory:
    cd /path/to/nextcloud/custom_apps
    git clone https://github.com/markusbegerow/nextcloud-calendar-sync calendar-sync
  2. Enable the app in Nextcloud:
    php occ app:enable calendar-sync
  3. Navigate to the Sync entry in the Nextcloud top navigation bar.

Usage

  1. Click Add Configuration to create a connection to an external CalDAV server.
  2. Fill in the CalDAV server URL, username, and password. Use Test Connection to verify.
  3. Choose a sync direction and how to handle duplicate events.
  4. Enable the configuration and click Sync Now to run the first sync manually.
  5. Background sync runs every 30 minutes automatically - check Recent Sync History for results.

CalDAV URL examples

Provider URL format
Nextcloud https://cloud.example.com/remote.php/dav/calendars/user/calendar-name/
Generic CalDAV https://example.com/dav/calendars/user/default/

Security

  • Passwords are encrypted with Nextcloud's ICrypto service before being written to the database. They are never logged or stored in plain text.
  • All requests from the background job run within the Nextcloud security context of the owning user.

License

GPL v3 © Markus Begerow


🙋‍♂️ Get Involved

If you encounter any issues or have questions:

☕ Support the Project

If you like this project, support further development with a repost or coffee:

Buy Me a Coffee

📬 Contact

About

Sync external CalDAV calendars with your Nextcloud calendar automatically.

Topics

Resources

License

Stars

1 star

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors