fix: Admin-Uploads auf dem Live-Server (Berechtigung, Persistenz, Body-Size-Limit)
Docker Image bauen und veroeffentlichen / build-and-push (push) Successful in 2m29s
Docker Image bauen und veroeffentlichen / build-and-push (push) Successful in 2m29s
Uploads (Bilder + Hero-Video) schlugen live fehl, lokal aber nicht: der Container laeuft als non-root "nextjs", /app/uploads existierte nirgends vorbereitet und gehoert root -> mkdir() scheiterte mit EACCES, unbehandelt als HTML-500 statt JSON, der Client zeigte nur einen haengenden "wird hochgeladen"-Zustand ohne Fehlermeldung. - Dockerfile legt /app/uploads jetzt vor dem User-Wechsel an und uebereignet es dem nextjs-Nutzer - docker-compose.yml persistiert Uploads jetzt ueber ein eigenes Volume (vorher gingen sie bei jedem Redeploy verloren) und setzt UPLOAD_DIR explizit - Beide Upload-Routen fangen Dateisystemfehler jetzt ab und liefern eine echte JSON-Fehlermeldung statt eine unbehandelte Exception - k8s-Manifeste vorsorglich mitgefixt (fsGroup fuer den Volume-Mount, Ingress-Body-Size-Limit) fuer den Fall eines spaeteren Kubernetes-Wechsels Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
1 parent
286387d5ec
commit
d0c1d0840c
7 files changed
+71
-5
No files matched your search
+10
@@ -79,6 +79,16 @@ COPY --from=builder /app/src/generated ./src/generated
|
||||
COPY --chown=nextjs:nodejs --from=migrator /app/node_modules ./node_modules
|
||||
ENV PATH="/app/node_modules/.bin:${PATH}"
|
||||
|
||||
# UPLOAD_DIR (Standard "./uploads", siehe .env.example) faellt ohne diesen
|
||||
# Schritt unter das root-eigene /app-Arbeitsverzeichnis: der Container laeuft
|
||||
# als non-root "nextjs" (s.u.), dessen mkdir()-Aufruf in
|
||||
# app/api/admin/upload*/route.ts dort ohne Schreibrecht auf /app selbst mit
|
||||
# EACCES fehlschlaegt — Admin-Uploads (Bilder UND Hero-Video) scheitern dann
|
||||
# ausnahmslos. Verzeichnis hier bereits VOR "USER nextjs" anlegen und
|
||||
# uebereignen; docker-compose.yml mountet ausserdem ein Volume genau hierher,
|
||||
# damit Uploads auch einen Container-Neustart ueberleben (siehe dort).
|
||||
RUN mkdir -p /app/uploads && chown nextjs:nodejs /app/uploads
|
||||
|
||||
USER nextjs
|
||||
EXPOSE 3000
|
||||
ENV PORT=3000
|
||||
|
||||
Reference in new issue
Block a user