68 lines
1.7 KiB
YAML
68 lines
1.7 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
|
|
|
|
# TODO: убрать повторяющийся код, добавить airflow-init
|
|
airflow-webserver:
|
|
build: .
|
|
depends_on:
|
|
- postgres
|
|
- neo4j
|
|
env_file: .env
|
|
user: "${AIRFLOW_UID:-50000}:0"
|
|
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
|
|
user: "${AIRFLOW_UID:-50000}:0"
|
|
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: |