chore: Screenshot-Kette und Demo-Seed
npm run screenshots startet eine Wegwerf-Instanz in einem eigenen Compose-Projekt mit eigener Datenbank, spielt ausschließlich erfundene Daten ein, fährt die Seiten mit Playwright ab und räumt am Ende alles wieder weg. Je Seite entstehen vier Bilder: hell und dunkel, Schreibtisch und Handy. Die Uhr steht fest, damit sich zwischen zwei Läufen nur das ändert, was sich wirklich geändert hat. Der Demo-Seed verweigert den Dienst ohne DEMO_MODUS=true — er würde sonst erfundene Daten in eine echte Datenbank schreiben. Test- und Werkzeugordner sind jetzt aus dem Docker-Kontext ausgenommen. Ein Typfehler in scripts/screenshots.ts hatte den Bau des Abbilds blockiert, obwohl die Datei dort nichts zu suchen hat. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e3390c88f4
commit
a88273117c
@@ -0,0 +1,61 @@
|
||||
# Wegwerf-Instanz nur für "npm run screenshots".
|
||||
#
|
||||
# Eigenes Compose-Projekt (planer-screenshots), eigenes Volume, eigene Ports.
|
||||
# Sie kommt der Entwicklungs- oder Betriebsinstanz damit nicht in die Quere und
|
||||
# wird nach dem Lauf samt Volume wieder entfernt.
|
||||
services:
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
restart: 'no'
|
||||
environment:
|
||||
POSTGRES_USER: demo
|
||||
POSTGRES_PASSWORD: demo
|
||||
POSTGRES_DB: demo
|
||||
TZ: Europe/Berlin
|
||||
ports:
|
||||
- '${SCREENSHOT_DB_PORT:-5455}:5432'
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U demo -d demo']
|
||||
interval: 3s
|
||||
timeout: 3s
|
||||
retries: 20
|
||||
start_period: 10s
|
||||
|
||||
migration:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
target: bauen
|
||||
restart: 'no'
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
TZ: Europe/Berlin
|
||||
DATABASE_URL: postgresql://demo:demo@db:5432/demo?schema=public
|
||||
command: node node_modules/prisma/build/index.js migrate deploy
|
||||
|
||||
app:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
target: betrieb
|
||||
restart: 'no'
|
||||
depends_on:
|
||||
migration:
|
||||
condition: service_completed_successfully
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
TZ: Europe/Berlin
|
||||
INSTANZ: daheim
|
||||
APP_URL: http://127.0.0.1:${SCREENSHOT_APP_PORT:-3200}
|
||||
DATABASE_URL: postgresql://demo:demo@db:5432/demo?schema=public
|
||||
AUTH_SECRET: nur-fuer-die-screenshot-instanz-nicht-geheim
|
||||
AUTH_TRUST_HOST: 'true'
|
||||
ANMELDUNG_PASSWORT: 'true'
|
||||
WEBAUTHN_RP_ID: 127.0.0.1
|
||||
WEBAUTHN_RP_NAME: Planer
|
||||
WEBAUTHN_ORIGIN: http://127.0.0.1:${SCREENSHOT_APP_PORT:-3200}
|
||||
DEMO_MODUS: 'true'
|
||||
ports:
|
||||
- '${SCREENSHOT_APP_PORT:-3200}:3000'
|
||||
Reference in New Issue
Block a user