38 lines
896 B
Docker
38 lines
896 B
Docker
FROM python:3.12-slim
|
|
|
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install --no-install-recommends --yes \
|
|
curl gettext \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV PATH=/root/.local/bin:$PATH
|
|
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
|
|
ENV DAGSTER_HOME=/opt/dagster/home/
|
|
WORKDIR $DAGSTER_HOME
|
|
COPY dagster-requirements.txt requirements.txt
|
|
|
|
RUN uv pip install -r requirements.txt --system \
|
|
&& uv pip install polars-lts-cpu --system
|
|
|
|
RUN mkdir -p $DAGSTER_HOME
|
|
|
|
# Create entrypoint that renders the dagster.yaml from a template
|
|
RUN cat << 'EOF' > /entrypoint.sh
|
|
#!/bin/sh
|
|
set -e
|
|
|
|
echo "Rendering dagster.yaml from template..."
|
|
envsubst < dagster.yaml.template > dagster.yaml
|
|
|
|
echo "Starting Dagster: $@"
|
|
exec "$@"
|
|
EOF
|
|
RUN chmod +x /entrypoint.sh
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
ENV PYTHONPATH=/code/system:$PYTHONPATH
|