Space26 / Dockerfile
QuantumLearner's picture
Update Dockerfile
161df35 verified
FROM python:3.10.7
WORKDIR /app
# Install dependencies for building sqlite3 from source
RUN apt-get update && \
apt-get install -y wget build-essential libsqlite3-dev && \
apt-get clean
# Download and compile the latest sqlite3
RUN wget https://www.sqlite.org/2023/sqlite-autoconf-3430000.tar.gz && \
tar xzf sqlite-autoconf-3430000.tar.gz && \
cd sqlite-autoconf-3430000 && \
./configure && \
make && \
make install && \
ldconfig && \
cd .. && \
rm -rf sqlite-autoconf-3430000 sqlite-autoconf-3430000.tar.gz
# Verify the sqlite3 version
RUN sqlite3 --version
# Set environment variables to ensure the new SQLite is used
ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
ENV PATH="/usr/local/bin:${PATH}"
COPY ./requirements.txt /app/requirements.txt
# Install Python dependencies
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r /app/requirements.txt
COPY . /app
# Create a non-root user and switch to it
RUN useradd -m myuser
USER myuser
# Set the NLTK_DATA environment variable
ENV NLTK_DATA /home/myuser/.nltk_data
CMD ["chainlit", "run", "app.py", "--port", "7860"]