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