1- # Using a slim version for a smaller base image
21FROM python:3.11.6-slim-bullseye
32
4- ARG DEV_MODE
5- ENV DEV_MODE=$DEV_MODE
3+ WORKDIR /app
64
7- # Install GEOS library, Rust, and other dependencies, then clean up
8- RUN apt-get clean && apt-get update && apt-get install -y \
5+ # Install runtime dependencies
6+ RUN apt-get update && apt-get install -y \
97 libgeos-dev \
108 libcurl4-openssl-dev \
119 libssl-dev \
@@ -15,23 +13,14 @@ RUN apt-get clean && apt-get update && apt-get install -y \
1513 git \
1614 poppler-utils \
1715 tesseract-ocr \
18- autoconf \
19- automake \
20- build-essential \
21- libtool \
22- python-dev \
23- wget \
24- # Additional dependencies for document handling
2516 libmagic-dev \
26- poppler-utils \
27- tesseract-ocr \
2817 libreoffice \
2918 libpq-dev \
3019 gcc \
31- pandoc && \
32- rm -rf /var/lib/apt/lists/*
33-
20+ wget \
21+ && rm -rf /var/lib/apt/lists/*
3422
23+ # Install Supabase CLI
3524RUN ARCHITECTURE=$(uname -m) && \
3625 if [ "$ARCHITECTURE" = "x86_64" ]; then \
3726 wget https://github.com/supabase/cli/releases/download/v1.163.6/supabase_1.163.6_linux_amd64.deb && \
@@ -41,43 +30,15 @@ RUN ARCHITECTURE=$(uname -m) && \
4130 wget https://github.com/supabase/cli/releases/download/v1.163.6/supabase_1.163.6_linux_arm64.deb && \
4231 dpkg -i supabase_1.163.6_linux_arm64.deb && \
4332 rm supabase_1.163.6_linux_arm64.deb; \
44- fi && \
45- rm -rf /var/lib/apt/lists/*
46-
47- RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/opt/poetry python && \
48- cd /usr/local/bin && \
49- ln -s /opt/poetry/bin/poetry && \
50- poetry config virtualenvs.create false
51-
52-
53- # Add Rust binaries to the PATH
54- ENV PATH="/root/.cargo/bin:${PATH}" \
55- POETRY_CACHE_DIR=/tmp/poetry_cache \
56- PYTHONDONTWRITEBYTECODE=1
57-
58- WORKDIR /code
59-
60- # Copy monorepo dependencies
61- # CORE
62- COPY core/pyproject.toml core/README.md core/poetry.lock /code/core/
63- COPY core/quivr_core /code/core/quivr_core
64- # API
65- COPY api/pyproject.toml api/poetry.lock api/README.md /code/api/
66- COPY api/quivr_api /code/api/quivr_api
67-
68- COPY ./pyproject.toml ./poetry.lock* /code/
69-
70- COPY ./ci-migration.sh /code/
33+ fi
7134
72- COPY supabase /code/supabase/
35+ COPY . .
7336
74- # Run install
75- RUN poetry install --no-root --with dev,test && \
76- playwright install --with-deps && \
77- rm -rf $POETRY_CACHE_DIR
37+ RUN PYTHONDONTWRITEBYTECODE=1 pip install --no-cache-dir -r requirements.lock
7838
39+ RUN playwright install --with-deps
7940
80- ENV PYTHONPATH=/code
8141
42+ ENV PYTHONPATH=/app
8243
83- EXPOSE 5050
44+ EXPOSE 5050
0 commit comments