Commit Graph

13 Commits

Author SHA1 Message Date
Stefan Hacker 9bb22eb17b feat: Admin-Sicht System-Zeit + TZ-Liste in README/.env.example
- /api/settings gibt zusaetzlich timezone, timezone_abbr, server_time,
  ntp_server zurueck (alle read-only, aus Config/ENV).
- AdminView zeigt neuen Abschnitt "System-Zeit" mit Zeitzone, aktueller
  Server-Zeit und NTP-Server samt Hinweis "wird in der .env festgelegt".
- .env.example: Liste gaengiger TZ-Werte mit Link zur IANA-Vollliste.
- README.md: neuer Abschnitt "Zeitzone & NTP" mit Werte-Tabelle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 15:19:40 +02:00
Stefan Hacker 5797a7b738 feat: CalDAV-Server (RFC 4791 Subset) fuer native Client-Sync
Vollstaendige CalDAV-Implementierung unter /dav/ - Thunderbird,
DAVx5, Apple Calendar und Outlook (CalDAV-Synchronizer) koennen
sich einfach ueber HTTP-Basic-Auth mit ihrem Mini-Cloud-Account
anmelden und ihre Kalender synchronisieren.

Unterstuetzte Methoden:
* OPTIONS      - DAV-Capabilities
* PROPFIND     - Discovery, Principal, Calendar-Home, Kalender,
                 Termin-Listings (Depth 0/1 beachtet)
* REPORT       - calendar-query + calendar-multiget mit
                 optionalem Zeitraumfilter (<time-range>)
* GET          - einzelner Termin als VCALENDAR
* PUT          - Termin erstellen/aktualisieren (mit ETag-Check
                 via If-Match + If-None-Match)
* DELETE       - Termin oder ganzer Kalender
* MKCALENDAR   - neuen Kalender vom Client aus anlegen

iCal-Parser verarbeitet SUMMARY, DESCRIPTION, LOCATION, DTSTART,
DTEND, RRULE, EXDATE - inklusive Line-Folding (RFC 5545).
Ganztages-Termine (VALUE=DATE) werden korrekt erkannt.

ETags basieren auf updated_at-Zeitstempel und werden pro
PUT-Response zurueckgegeben, damit Clients Konflikte erkennen.

nginx.example.conf: /dav/ mit proxy_request_buffering off fuer
groessere PUTs und Weiterleitung der .well-known-URLs.

README: eigener "CalDAV-Zugriff"-Block mit Tabelle pro Client.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 12:51:21 +02:00
Stefan Hacker 035923834b docs: README erklaert Reichweite des File Locks in Alltagssprache
Neuer Abschnitt "Was das Lock wirklich kann (und was nicht)" mit
Tabelle + Beispielszenario Adam/Anna. Zeigt Laien, dass das Lock
Web-GUI, Client und Upload schuetzt, aber nicht den Windows-
Explorer - und dass die Konflikt-Kopie das Sicherheitsnetz ist.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 11:36:07 +02:00
Stefan Hacker e65d330d1d docs: README File Locking Tabelle aktualisiert
- Feature-Beschreibung angepasst (manuelles Entsperren, auto-unlock)
- Neue File Locking Tabelle mit allen Szenarien
  (oeffnen, entsperren, vergessen, client beenden, admin)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 03:06:40 +02:00
Stefan Hacker 2428dabed7 docs: README Sync-Logik Tabelle + aktualisierte Features
- Sync-Logik Tabelle: Checksum-Tracking erklaert (wer hat sich geaendert)
- Features aktualisiert: Intelligenter Sync, Konflikt-Erkennung,
  Auto-Unlock, Minimiert starten, .cloud Handler

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:17:59 +02:00
Stefan Hacker 11fd11aa45 docs: README Desktop Sync Client komplett dokumentiert
- Features-Liste (Virtual Files, Multi-Sync, Offline, Locking, Tray etc.)
- Terminalserver-Tabelle (pro User eigene Instanz)
- Virtual Files vs. Full Sync Vergleichstabelle
- Einstellungen-Pfade pro OS
- Config bleibt bei Updates erhalten

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:30:08 +02:00
Stefan Hacker ba7e541260 docs: Docker aufraeumen - Speicher freigeben Anleitung
docker system prune, image prune, builder prune, system df

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 00:02:54 +02:00
Stefan Hacker 60e9f2699e docs: Docker-Cache loeschen Anleitung in README
build --no-cache, Image loeschen, Browser-Cache Hinweis

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 00:01:02 +02:00
Stefan Hacker ec3d4866e0 refactor: Build-Upload nutzt SECRET_KEY + Doku klargestellt
- Backend: Upload-Auth prueft SECRET_KEY statt eigenen Token
  (ein Token weniger zu verwalten)
- BUILD_UPLOAD_TOKEN in Entwicklungs-.env = SECRET_KEY vom Server
- .env.example: Klarer Kommentar dass CLOUD_URL + BUILD_UPLOAD_TOKEN
  NUR auf der Entwicklungsmaschine gesetzt werden, nicht auf dem Server
- README: Desktop Sync Client Abschnitt mit Build-Anleitung und
  Auto-Upload-Erklaerung

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 23:41:22 +02:00
Stefan Hacker 35fddbfcbc docs: README OnlyOffice-Abschnitt aktualisiert
- Kein ONLYOFFICE_JWT_SECRET mehr, nutzt JWT_SECRET_KEY automatisch
- Nur noch ONLYOFFICE_URL in .env setzen
- Eigene Subdomain mit HTTPS als Pflicht beschrieben
- Schritte vereinfacht (4 statt 5)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 22:10:54 +02:00
Stefan Hacker 3185b2d41c docs: .env.example + docker-compose + README komplett aktualisiert
- .env.example: OnlyOffice-Variablen (URL + JWT_SECRET) hinzugefuegt,
  FRONTEND_URL auf HTTPS-Beispiel geaendert
- docker-compose.yml: Nutzt env_file statt einzelner Variablen,
  alle Secrets kommen aus .env (eine Quelle der Wahrheit)
- README.md komplett ueberarbeitet:
  - Alle Features dokumentiert (Papierkorb, Share-Link-Typen,
    Drag&Drop, OnlyOffice, SFTP-Backup, Benachrichtigungen etc.)
  - Docker + nginx Reverse-Proxy Beispiel mit Let's Encrypt
  - OnlyOffice Setup-Anleitung (docker-compose + nginx + .env)
  - Alle Verwendungs-Abschnitte aktualisiert
  - Administration dokumentiert

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 21:27:13 +02:00
Stefan Hacker e7170b7cc8 docs: clarify port usage in README (dev vs production)
Port 3100 is the frontend dev server (open in browser), port 5000 is
the backend API only. In Docker production, everything runs on 5000.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:15:38 +02:00
Stefan Hacker 6e02e1a276 docs: add project README with installation and usage guide
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:10:42 +02:00