version: '3.8' services: calendar-sync: image: ghcr.io/skoelle/calender_sync:latest container_name: calendar-sync restart: unless-stopped command: ["python", "sync.py"] environment: - ICS_URL=${ICS_URL} - CALENDAR_LABEL=${CALENDAR_LABEL:-privat} - DB_HOST=${DB_HOST:-mariadb.fritz.box} - DB_PORT=${DB_PORT:-3306} - DB_NAME=${DB_NAME:-calendar_sync} - DB_USER=${DB_USER} - DB_PASSWORD=${DB_PASSWORD} - SYNC_INTERVAL_MINUTES=${SYNC_INTERVAL_MINUTES:-15} - WINDOW_PAST_DAYS=${WINDOW_PAST_DAYS:-90} - WINDOW_FUTURE_DAYS=${WINDOW_FUTURE_DAYS:-365} - LOG_LEVEL=${LOG_LEVEL:-INFO} - HEALTHCHECK_URL=${HEALTHCHECK_URL:-} - DB_BOOTSTRAP=${DB_BOOTSTRAP:-false} - DB_ROOT_USER=${DB_ROOT_USER:-} - DB_ROOT_PASSWORD=${DB_ROOT_PASSWORD:-} - SMTP_HOST=${SMTP_HOST:-} - SMTP_PORT=${SMTP_PORT:-587} - SMTP_USER=${SMTP_USER:-} - SMTP_PASSWORD=${SMTP_PASSWORD:-} - SMTP_FROM=${SMTP_FROM:-} - SMTP_USE_TLS=${SMTP_USE_TLS:-true} - NOTIFY_EMAIL=${NOTIFY_EMAIL:-} - NOTIFY_TIME=${NOTIFY_TIME:-6} - NOTIFY_TIMEZONE=${NOTIFY_TIMEZONE:-Europe/Berlin} - WEEKLY_NOTIFY_ENABLED=${WEEKLY_NOTIFY_ENABLED:-false} - WEEKLY_NOTIFY_DAY=${WEEKLY_NOTIFY_DAY:-5} - WEEKLY_NOTIFY_TIME=${WEEKLY_NOTIFY_TIME:-16} - WEEKLY_NOTIFY_TIMEZONE=${WEEKLY_NOTIFY_TIMEZONE:-Europe/Berlin} - WEEKLY_NOTIFY_EMAIL=${WEEKLY_NOTIFY_EMAIL:-} - WEEKLY_SEARCHWORDS=${WEEKLY_SEARCHWORDS:-} - WEEKLY_BLACKLISTWORDS=${WEEKLY_BLACKLISTWORDS:-} networks: - docker-backend calendar-api: image: ghcr.io/skoelle/calender_sync:latest container_name: calendar-api restart: unless-stopped command: ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "8000"] ports: - "${API_PORT:-8000}:8000" environment: - DB_HOST=${DB_HOST:-mariadb.fritz.box} - DB_PORT=${DB_PORT:-3306} - DB_NAME=${DB_NAME:-calendar_sync} - DB_USER=${DB_USER} - DB_PASSWORD=${DB_PASSWORD} - LOG_LEVEL=${LOG_LEVEL:-INFO} - TIMEZONE=${TIMEZONE:-Europe/Berlin} # <--- Add this line labels: - "com.centurylinklabs.watchtower.enable=true" networks: - docker-backend networks: docker-backend: external: true