2026-02-10 16:10:27 +01:00
|
|
|
# --- Release image ---
|
|
|
|
|
FROM node:22-alpine AS release
|
|
|
|
|
WORKDIR /home/node/app
|
2026-02-10 17:16:29 +01:00
|
|
|
|
|
|
|
|
# Copiar paquetes compilados del monorepo
|
|
|
|
|
COPY ./dist/packages ./packages
|
|
|
|
|
|
|
|
|
|
# Instalar dependencias de produccion
|
2026-02-10 17:39:45 +01:00
|
|
|
# Eliminar workspaces y scripts del package.json para evitar que npm
|
|
|
|
|
# intente resolver paquetes del workspace que no existen en la imagen
|
2026-02-10 17:16:29 +01:00
|
|
|
COPY ./package.json ./
|
2026-02-10 17:39:45 +01:00
|
|
|
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
|
2026-02-10 17:16:29 +01:00
|
|
|
|
2026-02-10 17:39:45 +01:00
|
|
|
# Symlink para el modulo compartido del workspace
|
2026-02-10 17:16:29 +01:00
|
|
|
RUN mkdir -p packages/node_modules && \
|
2026-02-10 17:39:45 +01:00
|
|
|
ln -sf ../sim-shared packages/node_modules/sim-shared
|
2026-02-10 17:16:29 +01:00
|
|
|
|
2026-02-10 17:39:45 +01:00
|
|
|
# Script de inicio para los 4 servicios
|
2026-02-10 17:16:29 +01:00
|
|
|
COPY ./entrypoint.sh ./
|
|
|
|
|
RUN chmod +x entrypoint.sh
|
|
|
|
|
|
|
|
|
|
EXPOSE ${PORT:-3000}
|
|
|
|
|
ENTRYPOINT ["./entrypoint.sh"]
|