Airflow/docker-compose.yaml

39 lines
1.1 KiB
YAML

services:
db:
container_name: postgres_container
image: postgres:15.15
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
airflow:
container_name: airflow_container
image: apache/airflow:3.1.3
depends_on:
- db
environment:
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
AIRFLOW__CORE__LOAD_EXAMPLES: "false"
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__WEBSERVER__EXPOSE_CONFIG: "true"
AIRFLOW__CORE__DAGS_FOLDER: /opt/airflow/dags
volumes:
- ./airflow/dags:/opt/airflow/dags
- ./airflow/logs:/opt/airflow/logs
- ./airflow/plugins:/opt/airflow/plugins
command: >
bash -c "
airflow db migrate &&
airflow scheduler &
exec airflow api-server --port 8080
"
restart: unless-stopped
volumes:
postgres_data:
airflow_logs:
airflow_plugins: