Installation
Use this page when you only need the shortest path to run apps/ui locally.
Project Structure
The UI app follows the Next.js App Router layout. Page-specific code should stay close to the route that owns it; shared code lives under src/components, src/lib, or src/hooks.
Environment Variables
UI environment config lives in:
Next Configuration
The UI Next.js config lives in:
Built-in pages
6 items
Built-in API routes
6 items
Strapi API Client
The Strapi API client provides a type-safe interface for fetching content from Strapi CMS. It implements a dual-client pattern with proxy routes for security.
Proxies
Next.js request proxy logic lives in:
Caching
The UI uses the Next.js Data Cache for Strapi fetches and the Full Route Cache for statically rendered public pages.
Image Optimization
The starter intentionally disables Next.js's global image optimizer. Self-hosted Next can spike CPU/memory under CMS image traffic, so each image source uses its own pipeline.
SEO
The UI generates SEO output at runtime from Strapi content and app config.
Error Handling
The UI has two error-boundary layers:
Docker Build
The UI Dockerfile builds Next.js in standalone mode for a smaller runtime image. NEXT_OUTPUT=standalone is set in: