# Usamos Node.js con Alpine para menor tamaƱo FROM node:22-alpine # Configurar entorno global ENV NODEJS_ORG_MIRROR=https://nodejs.org/dist \ NODE_ENV=production # Instalar TypeScript y limpiar cache RUN npm install -g typescript && npm cache clean --force # Crear carpetas de trabajo separadas para server y client WORKDIR /app ARG DOCKER_GID=1001 # Valor por defecto RUN addgroup -g ${DOCKER_GID} docker && \ addgroup node docker WORKDIR /app/bot-admin-api COPY package*.json ./ RUN npm install --omit=dev=false COPY . ./ RUN npm run build # Configurar puertos expuestos EXPOSE 3005 # Comando de inicio que lanza tanto el server como el client CMD [ "sh", "-c", "npm --prefix /app/bot-admin-api start" ]