Build stage : npm ci + npm run build (inclut prebuild carte-o.js). Runtime : node:20-alpine, dist/ + node_modules copiees, EXPOSE 3000, HOST/PORT env. Start command Coolify : node ./dist/server/entry.mjs