| FROM python:3.9 | |
| # Crear un usuario no root | |
| RUN useradd -m -u 1000 user | |
| # Cambiar al usuario root para poder modificar el archivo /etc/environment | |
| USER root | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| WORKDIR /app | |
| # Copiar los archivos necesarios | |
| COPY --chown=user ./requirements.txt requirements.txt | |
| RUN pip install --no-cache-dir --upgrade -r requirements.txt | |
| # Copiar los archivos de la aplicación | |
| COPY --chown=user . /app | |
| # Establecer una variable de entorno PORT con un valor aleatorio | |
| RUN echo "PORT=$(shuf -i 10000-65000 -n 1)" >> /etc/environment | |
| # Exponer el puerto (aunque este valor será reemplazado por el puerto aleatorio) | |
| EXPOSE 7860 | |
| #RUN python app.py --fine-tune | |
| # Usar la variable de entorno PORT para ejecutar la app | |
| CMD ["bash", "-c", "source /etc/environment && uvicorn app:app --host 0.0.0.0 --port $PORT"] |