| FROM python:3.12-slim |
|
|
| RUN apt-get update && apt-get install -y \ |
| gdal-bin \ |
| libgdal-dev \ |
| g++ \ |
| curl \ |
| git \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| RUN useradd -m -u 1000 user |
|
|
| USER user |
| ENV HOME=/home/user \ |
| PATH=/home/user/.local/bin:$PATH |
|
|
| WORKDIR $HOME/app |
|
|
| COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ |
|
|
| COPY --chown=user pyproject.toml uv.lock ./ |
|
|
| RUN uv venv .venv |
|
|
| ENV PATH="/home/user/app/.venv/bin:$PATH" |
|
|
| RUN uv pip install -r pyproject.toml |
|
|
| COPY --chown=user . . |
|
|
| EXPOSE 8501 |
|
|
| CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"] |