# Utilizamos Node.js como base
FROM node:18-bookworm

# Configurar entorno global
ENV NODEJS_ORG_MIRROR=https://nodejs.org/dist \
    NODE_ENV=production


# Configurar hosts
RUN echo "127.0.0.1 turnosxpress-prod.com.ar" >> /etc/hosts
RUN timedatectl set-timezone America/Argentina/Buenos_Aires


# Crear carpetas de trabajo separadas para server y client
WORKDIR /app

# Copiar y construir el servidor
WORKDIR /app/server
COPY server/package*.json ./
RUN npm install
COPY server ./
RUN npm run build

# Copiar y construir el cliente
WORKDIR /app/client
COPY client/package*.json ./
RUN npm install
COPY client ./
RUN npm run build

# Configurar puertos expuestos
EXPOSE 3000 3021

# Comando de inicio que lanza tanto el server como el client
CMD [ "sh", "-c", "npm --prefix /app/server start & npm --prefix /app/client start" ]
