Skip to content

CalDAV and CardDAV interface for grommunio

License

Notifications You must be signed in to change notification settings

grommunio/grommunio-dav

Repository files navigation

grommunio DAV

grommunio DAV is an open-source application to provide CalDAV and CardDAV to compatible applications and devices such as macOS Calendar, macOS Contacts, Thunderbird/Lightning and others.

shield-agpl shield-release shield-scrut shield-loc

At a glance

  • Provides standardized CalDAV and CardDAV interfaces to groupware data (contacts, calendar and tasks).
  • Multi-platform supports various CalDAV and CardDAV clients, such as macOS Calendar, macOS Contacts, Thunderbird/Lightning, Evolution and many other CalDAV/CardDAV clients as well as other applications used, such as Dash.
  • Compatible, works with various web servers such as nginx, apache and others; usage of nginx is recommended.
  • Highly efficient, averaging at 4MB per connection, per device of memory usage (using nginx with php-fpm).
  • Distributable, compatible with load balancers such as haproxy, apisix, KEMP and others.
  • Scalable, enabling multi-server and multi-location deployments.
  • High-performance, allowing nearly wire speeds for store synchronization.
  • Secure, with certifications through independent security research and validation.

Built with

  • PHP 7.4+, 8.x
  • PHP modules: ctype, curl, dom, iconv, mbsting, sqlite, xml, xmlreader, xmlwriter
  • PHP backend module: mapi

Getting started

Prerequisites

  • A working web server (nginx is recommended), with a working TLS configuration
  • PHP, preferably available as fpm pool
  • Zcore MAPI transport (provided by Gromox)

Installation

  • Deploy grommunio-dav at a location of your choice, such as /usr/share/grommunio-dav-dev.

  • Adapt version.php with the adequate version string, see /build/version.php.in.

  • Provide a default configuration file as config.php, see /config.php.

  • Adapt web server configuration according to your needs, /build provides some examples.

  • Prepare PHP configuration according to your needs, /build provides some examples.

  • (Optional) Setup of DNS SRV records for simplified account configuration is recommended:

    _carddavs._tcp 86400 IN SRV 10 20 443 my.example.com.
    _caldavs._tcp  86400 IN SRV 10 20 443 my.example.com.
    _caldavs._tcp  86400 IN TXT path=/dav
    _carddavs._tcp 86400 IN TXT path=/dav
    

Logging

grommunio DAV uses monolog for logging. Adjust /glogger.ini to match your needs.

Usage

  • You can use your webbrowser to point to https://my.example.com/dav/, or alternatively directly to your calendar URL https://my.example.com/dav/calendars/<user>/Calendar/
  • Enter your account credentials (username and password)

Support

Support is available through grommunio GmbH and its partners. See https://grommunio.com/ for details. A community forum is at https://community.grommunio.com/.

For direct contact and supplying information about a security-related responsible disclosure, contact dev@grommunio.com.

Contributing

Coding style

This repository follows a custom coding style, which can be validated anytime using the repository's provided configuration file.

About

CalDAV and CardDAV interface for grommunio

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages