Neue Features: - Feinsortierung mit Live-Streaming (SSE) - zeigt Fortschritt in Echtzeit - Import/Export für Sortierregeln (JSON) - Sortierregeln-Liste mit Sortieroptionen (Name A-Z/Z-A, Priorität) - Checkbox "Auch Dateinamen prüfen" für Keyword-Matching - Automatische PDF-Seitenrotation bei OCR (90°, 180°, 270°) - Tab-Persistenz über Page-Reload (localStorage) - Modals schließen nur noch über X-Button Bugfixes: - Keywords nutzen jetzt Wortgrenzen (\b) - "rechnung" matched nicht mehr "Berechnung" - Keyword-Prüfung standardmäßig nur auf PDF-Text, nicht Dateinamen - Natürliche Sortierung für Regelnamen (1, 2, 10 statt 1, 10, 2) Technisch: - Async SSE-Generator mit asyncio.sleep(0) für sofortiges Streaming - ocrmypdf mit --rotate-pages Flag - Timeout für OCR auf 3 Minuten erhöht Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
42 lines
920 B
Docker
Executable file
42 lines
920 B
Docker
Executable file
# Dateiverwaltung Docker Image
|
|
FROM python:3.11-slim
|
|
|
|
# System-Abhängigkeiten für OCR, PDF und DB-Backup
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
tesseract-ocr \
|
|
tesseract-ocr-deu \
|
|
ocrmypdf \
|
|
unpaper \
|
|
poppler-utils \
|
|
ghostscript \
|
|
libmagic1 \
|
|
curl \
|
|
mariadb-client \
|
|
postgresql-client \
|
|
gzip \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Arbeitsverzeichnis
|
|
WORKDIR /app
|
|
|
|
# Python-Abhängigkeiten
|
|
COPY backend/requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Anwendung kopieren
|
|
COPY backend/ ./backend/
|
|
COPY frontend/ ./frontend/
|
|
COPY regeln/ ./regeln/
|
|
|
|
# Umgebungsvariablen
|
|
ENV PYTHONPATH=/app
|
|
|
|
# Port
|
|
EXPOSE 8000
|
|
|
|
# Health Check
|
|
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
|
|
CMD curl -f http://localhost:8000/health || exit 1
|
|
|
|
# Start
|
|
CMD ["uvicorn", "backend.app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|