Skip to content

Latest commit

 

History

History
38 lines (32 loc) · 2.72 KB

File metadata and controls

38 lines (32 loc) · 2.72 KB

Build Status Master payload size Join our Discord

This repo is a Next.js app used to generate a static site. The final production image contains only static assets served by Caddy on a read-only filesystem (no Node/npm runtime in the shipped image).

Development (local only)

⚠️ These steps are purely for local development; the production image ships only static assets and never contains a Node/npm runtime.

Build (production image)

  • docker build -t www-website .
  • Runtime is static files only; mount/serve with RO filesystem (e.g., docker run --read-only --tmpfs /tmp --tmpfs /config --tmpfs /data -p 3000:3000 www-website).

⚠️ The final container maps only the generated out directory and static assets; keep it read-only and do not run any Node/npm scripts there.

Repository size budget

  • CI fails if the tracked tree exceeds 10 MiB, public/ exceeds 8 MiB, any tracked blob exceeds 1 MiB, or HEAD Git blob payloads exceed 15 MiB.
  • Run scripts/check-size-budget.sh locally before adding new media. The README badge is informational and is updated outside the size gate.

Runtime filesystem layout

  • The image is read-only, but Caddy still needs tiny writable slots for TLS cache/autosave/lock files.
  • Align tmpfs mounts with docker-compose.yml: /tmp:size=32m, /config:size=16m, /data:size=16m.
  • These small tmpfs allocations keep RAM usage predictable while allowing the static server to update its metadata safely.

Deployment notes