#--- финальный конфиг для Урок 1. Apache Airflow с нуля: Архитектура, отличие от Cron и запуск в Docker https://bigdataschool.ru/blog/news/apache-airflow-architecture-docker-setup/ #--- статей посвященных бесплатному курсу ао Apache Airflow для начинающих #---- Docker yaml для Apache Airflow 2.8.1 c LocalExecutor version: "3.8" x-airflow-common: &airflow-common image: apache/airflow:2.8.1 environment: &airflow-env AIRFLOW__CORE__EXECUTOR: LocalExecutor AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow AIRFLOW__CORE__FERNET_KEY: '' AIRFLOW__CORE__LOAD_EXAMPLES: 'false' AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true' volumes: - ./dags:/opt/airflow/dags - ./logs:/opt/airflow/logs - ./plugins:/opt/airflow/plugins depends_on: postgres: condition: service_healthy services: postgres: image: postgres:13 environment: POSTGRES_USER: airflow POSTGRES_PASSWORD: airflow POSTGRES_DB: airflow volumes: - postgres-db-volume:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "airflow"] interval: 5s retries: 5 restart: always airflow-init: <<: *airflow-common entrypoint: /bin/bash command: - -c - | airflow db migrate airflow users create \ --username admin \ --password admin \ --firstname Airflow \ --lastname Admin \ --role Admin \ --email admin@example.com restart: "no" scheduler: <<: *airflow-common command: airflow scheduler restart: always webserver: <<: *airflow-common command: airflow webserver ports: - "8080:8080" restart: always volumes: postgres-db-volume: