|
|
@@ -20,8 +20,18 @@ rules:
|
|
|
|
|
|
| ID | Date | Friction | Status |
|
|
|
|----|------|---------|--------|
|
|
|
+| BLK-001 | 2026-05-17 | Favicon 404 in prod after rebuild — Dockerfile selective COPY hid new repo files | resolved |
|
|
|
|
|
|
-<!-- Append entries below. Template:
|
|
|
+---
|
|
|
+
|
|
|
+## BLK-001 — Favicon 404 in prod after Docker rebuild
|
|
|
+
|
|
|
+- **Date**: 2026-05-17
|
|
|
+- **Friction**: User reported favicon missing on `bchanot.fr` prod despite new landing page being live. `docker compose up -d --build` did not fix it.
|
|
|
+- **Real cause**: `Dockerfile` uses selective `COPY index.html ./`, `COPY CV_*` (whitelist), not `COPY . ./`. Favicon assets added in commit `ef31fb3` (`favicon.svg`, `favicon-32.png`, `favicon.ico`, `apple-touch-icon.png`) were never wired into Dockerfile → never entered image layers → 404 from container even after full rebuild. New `index.html` worked because it was already on the COPY whitelist.
|
|
|
+- **Solution**: Append `COPY favicon.svg favicon-32.png favicon.ico apple-touch-icon.png ./` to Dockerfile (commit `f1e4392`). Matching nginx cache rule for `*.{ico,svg,png,jpg,jpeg,gif,webp}` added (30d immutable). VPS rebuild required after pull.
|
|
|
+- **Status**: resolved
|
|
|
+- **Future application**: Whenever the repo grows a new top-level asset that must ship in the image, audit Dockerfile COPY whitelist immediately. Consider replacing the whitelist with `COPY index.html CV_*.html CV_*.pdf favicon.* apple-touch-icon.png ./` or a glob-friendly pattern if asset count grows further.
|
|
|
|
|
|
## BLK-XXX - <friction>
|
|
|
|