From 6d7cec4112a2afa08186fec7750a0233f7058c7f Mon Sep 17 00:00:00 2001 From: Gabe Date: Wed, 1 Apr 2026 01:26:59 +0000 Subject: [PATCH] Add DAV_Containers/birthday-sync/compose.yaml --- DAV_Containers/birthday-sync/compose.yaml | 68 +++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 DAV_Containers/birthday-sync/compose.yaml diff --git a/DAV_Containers/birthday-sync/compose.yaml b/DAV_Containers/birthday-sync/compose.yaml new file mode 100644 index 0000000..46600c3 --- /dev/null +++ b/DAV_Containers/birthday-sync/compose.yaml @@ -0,0 +1,68 @@ +services: + birthday-sync: + # Build locally + #build: . + # Or use published image + image: ghcr.io/anatosun/bdaysync:latest + container_name: birthday-sync + restart: unless-stopped + + environment: + # CardDAV Configuration + CARDAV_SERVER_URL: "${CARDAV_SERVER_URL}" + CARDAV_USERNAME: "${CARDAV_USERNAME}" + CARDAV_PASSWORD: "${CARDAV_PASSWORD}" + + # CalDAV Configuration + CALDAV_SERVER_URL: "${CALDAV_SERVER_URL}" + CALDAV_USERNAME: "${CALDAV_USERNAME}" + CALDAV_PASSWORD: "${CALDAV_PASSWORD}" + + # Birthday Event Configuration + BIRTHDAY_EVENT_TITLE: "${BIRTHDAY_EVENT_TITLE:-🎂 {name}'s Birthday}" + BIRTHDAY_EVENT_DESCRIPTION: "${BIRTHDAY_EVENT_DESCRIPTION:-Birthday of {name}}" + BIRTHDAY_REMINDER_DAYS: "${BIRTHDAY_REMINDER_DAYS:-1,7}" + BIRTHDAY_REMINDER_MESSAGE: "${BIRTHDAY_REMINDER_MESSAGE:-Reminder: {name}'s birthday is in {days} days!}" + BIRTHDAY_EVENT_CATEGORY: "${BIRTHDAY_EVENT_CATEGORY:-Birthday}" + BIRTHDAY_UPDATE_EXISTING: "${BIRTHDAY_UPDATE_EXISTING:-true}" + + # Scheduling Configuration + RUN_MODE: "${RUN_MODE:-daemon}" # Options: daemon, once + SYNC_SCHEDULE: "${SYNC_SCHEDULE:-0 6 * * *}" # Daily at 6 AM + DIAGNOSTIC_SCHEDULE: "${DIAGNOSTIC_SCHEDULE:-0 7 * * 0}" # Weekly on Sunday at 7 AM + SYNC_INTERVAL_HOURS: "${SYNC_INTERVAL_HOURS:-0}" # Alternative: sync every N hours (0 = use cron) + + # Service Configuration + DEBUG: "${DEBUG:-false}" + TZ: "${TZ:-UTC}" + LOG_LEVEL: "${LOG_LEVEL:-INFO}" + LOG_TO_FILE: "${LOG_TO_FILE:-false}" + STARTUP_DELAY: "${STARTUP_DELAY:-30}" # Seconds to wait before first sync + + # Health Check Configuration + HEALTH_CHECK_CONNECTIVITY: "${HEALTH_CHECK_CONNECTIVITY:-false}" + + volumes: + # Optional: Persist logs if LOG_TO_FILE=true + - /srv/docker/bdaysync/birthday-logs:/var/log/birthday-sync + + # Resource limits + deploy: + resources: + limits: + memory: 256M + cpus: "0.5" + reservations: + memory: 64M + cpus: "0.1" + + # Health check (using the Python script itself) + healthcheck: + test: ["CMD", "python", "bdaysync/main.py", "--health-check"] + interval: 30m + timeout: 30s + retries: 3 + start_period: 1m + + # Logging configuration + logging: \ No newline at end of file