asepharyana 6829c7efe2 fix(infra): disable Next image disk cache for read-only Nix store
Next.js image optimizer mkdirs <distDir>/cache/images on first
optimized-image request. In the Nix store that path is read-only, so
every image request throws EACCES unhandledRejection. images.maximumDiskCacheSize=0
plus experimental.isrFlushToDisk=false keep the optimizer in-memory only.
2026-08-03 04:05:03 +07:00
2026-07-23 06:24:10 +07:00
2026-07-23 06:24:10 +07:00
2026-07-23 06:24:10 +07:00
2026-07-23 06:24:10 +07:00
2026-07-29 00:11:42 +00:00
2026-07-23 06:24:10 +07:00
2026-07-23 06:24:10 +07:00

asepharyana-hub-hub

Personal portfolio SPA — backend/infrastructure projects and live monitoring dashboard.

Built with Next.js 16, shadcn/ui (base-nova), Tailwind CSS v4, and next-themes.

Stack

  • Framework: Next.js 16 (Turbopack, React Compiler)
  • UI: shadcn/ui v4 (base-nova style) + Tailwind CSS v4
  • Font: Geist (sans) + Geist Mono via next/font
  • Theme: next-themes — light/dark with amber "server LED" focus glow (dark mode)
  • Icons: Lucide React
  • Linting: Biome

Pages

Route Description
/ Portfolio landing page — hero, about, skills, featured project (ZeaVis Edu), infra CTA
/dashboard Live infrastructure monitor — Docker services, Traefik metrics, Jaeger traces, Prometheus resources

Theme

Twilight Terminal — warm off-white (light) / deep indigo-slate (dark) with amber-gold primary in dark mode. All component styling is driven by CSS custom properties in globals.css.

Dev

bun dev          # Start dev server
bun run lint     # Biome lint
bun run ci       # Biome CI mode

Deploy

Deployed as a Docker container behind Traefik on VPS. See infra/ in the monorepo root for compose files and Traefik config.

S
Description
No description provided
Readme
382 KiB
Languages
TypeScript 97.4%
CSS 2.6%