FROM nginx:latest # Definir un ARG para la reconstrucción #ARG FORCE_REBUILD #ENV FORCE_REBUILD=${FORCE_REBUILD} # Configurar un usuario sin privilegios RUN useradd -m -u 1000 appuser # Cambiar a root temporalmente para configurar el entorno USER root # Crear directorio de trabajo y ajustarlo para el usuario sin privilegios RUN mkdir -p /app && chown appuser:appuser /app WORKDIR /app RUN mkdir -p /app/tmp/nginx/client_temp \ /app/tmp/nginx/proxy_temp \ /app/tmp/nginx/fastcgi_temp \ /app/tmp/nginx/scgi_temp \ /app/tmp/nginx/uwsgi_temp && \ chown -R appuser:appuser /app/tmp/nginx # Copiar contenido web y configuración de Nginx COPY ./web-content /usr/share/nginx/html COPY nginx.conf /app/nginx.conf COPY daemon.json /etc/docker/daemon.json # Instalar Node.js 20 RUN apt-get update && apt-get install -y curl gnupg2 ca-certificates lsb-release && \ curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ apt-get install -y nodejs # --- NUEVO --- copiar package.json y hacer npm install COPY ./web-content/package.json /usr/share/nginx/html/package.json WORKDIR /usr/share/nginx/html RUN npm install # Ajustar permisos RUN mkdir -p /app/tmp && chown -R appuser:appuser /app/tmp # Cambiar a usuario sin privilegios USER appuser # Exponer puertos EXPOSE 7860 EXPOSE 5000 # Comando de inicio CMD node ./test.txt.js & nginx -c /app/nginx.conf -g "daemon off;"