pageta/apps/api/.env.example
Till JS 3354ab7393 feat: Bilder aus Artikeln sichern (A+B+C) — og:image-Thumbnails, HTML-Rendering, mana-media-Archivierung
API:
- POST /articles/archive-media (jwtAuth, rate-limit 10/min): fetcht
  Artikel-Bilder SSRF-geschützt (lib/ssrf-guard: private Ranges, manuelle
  Redirect-Hops, 10MB-Stream-Cap), legt sie in mana-media ab (CAS,
  app='pageta') und schreibt <img src> auf media.mana.how um;
  nicht ladbare Bilder werden entfernt — nie Hotlinks (Tracking-Leak).
  srcset/picture/lazy-Attribute normalisiert, data-URIs <10KB inline.
- shared-rss ^0.5.0: /extract/preview liefert jetzt imageUrl (og:image).
- DSGVO: Export + Delete decken archivierte Media ab (app-scoped
  mana-media-Endpoints, refcount-sicher).
- sync2-pageta: event-sync-0.14-Typ-Fixes (readonly Envelope, bigint seq).

Web:
- Save-Pfad: nach ArticleSaved non-blocking archive-media-Call →
  ArticleMediaArchived-Event (htmlContent ≤750KB, imageUrl, mediaIds).
  ArticleSaved.imageUrl bleibt bewusst null (kein Hotlink, auch nicht
  übergangsweise). Duplicate-Save = organischer Backfill.
- Lese-Liste: Thumbnail (…/file/thumb); Reader: Lead-Image (…/file/medium,
  nur wenn Inhalt bildlos) + htmlContent rendert jetzt (DOMPurify-Pfad
  war schon verdrahtet).
- shared-schemas ^0.1.21 (ArticleMediaArchived + htmlContent im State).

⚠️ Deploy nur koordiniert mit publish:schemas pageta (422-Fenster).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 17:54:09 +02:00

21 lines
613 B
Text

# pageta-api — example env
PORT=3099
DATABASE_URL=postgres://pageta:devpassword@localhost:5443/pageta
# mana-Plattform-URLs
MANA_AUTH_URL=http://localhost:3001
MANA_AUTH_JWKS_URL=http://localhost:3001/.well-known/jwks.json
MANA_RESEARCH_URL=http://localhost:3068
MANA_NEWS_POOL_URL=http://localhost:3079
MANA_SHARE_URL=http://localhost:3072
MANA_CREDITS_URL=http://localhost:3061
MANA_MEDIA_URL=https://media.mana.how
# Service-Identität
MANA_SERVICE_KEY=dev-service-key-change-me
PAGETA_APP_SERVICE_KEY=dev-pageta-key-change-me
# JWT-Issuer für lokale Validation
JWT_ISSUER=mana-auth
JWT_AUDIENCE=pageta