-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.airflow
More file actions
30 lines (23 loc) · 1.05 KB
/
Dockerfile.airflow
File metadata and controls
30 lines (23 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Use official Apache Airflow image (3.0.4 with Python 3.12)
FROM apache/airflow:3.0.6-python3.12
# Set working directory to where Airflow expects its files
WORKDIR /opt/airflow
# -----------------------------
# Install Python dependencies
# -----------------------------
# Copy requirements.txt from airflow directory
COPY airflow/requirements.txt ./
# Install dependencies from requirements.txt
# This approach is simple, reliable, and uses uv-generated dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Install dlt separately (with postgres and snowflake extras)
# Installed separately to avoid hash verification conflicts
RUN pip install --no-cache-dir "dlt[postgres,snowflake]>=1.17.0"
# Add dbt to PATH globally so all tasks can find it
ENV PATH="/home/airflow/.local/bin:${PATH}"
# -----------------------------
# Optional: Copy project files - no need for now as all are volumn mounted
# -----------------------------
# COPY airflow/dags /opt/airflow/dags
# COPY airflow/plugins /opt/airflow/plugins
# COPY airflow/config /opt/airflow/config