Selbst gehostet

Next.js Demo

Eine Demo einer Next.js-Anwendung, gehostet auf Ubuntu Linux, mit einer Postgres-Datenbank und einem Nginx-Proxy. Code ansehen ↗

Datenabruf

Zufälliges Pokémon: hypno

Abgerufen via fetch von einer externen API. Diese Seite wird dynamisch ausgeliefert — neu laden für ein neues Pokémon.

Bildoptimierung

Programmieren

Next.js unterstützt Bildoptimierung direkt mit next start. Ab Next.js 15 ist sharp nicht mehr manuell erforderlich. Ein eigener Bild-Loader kann über next.config.ts eingebunden werden. Dokumentation ↗

Streaming

Der App Router unterstützt Streaming via Suspense und asynchrone Komponenten. Nginx übernimmt die Komprimierung; Proxy-Pufferung ist deaktiviert, um gestreamte Antworten zu ermöglichen.

Postgres-Datenbank

Liest und schreibt in einen Postgres-Container via Drizzle ORM. Ein Cron-Job setzt die Demo-Daten alle 10 Minuten zurück. Manuell auslösbar via POST /db/clear.

ISR / Caching

Verwendet standardmäßig einen lru-cache im Arbeitsspeicher. Diese Demo-Route nutzt eine revalidate-Zeit von 10 Sekunden. Für Multi-Container-Setups wird Redis empfohlen.

Middleware

Die Route /protected erfordert ein protected=1-Cookie. Middleware läuft vor allen Routen — keine DB-Abfragen darin; stattdessen Auth-Cookie-Prüfungen bevorzugen.

Next.js Self-Hosted Demo · Mit ♥ gebaut