Idempotent Odoo-to-CalDAV sync service with timezone support, auto-cleanup, and Docker readiness.
374
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.
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
| Variable | Required | Default | Description |
|---|---|---|---|
| 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_MINUTES | ❌ | 15 | Synchronization interval in minutes |
| TZ | ❌ | UTC | System 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
Supported Architectures
Content type
Image
Digest
sha256:7326c83be…
Size
58.5 MB
Last updated
5 months ago
docker pull nurefexc/odoo-calendar-sync-caldav