Files
paperlessmanager/docker-compose.yml
bjoernpoettker 8c5a81ed27
Build and Push Multi-Platform Images / build-and-push (push) Successful in 37s
feat: implement ProcessVerarbeiteteDocuments (Upload-Check)
Ported ProcessVerarbeiteteDocuments() from C# ProcessUploads.cs:
- Checks docs tagged "hochgeladen" → eingangsrechnungVorhanden()
- On match: livesearch, update title/type/created/correspondent/tags,
  set custom fields (externeBelegnummer, AgrarmonitorLink), addNote
- Tag "hochgeladen" → "fertig" swap; owner via Client.AgrarmonitorBetriebId
- 401/403 guard: clearClient() + break (same pattern as runPolling)
- Cron: AGRARMONITOR_UPLOAD_CHECK_CRON (default: 0 * * * * *)
- New settings: agrarmonitor_tag_hochgeladen, agrarmonitor_link_field
- Endpoint: POST /api/agrarmonitor/process-uploads
- Frontend: polling-config extended with tagHochgeladen + linkField select,
  new card "Dokumenten-Verarbeitung" with run button + result display

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 12:11:44 +02:00

80 lines
3.4 KiB
YAML

services:
# ─── Backend (NestJS) ──────────────────────────────────────
backend:
image: gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-backend:latest
build: ./paperless-backend
container_name: paperless-backend
restart: unless-stopped
ports:
- "${BACKEND_PORT:-7601}:3100"
environment:
- PORT=3100
- DB_HOST=${DB_HOST:-db}
- DB_PORT=${DB_PORT:-3306}
- DB_USERNAME=${DB_USERNAME:-root}
- DB_PASSWORD=${DB_PASSWORD:-changeme}
- DB_DATABASE=${DB_DATABASE:-paperlessadd}
- PAPERLESS_URL=${PAPERLESS_URL:-http://paperless:8000}
- PAPERLESS_TOKEN=${PAPERLESS_TOKEN:-}
- PAPERLESS_PROCESSOR_CRON=${PAPERLESS_PROCESSOR_CRON:-0 * * * * *}
- OLLAMA_URL=${OLLAMA_URL:-http://ollama:11434}
- OLLAMA_MODEL=${OLLAMA_MODEL:-llava}
- SCANNER_ARCHIVE_DIR=${SCANNER_ARCHIVE_DIR:-/data/scanner/_processed_archive}
- OIDC_ISSUER=${OIDC_ISSUER:-}
- SMTP_HOST=${SMTP_HOST:-}
- SMTP_PORT=${SMTP_PORT:-587}
- SMTP_SECURE=${SMTP_SECURE:-false}
- SMTP_USER=${SMTP_USER:-}
- SMTP_PASS=${SMTP_PASS:-}
- SMTP_FROM=${SMTP_FROM:-paperless@localhost}
- SMTP_FROM_NAME=${SMTP_FROM_NAME:-}
- SMTP_ENCRYPTION_KEY=${SMTP_ENCRYPTION_KEY:-}
- POSTPROCESSING_ERROR_TAG=${POSTPROCESSING_ERROR_TAG:-0}
- MANUELL_BEARBEITEN_TAG=${MANUELL_BEARBEITEN_TAG:-6}
- IMAP_HOST=${IMAP_HOST:-}
- IMAP_PORT=${IMAP_PORT:-993}
- IMAP_USE_SSL=${IMAP_USE_SSL:-true}
- IMAP_USERNAME=${IMAP_USERNAME:-}
- IMAP_PASSWORD=${IMAP_PASSWORD:-}
- BELEGNUMMER_GET_URL=${BELEGNUMMER_GET_URL:-}
- BELEGNUMMER_SET_URL=${BELEGNUMMER_SET_URL:-}
- AGRARMONITOR_BASE_URL=${AGRARMONITOR_BASE_URL:-https://admin7.agrarmonitor.de}
- AGRARMONITOR_API_BASE_URL=${AGRARMONITOR_API_BASE_URL:-https://api.agrarmonitor.de}
- AGRARMONITOR_USERNAME=${AGRARMONITOR_USERNAME:-}
- AGRARMONITOR_PASSWORD=${AGRARMONITOR_PASSWORD:-}
- AGRARMONITOR_API_TOKEN=${AGRARMONITOR_API_TOKEN:-}
- AGRARMONITOR_COOKIE_PATH=${AGRARMONITOR_COOKIE_PATH:-./data/agrarmonitor-cookies.json}
- AGRARMONITOR_ENCRYPTION_KEY=${AGRARMONITOR_ENCRYPTION_KEY:-}
- AGRARMONITOR_POLLING_CRON=${AGRARMONITOR_POLLING_CRON:-}
- AGRARMONITOR_UPLOAD_CHECK_CRON=${AGRARMONITOR_UPLOAD_CHECK_CRON:-}
volumes:
- /mnt/scans:/mnt/scans
- /mnt/paperlessmanager:/mnt/data
networks:
- paperless-net
# ─── Frontend (React + nginx) ──────────────────────────────
frontend:
image: gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-frontend:latest
build:
context: ./paperless-frontend
container_name: paperless-frontend
restart: unless-stopped
ports:
- "${FRONTEND_PORT:-7600}:80"
environment:
- VITE_API_URL=
- PAPERLESS_URL=${PAPERLESS_URL:-http://paperless:8000}
- VITE_OIDC_AUTHORITY=${VITE_OIDC_AUTHORITY:-https://auth.poettker-holtrup.de/application/o/paperlessmanager/}
- VITE_OIDC_CLIENT_ID=${VITE_OIDC_CLIENT_ID:-ogOeIlrcsf2spjuwyOc7CuAPrRkRSt3RXfYguoLn}
- VITE_OIDC_REDIRECT_URI=${VITE_OIDC_REDIRECT_URI:-https://px-7a9b2.poettker-cloud.de/auth/callback}
networks:
- paperless-net
volumes:
scanner_data:
networks:
paperless-net:
driver: bridge