Files
betreuungs-cockpit/package.json
T
Florian Wilde 9365645f72 fix: Bindeadresse war in der Vorlage stillschweigend vorbelegt
.env.example setzte APP_BIND=127.0.0.1 als fertigen Wert, mitten zwischen
lauter anderen fertigen Werten. Wer die Datei kopiert und seinen Reverse
Proxy auf einem anderen Server betreibt, kommt damit nicht an die
Anwendung heran - und der Fehler sieht aus, als laege es am Proxy.

Der sichere Standard bleibt 127.0.0.1. Er wird nur nicht mehr als
"schon erledigt" praesentiert, sondern als Entscheidung mit drei
benannten Faellen: Proxy daneben, Proxy woanders mit privatem Netz,
Proxy woanders ohne. Beim dritten Fall steht die Firewallregel dabei.

Die Installationsanleitung nennt APP_BIND jetzt schon in Schritt 3, wo
die .env ausgefuellt wird - nicht erst in Schritt 7, wo der Proxy
drankommt. Wer der Anleitung von oben nach unten folgt, stolpert sonst
erst vier Schritte spaeter darueber.

Dazu ein eigener Abschnitt in der Fehlersuche mit den zwei curl-Proben,
die den Unterschied zwischen falscher Bindeadresse und Firewall zeigen -
und dem Hinweis, dass dafuer kein Neubau noetig ist.

Am Programm aendert sich nichts.

Etappe: 8
Phase: Haertung
2026-08-22 14:22:38 +02:00

95 lines
2.9 KiB
JSON

{
"name": "betreuungs-cockpit",
"version": "1.0.3",
"private": true,
"description": "Arbeits- und Dokumentationswerkzeug fuer die ehrenamtliche rechtliche Betreuung",
"engines": {
"node": ">=20.11"
},
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint",
"typecheck": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"db:generate": "prisma generate",
"db:migrate": "prisma migrate dev",
"db:deploy": "prisma migrate deploy",
"db:volltext": "prisma db execute --schema prisma/schema.prisma --file prisma/sql/volltextsuche.sql",
"db:seed": "prisma db seed",
"db:studio": "prisma studio",
"setup": "prisma migrate deploy && npm run db:sql && npm run db:seed",
"schluessel": "node scripts/schluessel-erzeugen.mjs",
"postinstall": "prisma generate",
"db:audit-schutz": "prisma db execute --schema prisma/schema.prisma --file prisma/sql/audit-schutz.sql",
"db:sql": "npm run db:volltext && npm run db:audit-schutz",
"protokoll": "node scripts/bauprotokoll.mjs",
"test:e2e": "playwright test",
"protokoll:md": "node scripts/bauprotokoll.mjs --md",
"wartungsschluessel": "node --env-file=.env scripts/wartungsschluessel.mjs",
"version": "node scripts/version.mjs"
},
"prisma": {
"seed": "tsx prisma/seed.ts"
},
"dependencies": {
"@aws-sdk/client-s3": "3.735.0",
"@aws-sdk/s3-request-presigner": "3.735.0",
"@node-rs/argon2": "2.0.2",
"@prisma/client": "6.3.1",
"@radix-ui/react-dialog": "1.1.4",
"@radix-ui/react-dropdown-menu": "2.1.4",
"@radix-ui/react-label": "2.1.1",
"@radix-ui/react-slot": "1.1.1",
"@react-pdf/renderer": "4.1.6",
"archiver": "7.0.1",
"class-variance-authority": "0.7.1",
"clsx": "2.1.1",
"date-fns": "4.1.0",
"docx": "9.1.1",
"lucide-react": "0.474.0",
"next": "15.1.6",
"next-auth": "5.0.0-beta.25",
"nodemailer": "6.10.0",
"otpauth": "9.3.6",
"pdf-lib": "1.17.1",
"qrcode": "1.5.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"rrule": "2.8.1",
"server-only": "^0.0.1",
"tailwind-merge": "2.6.0",
"tailwindcss-animate": "1.0.7",
"zod": "3.24.1"
},
"devDependencies": {
"@playwright/test": "1.50.1",
"@types/archiver": "6.0.3",
"@types/node": "22.13.1",
"@types/nodemailer": "6.4.17",
"@types/qrcode": "1.5.5",
"@types/react": "19.0.8",
"@types/react-dom": "19.0.3",
"autoprefixer": "10.4.20",
"eslint": "9.19.0",
"eslint-config-next": "15.1.6",
"postcss": "8.5.1",
"prisma": "6.3.1",
"tailwindcss": "3.4.17",
"tsx": "4.19.2",
"typescript": "5.7.3",
"vitest": "3.0.5"
},
"allowScripts": {
"@prisma/client@6.3.1": true,
"@prisma/engines@6.3.1": true,
"esbuild@0.23.1": true,
"esbuild@0.25.12": true,
"prisma@6.3.1": true,
"sharp@0.33.5": true,
"unrs-resolver@1.12.2": true
}
}