21 lines
489 B
Docker
21 lines
489 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install uv
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
|
|
|
# Install dependencies before copying full source (layer caching)
|
|
COPY pyproject.toml uv.lock* ./
|
|
RUN uv sync --frozen --no-dev 2>/dev/null || uv sync --no-dev
|
|
|
|
# Copy application source
|
|
COPY . .
|
|
|
|
# Make the venv's binaries available on PATH
|
|
ENV PATH="/app/.venv/bin:$PATH"
|
|
ENV DAGSTER_HOME=/app/dagster_home
|
|
|
|
RUN chmod +x /app/entrypoint.sh
|
|
ENTRYPOINT ["/app/entrypoint.sh"]
|