From ffdb3cbecd646facc46ed8ef84c0eef21f7ad2f4 Mon Sep 17 00:00:00 2001 From: Esa Kataja Date: Sun, 4 May 2025 21:29:04 +0300 Subject: [PATCH] Add Docker --- .dockerignore | 4 ++++ Dockerfile | 15 +++++++++++++++ docker-compose.yml | 12 ++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..4ef50a7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +.git +*.duckdb +.env +__pycache__ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f68f4bf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM python:3.12-slim AS base + +FROM base AS builder +COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv +WORKDIR /app +COPY pyproject.toml uv.lock /app/ +RUN uv sync --frozen --no-install-project --no-dev +COPY src /app +RUN uv sync --frozen --no-dev + +FROM base +COPY --from=builder /app /app +ENV PATH="/app/.venv/bin:$PATH" +WORKDIR /app +CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2b58e75 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: '3.8' + +services: + backend: + build: + context: . + dockerfile: Dockerfile + ports: + - "8000:8000" + volumes: + - ./data:/app/data + restart: unless-stopped