# --- 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"]
