# EVIDENCE — FAS 8 · Container icke-root > Analys av `Dockerfile` (fil: `Dockerfile`, VERIFIERAT genom läsning 2026-08-10). ## Krav → bevis | Krav | Bevis i Dockerfile | |---|---| | Multi-stage | `FROM node:24-alpine AS builder` (rad 20) + `FROM node:24-alpine AS runtime` (rad 45) | | Icke-root runtime | `USER node` (rad 63) — körs som icke-root `node`-användare; `.next` chownad `node:node` (rad 58) så cache-skrivning fungerar | | Ingen tsx i prod | `CMD ["node_modules/.bin/next", "start"]` (rad 71) — ingen tsx/ts-node/tsc i runtime-stage | | Healthcheck | `HEALTHCHECK ... CMD wget -qO- http://127.0.0.1:3000/api/health` (rad 67–68) — wget installerat i runtime (rad 53) | | Inga hemligheter i image | `.dockerignore` exkluderar `.env*` (utom `.env.example`), `.git`, `**/__pycache__` (VERIFIERAT, `.dockerignore` rad 14–16, 23) | | Repro/CI-paritet | node:24-alpine; pnpm@9 corepack-pinned — matchar lokal node v24.14.0 / pnpm 9.15.9 (VERIFIERAT) | ## Notering Bygget körs med `pnpm --ignore-workspace` (workaround för v0-pnpm-workspace.yaml) — samma flagga som lokala grindar använder. Ingen tsx-in-prod-mönster någonstans i Dockerfile-sökvägen (grep: inga träffar på tsx i Dockerfile).