Files
airflow_neo4j/docker-compose.yml
2025-11-04 00:17:47 +03:00

65 lines
1.6 KiB
YAML

version: '3.8'
services:
postgres:
image: postgres:14
env_file: .env
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
volumes:
- postgres_data:/var/lib/postgresql/data
restart: always
neo4j:
image: neo4j:5
environment:
- NEO4J_AUTH=${NEO4J_USER}/${NEO4J_PASSWORD}
ports:
- "7474:7474"
- "7687:7687"
volumes:
- neo4j_data:/data
restart: always
airflow-webserver:
build: .
depends_on:
- postgres
- neo4j
env_file: .env
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres/${POSTGRES_DB}
AIRFLOW__CORE__LOAD_EXAMPLES: 'False'
volumes:
- ./dags:/opt/airflow/dags
- ./logs:/opt/airflow/logs
- ./plugins:/opt/airflow/plugins
ports:
- "8080:8080"
command: bash -c "/usr/local/bin/init_airflow.sh"
restart: always
airflow-scheduler:
build: .
depends_on:
- postgres
- neo4j
- airflow-webserver
env_file: .env
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres/${POSTGRES_DB}
AIRFLOW__CORE__LOAD_EXAMPLES: 'False'
volumes:
- ./dags:/opt/airflow/dags
- ./logs:/opt/airflow/logs
- ./plugins:/opt/airflow/plugins
command: scheduler
restart: always
volumes:
postgres_data:
neo4j_data: