18 lines
540 B
Docker
18 lines
540 B
Docker
FROM node:22-alpine
|
|
WORKDIR /app
|
|
|
|
COPY dist ./dist
|
|
|
|
COPY package.json ./
|
|
RUN node -e " \
|
|
const p = JSON.parse(require('fs').readFileSync('./package.json', 'utf8')); \
|
|
p.dependencies = Object.fromEntries( \
|
|
Object.entries(p.dependencies || {}).filter(([, v]) => typeof v !== 'string' || !v.startsWith('workspace:')) \
|
|
); \
|
|
delete p.devDependencies; \
|
|
require('fs').writeFileSync('./package.json', JSON.stringify(p, null, 2)); \
|
|
" && npm install --production --ignore-scripts
|
|
|
|
EXPOSE 4003
|
|
USER node
|
|
CMD ["node", "dist/main.js"]
|