Next.js Feature Showcase
Modern App Router features, running on your VPS.
Each page below demonstrates a specific Next.js capability working in a self-hosted Docker + Caddy setup. No managed platform required.
ISR (Incremental Static Regeneration)
A page that regenerates on a timer. The visible timestamp proves ISR works with a persisted .next/cache on the VPS.
Fetch Cache & Revalidation
A server component fetches from a local Route Handler with a revalidation interval. The data timestamp proves the Next.js Data Cache works self-hosted.
Streaming with Suspense
The page shell renders immediately while a slow async section streams in later. Proves the VPS + Caddy stack can serve progressive HTML.
Server Actions
A guestbook powered by a Server Action. Mutations and UI updates happen without a separate REST client or SPA fetch layer.
next/image Optimization
Local images served through the built-in image optimizer. Proves image optimization is not platform-exclusive.
Self-hosting proof
Every demo above runs inside the same standalone Docker container behind Caddy.
ISR and Data Cache rely on a persisted .next/cache volume. Streaming works because Caddy forwards chunked responses. Server Actions execute in the same Node process. Nothing here requires Vercel.