New lib/caldav.js speaks CalDAV over Basic auth (shared mail account): reads events in a window, and creates/updates/deletes iCalendar VEVENTs with a reminder alarm. DST-correct Europe/Berlin <-> UTC handling. Appointments (Vorstellungsgespräch / general) are managed per application in a new "Termine" section and mirrored to the SOGo calendar; recording a "Vorstellungsgespräch" status suggests a prefilled calendar entry (confirm + click). A dashboard widget lists upcoming appointments. A background poller reconciles remote edits/deletions via the collection ctag. Config: CALDAV_URL (+ CALDAV_ALARM_MIN, CALDAV_POLL_MS); disabled gracefully when unset. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
44 lines
1.7 KiB
Bash
44 lines
1.7 KiB
Bash
# Kopiere diese Datei nach .env und trage deinen Schlüssel ein.
|
||
# .env wird NICHT eingecheckt (siehe .gitignore).
|
||
|
||
# Ollama Cloud API-Schlüssel – https://ollama.com/settings/keys
|
||
OLLAMA_API_KEY=
|
||
|
||
# Optional – Cloud-Modell (Standard: gpt-oss:120b)
|
||
# OLLAMA_MODEL=gpt-oss:120b
|
||
|
||
# Optional – anderer Host (z. B. lokale Ollama-Instanz: http://localhost:11434)
|
||
# OLLAMA_HOST=https://ollama.com
|
||
|
||
# --- E-Mail (SMTP-Versand + IMAP-Empfang) ---
|
||
# Versand läuft über die authentifizierte Submission des eigenen Mailservers,
|
||
# damit dieser DKIM signiert und die reputable IP/PTR nutzt (SPF/DMARC-Alignment).
|
||
# Ohne diese Angaben ist der E-Mail-Teil deaktiviert.
|
||
MAIL_HOST=mail.example.com
|
||
MAIL_SMTP_PORT=587
|
||
MAIL_IMAP_PORT=993
|
||
MAIL_USER=name@example.com
|
||
MAIL_PASSWORD=
|
||
MAIL_FROM_NAME=Vorname Nachname
|
||
MAIL_FROM=name@example.com
|
||
# IMAP-Postfach + Abrufintervall (ms) für neue Antwortmails
|
||
MAIL_IMAP_MAILBOX=INBOX
|
||
MAIL_POLL_MS=180000
|
||
|
||
# --- Bewerbungskalender (CalDAV, z. B. SOGo) ---
|
||
# Voll-URL der Kalender-Sammlung (mit abschließendem /). Auth läuft über die
|
||
# oben gesetzten MAIL_USER/MAIL_PASSWORD (gleiches Konto). Ohne CALDAV_URL sind
|
||
# die Kalender-Funktionen deaktiviert.
|
||
# CALDAV_URL=https://mail.example.com/SOGo/dav/name@example.com/Calendar/XXXX/
|
||
# Standard-Erinnerung (Minuten vor Terminbeginn) und Sync-Intervall (ms).
|
||
CALDAV_ALARM_MIN=60
|
||
CALDAV_POLL_MS=300000
|
||
|
||
# --- REST-API für Drittanbietersoftware (/api/v1) ---
|
||
# Ist dieser Schlüssel gesetzt, ist die API aktiv und erwartet den Wert im
|
||
# Header "X-API-Key" jedes Requests. Ohne Schlüssel antwortet die API (bis auf
|
||
# /health) mit 503. Swagger-UI läuft unter /swagger, das OpenAPI-Dokument unter
|
||
# /swagger.json – beides ist auch ohne Token erreichbar.
|
||
# Beispiel: API_TOKEN=dein_geheimer_schluessel
|
||
API_TOKEN=
|