Spaces:
Sleeping
Sleeping
| # # WORKS | |
| # # Use the official slim Python 3.9 image | |
| # FROM python:3.9-slim | |
| # # Install necessary build dependencies | |
| # RUN apt-get update && apt-get install -y build-essential python3-dev libffi-dev && apt-get clean | |
| # # Create a new user with a specific UID | |
| # RUN useradd -m -u 1000 user | |
| # # Set environment variables | |
| # ENV HOME=/home/user \ | |
| # PATH=/usr/local/bin:$PATH | |
| # # Set the working directory | |
| # WORKDIR $HOME/app | |
| # # Copy only the requirements file first to leverage Docker's layer caching | |
| # COPY --chown=user requirements.txt $HOME/app/requirements.txt | |
| # # Install dependencies | |
| # RUN pip install --no-cache-dir --upgrade pip && \ | |
| # pip install --no-cache-dir protobuf==3.20.0 && \ | |
| # pip install --no-cache-dir -r requirements.txt | |
| # # Install chainlit separately | |
| # RUN pip install --no-cache-dir chainlit | |
| # # Verify chainlit installation and check global binaries | |
| # RUN ls /usr/local/bin && pip show chainlit | |
| # # Copy the rest of the application files into the container | |
| # COPY --chown=user . $HOME/app | |
| # # Expose the port that Chainlit will run on | |
| # EXPOSE 7860 | |
| # # Run Chainlit with the specified command | |
| # CMD ["chainlit", "run", "app.py", "--port", "7860"] | |
| # Use the official slim Python 3.9 image | |
| FROM python:3.9-slim | |
| # Install necessary build dependencies | |
| RUN apt-get update && apt-get install -y build-essential python3-dev libffi-dev && apt-get clean | |
| # Create a new user with a specific UID | |
| RUN useradd -m -u 1000 user | |
| # Set environment variables | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| # Set the working directory | |
| WORKDIR $HOME/app | |
| # Copy only the requirements file first to leverage Docker's layer caching | |
| COPY --chown=user requirements.txt $HOME/app/requirements.txt | |
| # Print requirements.txt content for debugging | |
| RUN cat requirements.txt | |
| # Install dependencies | |
| RUN pip install --no-cache-dir --upgrade pip && \ | |
| pip install --no-cache-dir -r requirements.txt | |
| # Install chainlit explicitly and verify its installation | |
| RUN pip install --no-cache-dir chainlit==0.7.700 && \ | |
| which chainlit && \ | |
| chainlit --version | |
| # Verify all installations | |
| RUN pip list | |
| # Copy the rest of the application files into the container | |
| COPY --chown=user . $HOME/app | |
| # Expose the port that Chainlit will run on | |
| EXPOSE 7860 | |
| # Switch to the non-root user | |
| USER user | |
| # Run Chainlit with the specified command | |
| CMD ["chainlit", "run", "app.py", "--port", "7860"] |