# --- Release image --- FROM node:22-alpine AS release WORKDIR /home/node/app # Copiar paquetes compilados del monorepo COPY ./dist/packages ./packages # Instalar dependencias de produccion # Eliminar workspaces y scripts del package.json para evitar que npm # intente resolver paquetes del workspace que no existen en la imagen COPY ./package.json ./ RUN node -e "\ const p = require('./package.json'); \ delete p.workspaces; \ delete p.scripts; \ delete p.devDependencies; \ require('fs').writeFileSync('./package.json', JSON.stringify(p, null, 2));" RUN npm install --omit=dev # Symlink para el modulo compartido del workspace RUN mkdir -p packages/node_modules && \ ln -sf ../sim-shared packages/node_modules/sim-shared # Script de inicio para los 4 servicios COPY ./entrypoint.sh ./ RUN chmod +x entrypoint.sh EXPOSE ${PORT:-3000} ENTRYPOINT ["./entrypoint.sh"]