new7chatbot / Dockerfile
yeferson3256457's picture
Update Dockerfile
0241b59 verified
FROM python:3.13.5-slim
# 1. SETUP INICIAL
WORKDIR /app
RUN apt-get update && apt-get install -y \
build-essential \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
# 2. CREACI脫N DE USUARIO (con directorio home para pip)
RUN useradd -m -s /bin/bash appuser
# 3. COPIA Y PERMISOS (Root es el 煤nico que puede hacer esto)
# Esto DEBE ir antes de cambiar a 'appuser'
COPY requirements.txt ./
COPY src/ ./src/
COPY . .
# Asegura que el c贸digo copiado sea propiedad de appuser
RUN chown -R appuser:appuser /app
# 4. CONFIGURACI脫N DEL ENTORNO Y USUARIO
# Agrega el directorio de binarios de pip al PATH para que 'streamlit' sea visible.
ENV PATH="/home/appuser/.local/bin/:${PATH}"
# Cambia el usuario para todas las operaciones subsiguientes
USER appuser
# 5. INSTALACI脫N DE DEPENDENCIAS
# Ahora la instalaci贸n se ejecuta como appuser y usa el PATH correcto
RUN pip3 install -r requirements.txt
# 6. EJECUCI脫N
EXPOSE 8501
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]