Особенности:
- Режим установки - LocalExecutor
- Dockerfile для сборки образа
- Версия Airflow 2.11.0 для Python 3.12 (последняя актуальная версия перед релизом Airflow 3)
- Необходим предустановленный PostgreSQL
airflow-init- контейнер, который запускается один раз для подготовки базы данныхairflow-webserver- Web UIairflow-scheduler- запускает DAGиairflow-triggerer- контейнер, который работает с "откладываемыми" операторами
- Клонируйте репозиторий и перейдите в папку с проектом
git clone https://github.com/marcusaure1ius/airflow-compose.git && cd airflow-compose-
Для создания БД для метаданных airflow выполните следующие пункты
2.1 Заходим под пользователем postgres:
sudo -i -u postgres
2.2 Запускаем консоль psql:
psql
2.3 Внутри консоли создаем нового пользователя с паролем:
CREATE USER airflow_tech WITH ENCRYPTED PASSWORD 'airflow_pass';
CREATE DATABASE airflow_db OWNER airflow_tech;
GRANT ALL PRIVILEGES ON DATABASE airflow_db TO airflow_tech;
-
Опционально. В файл
requirements.txtможно внести необходимые библиотеки, которые будут установлены во время развертывания airflow. -
Сделайте исполняемым файл
clean_install.sh, который сделает все необходимые приготовления и запустит контенейры
chmod +x clean_install.shsudo ./clean_install.shImportant
При запуске скрипта clean_install.sh удаляются все папки с данными и логами. В случае, если вам необходимо, например, добавить новые библиотеки и сделать новый билд, выполните команду docker compose down && docker compose up --build -d
Перейдите по адресу http://YOUR_HOST/:8080 и, если все успешно, вы увидите страницу входа, используйте логин и пароль из файла .env