JamesReviewsMusic
JRM-34Slim the API image: node 22, non-root, no Chromium
Description
With Chromium gone from the API container, the image can be modernised properly. It's currently node:18 (end of life since April 2025), runs as root, installs Chromium via apk, and needs tsconfig-paths at runtime because of how the build handles path aliases.
- Base image to node:22-slim, add a USER directive so the app doesn't run as root
- Remove the Chromium install and the PUPPETEER_* env vars
- Fix the build so path aliases are resolved at compile time (tsup, or tsc + tsc-alias) and the dist layout stops nesting dist/backend/src
- Pin the dev Dockerfiles to the same node version instead of node:latest
Sub-tickets
0No sub-tickets yet.
Links
No links.
Comments
0No comments yet.