Apache Airflow

Apache Airflow - Workflow automation platform

8080
Default Port
4
Services
19.5/20
Complexity
High
Memory Usage
Configuration

Installation Command

blastdock init airflow

Template Overview

Everything you need to deploy Airflow with BlastDock

Quick Deploy

One command deployment

Secure

Production-ready security

Configurable

Customizable settings

Scalable

Ready to scale up

What's Included

Airflow-webserver
apache/airflow:2.5.1
Airflow-scheduler
apache/airflow:2.5.1
Postgres
postgres:13
Redis
redis:latest
Categories
Database
Security Features
Password Protection, Admin User
Resource Requirements
CPU: High, Memory: High , Storage Required

Quick Commands

blastdock init Initialize new project
blastdock deploy Deploy the application
blastdock status Check deployment status
blastdock logs View application logs

Quick Installation

Get Airflow up and running in minutes with our one-click installation.

BlastDock Installation

First, install BlastDock using pip (recommended):

Terminal
pip install blastdock

Then deploy Airflow with:

Terminal
blastdock init airflow

Interactive mode:

Terminal
blastdock init airflow -i

What's Included

Airflow-webserver
Container service
Airflow-scheduler
Container service
Postgres
Container service
Redis
Container service

BlastDock Commands

blastdock templates List available templates
blastdock status project Check deployment status
blastdock logs project View application logs
blastdock stop project Stop deployment

Configuration Options

Customize your Airflow installation with these configuration options.

3
Required Fields
0
Optional Fields
2
Auto-Generated Passwords

Webserver Port

Webserver port

port
Default: 8080
Required: Yes

Postgres Password

PostgreSQL password

password
Default: ••••••••••••
Required: Yes
Security: Auto-generated

Admin Password

Airflow admin password

password
Default: ••••••••••••
Required: Yes
Security: Auto-generated

Docker Compose

Complete Docker Compose configuration for Airflow deployment.

4
Services
1
Volumes
0
Networks
1
Exposed Ports
docker-compose.yml
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: