From b6a487776b643eef8364bed31aa0e7d9e278e7ef Mon Sep 17 00:00:00 2001 From: Tudor Date: Thu, 26 Mar 2026 11:05:41 +0000 Subject: [PATCH] fix(airflow): set DAGS_FOLDER in image env and reserialize on init - Add AIRFLOW__CORE__DAGS_FOLDER env var in Dockerfile so it's always set - Run `airflow dags reserialize` after `db migrate` in init container so DAGs appear immediately without waiting for scheduler scan interval Co-Authored-By: Claude Opus 4.6 --- docker-compose.portainer.yml | 2 +- docker-compose.yml | 2 +- pipeline/Dockerfile | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docker-compose.portainer.yml b/docker-compose.portainer.yml index e8dbf51..7191e46 100644 --- a/docker-compose.portainer.yml +++ b/docker-compose.portainer.yml @@ -250,7 +250,7 @@ services: airflow-init: image: privaterepo.sitaru.org/tudor/school_compare-pipeline:latest container_name: schoolcompare_airflow_init - command: airflow db migrate + command: bash -c "airflow db migrate && airflow dags reserialize" environment: AIRFLOW__CORE__EXECUTOR: LocalExecutor AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${DB_USERNAME}:${DB_PASSWORD}@sc_database:5432/${DB_DATABASE_NAME} diff --git a/docker-compose.yml b/docker-compose.yml index e2e2983..354ace6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -149,7 +149,7 @@ services: airflow-init: image: privaterepo.sitaru.org/tudor/school_compare-pipeline:latest container_name: schoolcompare_airflow_init - command: airflow db migrate + command: bash -c "airflow db migrate && airflow dags reserialize" environment: *airflow-env depends_on: db: diff --git a/pipeline/Dockerfile b/pipeline/Dockerfile index d055552..25226c2 100644 --- a/pipeline/Dockerfile +++ b/pipeline/Dockerfile @@ -33,6 +33,7 @@ COPY dags/ dags/ RUN cd transform && dbt deps --profiles-dir . 2>/dev/null || true ENV AIRFLOW_HOME=/opt/airflow +ENV AIRFLOW__CORE__DAGS_FOLDER=/opt/pipeline/dags ENV PYTHONPATH=/opt/pipeline CMD ["airflow", "api-server"]