Security Hardening & Astro 5 Upgrade
Major security and infrastructure improvements. Docker Scout health improved from D (125 vulnerabilities) to C (3 unfixable OS-level only).
Changes
- Base image: node:23-bookworm-slim → node:22-alpine (LTS)
- Astro 5: Upgraded from Astro 4.x to 5.x with all integrations
- Minimal production image: Only runtime dependencies installed, npm CLI removed
- Standalone server: Runs via
node dist/server/entry.mjsinstead ofastro preview - Supply chain attestations: Provenance and SBOM metadata included
- Image size: 991 MB → ~180 MB compressed (82% reduction)
Security
- 0 Critical, 0 High, 2 Medium, 1 Low (all from Alpine base OS)
- Zero application-layer vulnerabilities
- Non-root user (appuser)
- No unnecessary packages (net-tools removed)