caldavpuller/config/example.toml
2025-10-15 23:14:38 -03:00

96 lines
3.3 KiB
TOML

# CalDAV Configuration Example
# This file demonstrates how to configure CalDAV synchronization
# Copy and modify this example for your specific setup
# Source Server Configuration (e.g., Zoho Calendar)
[server]
# CalDAV server URL
url = "https://calendar.zoho.com/caldav/d82063f6ef084c8887a8694e661689fc/events/"
# Username for authentication
username = "your-email@domain.com"
# Password for authentication (use app-specific password)
password = "your-app-password"
# Whether to use HTTPS (recommended)
use_https = true
# Request timeout in seconds
timeout = 30
# Source Calendar Configuration
[calendar]
# Calendar name/path on the server
name = "caldav/d82063f6ef084c8887a8694e661689fc/events/"
# Calendar display name
display_name = "Work Calendar"
# Calendar color in hex format
color = "#4285F4"
# Default timezone for the calendar
timezone = "UTC"
# Whether this calendar is enabled for synchronization
enabled = true
# Synchronization Configuration
[sync]
# Synchronization interval in seconds (300 = 5 minutes)
interval = 300
# Whether to perform synchronization on startup
sync_on_startup = true
# Maximum number of retry attempts for failed operations
max_retries = 3
# Delay between retry attempts in seconds
retry_delay = 5
# Whether to delete local events that are missing on server
delete_missing = false
# Date range configuration
[sync.date_range]
# Number of days ahead to sync
days_ahead = 30
# Number of days in the past to sync
days_back = 30
# Whether to sync all events regardless of date
sync_all_events = false
# Optional filtering configuration
[filters]
# Keywords to filter events by (events containing any of these will be included)
keywords = ["work", "meeting", "project"]
# Keywords to exclude (events containing any of these will be excluded)
exclude_keywords = ["personal", "holiday", "cancelled"]
# Minimum event duration in minutes
min_duration_minutes = 5
# Maximum event duration in hours
max_duration_hours = 24
# Import Configuration (for unidirectional sync to target server)
[import]
# Target server configuration (e.g., Nextcloud)
[import.target_server]
# Nextcloud CalDAV URL
url = "https://your-nextcloud-domain.com/remote.php/dav/calendars/username/"
# Username for Nextcloud authentication
username = "your-nextcloud-username"
# Password for Nextcloud authentication (use app-specific password)
password = "your-nextcloud-app-password"
# Whether to use HTTPS (recommended)
use_https = true
# Request timeout in seconds
timeout = 30
# Target calendar configuration
[import.target_calendar]
# Target calendar name
name = "Imported-Zoho-Events"
# Target calendar display name (optional - will be discovered from server if not specified)
display_name = ""
# Target calendar color (optional - will be discovered from server if not specified)
color = ""
# Target calendar timezone (optional - will be discovered from server if not specified)
timezone = ""
# Whether this calendar is enabled for import
enabled = true
# Import behavior settings
overwrite_existing = true # Source always wins - overwrite target events
delete_missing = false # Don't delete events missing from source
dry_run = false # Set to true for preview mode
batch_size = 50 # Number of events to process in each batch
create_target_calendar = true # Create target calendar if it doesn't exist