Sign inSign up

nurefexc/odoo-calendar-sync-caldav

By nurefexc

Updated 5 months ago

Idempotent Odoo-to-CalDAV sync service with timezone support, auto-cleanup, and Docker readiness.

Image
Integration & delivery
Developer tools
0

374

nurefexc/odoo-calendar-sync-caldav repository overview

Docker Overview

Odoo Calendar Sync (CalDAV)

A high-performance, idempotent synchronization service designed to bridge Odoo ERP calendar events to any CalDAV server (e.g., Radicale, Nextcloud, iCloud). The software is engineered for stateless deployment, tracking synchronization metadata directly within the iCalendar files to eliminate the need for an external database or persistent volume mapping.

Quick Start
docker run -d \
  --name odoo-caldav-bridge \
  --restart always \
  -e ODOO_URL=[https://odoo.example.com](https://odoo.example.com) \
  -e ODOO_DB=production_db \
  -e ODOO_USER=your_login \
  -e ODOO_PASS=your_password_or_key \
  -e CAL_DAV_URL=[https://caldav.example.com/user/calendar/](https://caldav.example.com/user/calendar/) \
  -e CAL_DAV_USER=dav_user \
  -e CAL_DAV_PASS=dav_pass \
  -e SYNC_INTERVAL_MINUTES=15 \
  -e TZ=Europe/Budapest \
  nurefexc/odoo-calendar-sync-caldav:latest

Environment Variables

VariableRequiredDefaultDescription
ODOO_URL-Base URL of your Odoo instance
ODOO_DB-Odoo database name
ODOO_USER-Odoo username or email
ODOO_PASS-Odoo password or API key
CAL_DAV_URL-Full URL to the CalDAV calendar collection
CAL_DAV_USER-CalDAV server username
CAL_DAV_PASS-CalDAV server password
SYNC_INTERVAL_MINUTES15Synchronization interval in minutes
TZUTCSystem timezone (e.g., Europe/Budapest)

Required Mounts

No persistent mounts required. The service is stateless, storing synchronization metadata (X-ODOO-ID, X-ODOO-WRITE-DATE) directly within the CalDAV event properties.

Ports

No inbound ports required – the container only establishes outbound HTTPS connections to Odoo and CalDAV servers.

Features

  • 🔄 Idempotent Sync: Prevents duplicates by tracking unique Odoo IDs and modification dates.
  • 📅 Stateless Operation: No local database or volume mapping needed for history tracking.
  • 🔗 Smart Meeting Links: Automatically appends Odoo video call URLs to the event description.
  • 🧹 Auto-Cleanup: Automatically removes CalDAV entries if the corresponding event is deleted in Odoo.
  • 🌍 Timezone Aware: Full support for global scheduling using the zoneinfo module.
  • 🛡️ Protocol Resilience: Robust error handling and compatibility with various CalDAV implementations (e.g., PROPFIND/REPORT fallback).

Supported Architectures

  • linux/amd64

Tag summary

Content type

Image

Digest

sha256:7326c83be

Size

58.5 MB

Last updated

5 months ago

docker pull nurefexc/odoo-calendar-sync-caldav