| |
| 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 wget -q https://github.com/duckdb/duckdb/releases/download/v0.10.2/duckdb_cli-linux-amd64.zip && \ |
| unzip duckdb_cli-linux-amd64.zip -d /usr/local/bin && rm *.zip |
|
|
| |
| 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.2 |
|
|
| |
| COPY . /app |
| WORKDIR /app |
|
|
| |
| COPY scheduler_loop.py /app/scheduler_loop.py |
|
|
| |
| ENV API_KEYS=dev-analytics-key-123 |
|
|
| |
| CMD sh -c "python -m uvicorn app.main:app --host 0.0.0.0 --port 7860 & python /app/scheduler_loop.py" |