|
|
| |
| FROM python:3.11-slim |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| build-essential \ |
| gcc \ |
| g++ \ |
| cmake \ |
| libgomp1 \ |
| libstdc++6 \ |
| ca-certificates \ |
| wget \ |
| unzip \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN pip install --no-cache-dir --upgrade pip setuptools wheel |
|
|
|
|
| |
| COPY requirements.txt /tmp/requirements.txt |
| RUN pip install --no-cache-dir --prefer-binary -r /tmp/requirements.txt && \ |
| pip install --no-cache-dir duckdb==0.10.3 |
|
|
| |
| |
| RUN mkdir -p /root/.duckdb/extensions/v0.10.3/linux_amd64_gcc4 && \ |
| wget -q https://extensions.duckdb.org/v0.10.3/linux_amd64_gcc4/vss.duckdb_extension.gz \ |
| -O /root/.duckdb/extensions/v0.10.3/linux_amd64_gcc4/vss.duckdb_extension.gz && \ |
| gunzip /root/.duckdb/extensions/v0.10.3/linux_amd64_gcc4/vss.duckdb_extension.gz |
|
|
| |
| COPY . /app |
| WORKDIR /app |
|
|
| |
| COPY scheduler_loop.py /app/scheduler_loop.py |
| |
| |
| CMD sh -c "python -m uvicorn app.main:app --host 0.0.0.0 --port 7860 & python /app/scheduler_loop.py" |