Created
June 30, 2021 09:41
-
-
Save girishaiocdawacs/1c843fef6090e152b6557e25096e2a69 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| version: "3.3" | |
| 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 | |
| redis: | |
| image: redis:latest | |
| ports: | |
| - 6379:6379 | |
| healthcheck: | |
| test: ["CMD", "redis-cli", "ping"] | |
| interval: 5s | |
| timeout: 30s | |
| retries: 50 | |
| restart: always | |
| airflow-webserver: | |
| image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.1.0} | |
| command: webserver | |
| ports: | |
| - 80:8080 | |
| healthcheck: | |
| test: ["CMD", "curl", "--fail", "http://localhost:8080/health"] | |
| interval: 10s | |
| timeout: 10s | |
| retries: 5 | |
| restart: always | |
| environment: | |
| AIRFLOW__CORE__EXECUTOR: CeleryExecutor | |
| AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 | |
| AIRFLOW__CORE__FERNET_KEY: '' | |
| AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' | |
| AIRFLOW__CORE__LOAD_EXAMPLES: 'true' | |
| AIRFLOW__API__AUTH_BACKEND: 'airflow.api.auth.backend.basic_auth' | |
| volumes: | |
| - ./dags:/opt/airflow/dags | |
| - ./logs:/opt/airflow/logs | |
| - ./plugins:/opt/airflow/plugins | |
| user: "${AIRFLOW_UID:-50000}:${AIRFLOW_GID:-50000}" | |
| airflow-scheduler: | |
| image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.1.0} | |
| environment: | |
| AIRFLOW__CORE__EXECUTOR: CeleryExecutor | |
| AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 | |
| AIRFLOW__CORE__FERNET_KEY: '' | |
| AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' | |
| AIRFLOW__CORE__LOAD_EXAMPLES: 'true' | |
| AIRFLOW__API__AUTH_BACKEND: 'airflow.api.auth.backend.basic_auth' | |
| volumes: | |
| - ./dags:/opt/airflow/dags | |
| - ./logs:/opt/airflow/logs | |
| - ./plugins:/opt/airflow/plugins | |
| command: scheduler | |
| healthcheck: | |
| test: ["CMD-SHELL", 'airflow jobs check --job-type SchedulerJob --hostname "$${HOSTNAME}"'] | |
| interval: 10s | |
| timeout: 10s | |
| retries: 5 | |
| restart: always | |
| airflow-worker: | |
| image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.1.0} | |
| environment: | |
| AIRFLOW__CORE__EXECUTOR: CeleryExecutor | |
| AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 | |
| AIRFLOW__CORE__FERNET_KEY: '' | |
| AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' | |
| AIRFLOW__CORE__LOAD_EXAMPLES: 'true' | |
| AIRFLOW__API__AUTH_BACKEND: 'airflow.api.auth.backend.basic_auth' | |
| volumes: | |
| - ./dags:/opt/airflow/dags | |
| - ./logs:/opt/airflow/logs | |
| - ./plugins:/opt/airflow/plugins | |
| command: celery worker | |
| healthcheck: | |
| test: | |
| - "CMD-SHELL" | |
| - 'celery --app airflow.executors.celery_executor.app inspect ping -d "celery@$${HOSTNAME}"' | |
| interval: 10s | |
| timeout: 10s | |
| retries: 5 | |
| restart: always | |
| airflow-init: | |
| image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.1.0} | |
| environment: | |
| AIRFLOW__CORE__EXECUTOR: CeleryExecutor | |
| AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 | |
| AIRFLOW__CORE__FERNET_KEY: '' | |
| AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' | |
| AIRFLOW__CORE__LOAD_EXAMPLES: 'true' | |
| AIRFLOW__API__AUTH_BACKEND: 'airflow.api.auth.backend.basic_auth' | |
| volumes: | |
| - ./dags:/opt/airflow/dags | |
| - ./logs:/opt/airflow/logs | |
| - ./plugins:/opt/airflow/plugins | |
| command: version | |
| environment: | |
| _AIRFLOW_DB_UPGRADE: 'true' | |
| _AIRFLOW_WWW_USER_CREATE: 'true' | |
| _AIRFLOW_WWW_USER_USERNAME: ${_AIRFLOW_WWW_USER_USERNAME:-airflow} | |
| _AIRFLOW_WWW_USER_PASSWORD: ${_AIRFLOW_WWW_USER_PASSWORD:-awacs123} | |
| AIRFLOW__CORE__EXECUTOR: CeleryExecutor | |
| AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 | |
| AIRFLOW__CORE__FERNET_KEY: '' | |
| AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' | |
| AIRFLOW__CORE__LOAD_EXAMPLES: 'true' | |
| AIRFLOW__API__AUTH_BACKEND: 'airflow.api.auth.backend.basic_auth' | |
| flower: | |
| image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.1.0} | |
| environment: | |
| AIRFLOW__CORE__EXECUTOR: CeleryExecutor | |
| AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow | |
| AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 | |
| AIRFLOW__CORE__FERNET_KEY: '' | |
| AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' | |
| AIRFLOW__CORE__LOAD_EXAMPLES: 'true' | |
| AIRFLOW__API__AUTH_BACKEND: 'airflow.api.auth.backend.basic_auth' | |
| volumes: | |
| - ./dags:/opt/airflow/dags | |
| - ./logs:/opt/airflow/logs | |
| - ./plugins:/opt/airflow/plugins | |
| command: celery flower | |
| ports: | |
| - 5555:5555 | |
| healthcheck: | |
| test: ["CMD", "curl", "--fail", "http://localhost:5555/"] | |
| interval: 10s | |
| timeout: 10s | |
| retries: 5 | |
| restart: always | |
| volumes: | |
| postgres-db-volume: | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment