diff --git a/README.md b/README.md index 52dfacc..ed17389 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ ```bash git clone https://git.ooru.ru/radik/airflow_neo4j.git cd airflow_neo4j +mkdir -p logs plugins +chown -R 50000:0 logs plugins ``` 2. **Скопируйте и настройте файл переменных окружения:** diff --git a/__init__.py b/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/dags/dag_01.py b/dags/dag_01.py index 6161250..cc485f9 100644 --- a/dags/dag_01.py +++ b/dags/dag_01.py @@ -1,6 +1,7 @@ from datetime import datetime, timedelta from airflow import DAG +from airflow.decorators import task_group from airflow.models import Variable from airflow.operators.empty import EmptyOperator from airflow.operators.python import PythonOperator diff --git a/docker-compose.yml b/docker-compose.yml index f590c4c..10acc98 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,12 +23,14 @@ services: - 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} @@ -49,6 +51,7 @@ services: - 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} diff --git a/env.example b/env.example index d3efad5..b457c8f 100644 --- a/env.example +++ b/env.example @@ -4,6 +4,9 @@ AIRFLOW_ADMIN_PASSWORD=admin AIRFLOW_ADMIN_EMAIL=admin@example.com AIRFLOW_ADMIN_FIRSTNAME=Admin AIRFLOW_ADMIN_LASTNAME=User +AIRFLOW_UID=50000 +AIRFLOW_HOME=/opt/airflow + # Database (Postgres) POSTGRES_USER=airflow @@ -11,10 +14,8 @@ POSTGRES_PASSWORD=airflow POSTGRES_DB=airflow # Neo4j connection details -NEO4J_CONN_ID= -NEO4J_URI= -NEO4J_USER= +NEO4J_CONN_ID=target_db +NEO4J_IP= +NEO4J_USER=neo4j NEO4J_PASSWORD= NEO4J_PORT=7687 - -AIRFLOW_HOME=/opt/airflow \ No newline at end of file diff --git a/scripts/init_airflow.sh b/scripts/init_airflow.sh index 780b958..f944cb3 100644 --- a/scripts/init_airflow.sh +++ b/scripts/init_airflow.sh @@ -25,7 +25,7 @@ if ! airflow connections list | grep -q "${NEO4J_CONN_ID}"; then echo "🔌 Creating Neo4j connection..." airflow connections add "${NEO4J_CONN_ID}" \ --conn-type neo4j \ - --conn-host "${NEO4J_URI}" \ + --conn-host "${NEO4J_IP}" \ --conn-login "${NEO4J_USER}" \ --conn-password "${NEO4J_PASSWORD}" \ --conn-port "${NEO4J_PORT}"