From 90aafd7b1d9bd4d69ee9ec07ab390299962cbe76 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Thu, 11 Dec 2025 10:05:21 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=B0=20=D1=83=20?= =?UTF-8?q?data=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c14804f..e149ea7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -59,7 +59,6 @@ services: - ./pxf/servers/bookings-db:/pxf-local/servers/bookings-db:ro - ./pxf/init/10_pxf_bookings.sh:/docker-entrypoint-initdb.d/10_pxf_bookings.sh:ro - greenplum_data:/data - - airflow_data:/opt/airflow/data # Простая проверка доступности: psql откликается healthcheck: test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -p 5432 -U ${GP_USER:-gpadmin} -d ${GP_DB:-gp_dwh} || echo 1"] @@ -93,6 +92,8 @@ services: condition: service_healthy greenplum: condition: service_healthy + airflow-init: + condition: service_completed_successfully airflow-scheduler: image: apache/airflow:2.9.2 @@ -118,10 +119,13 @@ services: condition: service_healthy greenplum: condition: service_healthy + airflow-init: + condition: service_completed_successfully airflow-init: image: apache/airflow:2.9.2 # container_name: gp_airflow_init + user: "0" env_file: .env environment: TZ: ${TZ:-Europe/Moscow} @@ -138,15 +142,14 @@ services: command: > bash -lc " set -e; - # mkdir -p /opt/airflow/data && chmod -R 777 /opt/airflow/data; - # su - airflow; - pip install --no-cache-dir -r /opt/airflow/requirements.txt; + mkdir -p /opt/airflow/data && chown -R airflow:root /opt/airflow/data; + su -s /bin/bash airflow -c \"PATH='/home/airflow/.local/bin:$${PATH}' pip install --no-cache-dir -r /opt/airflow/requirements.txt\"; # Дожидаемся готовности БД ретрая миграции for i in {1..30}; do - airflow db migrate && break || echo 'waiting for pgmeta' && sleep 3; + su -s /bin/bash airflow -c \"PATH='/home/airflow/.local/bin:$${PATH}' airflow db migrate\" && break || echo 'waiting for pgmeta' && sleep 3; done; # Создаём админа; при повторном запуске не падаем - airflow users create --username ${AIRFLOW_USER} --password ${AIRFLOW_PASSWORD} --firstname Admin --lastname User --role Admin --email admin@example.org || true + su -s /bin/bash airflow -c \"PATH='/home/airflow/.local/bin:$${PATH}' airflow users create --username ${AIRFLOW_USER} --password ${AIRFLOW_PASSWORD} --firstname Admin --lastname User --role Admin --email admin@example.org\" || true " depends_on: pgmeta: