Apache Airflow - Workflow automation platform
Everything you need to deploy Airflow with BlastDock
One command deployment
Production-ready security
Customizable settings
Ready to scale up
blastdock init
Initialize new project
blastdock deploy
Deploy the application
blastdock status
Check deployment status
blastdock logs
View application logs
Get Airflow up and running in minutes with our one-click installation.
First, install BlastDock using pip (recommended):
pip install blastdock
Then deploy Airflow with:
blastdock init airflow
Interactive mode:
blastdock init airflow -i
blastdock templates
List available templates
blastdock status project
Check deployment status
blastdock logs project
View application logs
blastdock stop project
Stop deployment
Customize your Airflow installation with these configuration options.
Webserver port
PostgreSQL password
Airflow admin password
Complete Docker Compose configuration for Airflow deployment.
version: '3.8'
services:
postgres:
image: postgres:13
container_name: {{ project_name }}_postgres
restart: unless-stopped
environment:
0: POSTGRES_USER=airflow
1: POSTGRES_PASSWORD={{ postgres_password }}
2: POSTGRES_DB=airflow
volumes:
- /var/lib/postgresql/data
networks:
- airflow_network
redis:
image: redis:latest
container_name: {{ project_name }}_redis
restart: unless-stopped
networks:
- airflow_network
airflow-webserver:
image: apache/airflow:2.5.1
container_name: {{ project_name }}_airflow_webserver
restart: unless-stopped
depends_on:
- postgres
- redis
ports:
- "8080"
environment:
0: AIRFLOW__CORE__EXECUTOR=CeleryExecutor
- AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=postgresql+psycopg2: //airflow:{{ postgres_password }}@postgres/airflow
- AIRFLOW__CELERY__RESULT_BACKEND=db+postgresql: //airflow:{{ postgres_password }}@postgres/airflow
- AIRFLOW__CELERY__BROKER_URL=redis: //:@redis:6379/0
1: AIRFLOW__WEBSERVER__SECRET_KEY={{ admin_password }}
2: AIRFLOW_WWW_USER_CREATE=true
3: AIRFLOW_WWW_USER_USERNAME=admin
4: AIRFLOW_WWW_USER_PASSWORD={{ admin_password }}
volumes:
- /opt/airflow/logs
- /opt/airflow/dags
networks:
- airflow_network
airflow-scheduler:
image: apache/airflow:2.5.1
container_name: {{ project_name }}_airflow_scheduler
restart: unless-stopped
depends_on:
- postgres
- redis
environment:
0: AIRFLOW__CORE__EXECUTOR=CeleryExecutor
- AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=postgresql+psycopg2: //airflow:{{ postgres_password }}@postgres/airflow
- AIRFLOW__CELERY__RESULT_BACKEND=db+postgresql: //airflow:{{ postgres_password }}@postgres/airflow
- AIRFLOW__CELERY__BROKER_URL=redis: //:@redis:6379/0
volumes:
- /opt/airflow/logs
- /opt/airflow/dags
networks:
- airflow_network
volumes:
postgres_data: