Subham9126 commited on
Commit
2785fb9
·
verified ·
1 Parent(s): d8339ba

Update startup.sh

Browse files
Files changed (1) hide show
  1. startup.sh +25 -18
startup.sh CHANGED
@@ -1,23 +1,30 @@
1
- FROM apache/airflow:2.9.2-python3.11
 
2
 
3
- USER root
4
- RUN apt-get update && apt-get install -y git && apt-get clean && rm -rf /var/lib/apt/lists/*
 
5
 
6
- COPY startup.sh /startup.sh
7
- RUN chmod +x /startup.sh
8
 
9
- USER airflow
 
 
 
 
 
 
 
10
 
11
- ENV AIRFLOW__CORE__LOAD_EXAMPLES=False
12
- ENV AIRFLOW__CORE__EXECUTOR=LocalExecutor
13
- ENV AIRFLOW__CORE__DAGS_FOLDER=/opt/airflow/dags
14
- ENV AIRFLOW__SCHEDULER__DAG_DIR_LIST_INTERVAL=30
15
- ENV AIRFLOW__LOGGING__LOGGING_LEVEL=ERROR
16
- ENV AIRFLOW__LOGGING__BASE_LOG_FOLDER=/dev/null
17
- ENV AIRFLOW__LOGGING__DAG_PROCESSOR_MANAGER_LOG_LOCATION=/dev/null
18
- ENV AIRFLOW__SCHEDULER__CHILD_PROCESS_LOG_DIRECTORY=/dev/null
19
- ENV AIRFLOW__WEBSERVER__EXPOSE_CONFIG=False
20
- ENV AIRFLOW__WEBSERVER__WEB_SERVER_PORT=7860
21
 
22
- EXPOSE 7860
23
- CMD ["/startup.sh"]
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ set -e
3
 
4
+ echo "==> Syncing DAGs from GitHub..."
5
+ rm -rf /opt/airflow/dags
6
+ git clone "${GIT_REPO_URL}" /opt/airflow/dags 2>/dev/null
7
 
8
+ echo "==> Running DB migrate..."
9
+ airflow db migrate > /dev/null 2>&1
10
 
11
+ echo "==> Creating admin user..."
12
+ airflow users create \
13
+ --username "${ADMIN_USER}" \
14
+ --password "${ADMIN_PASSWORD}" \
15
+ --firstname Admin \
16
+ --lastname User \
17
+ --role Admin \
18
+ --email admin@airflow.com > /dev/null 2>&1 || true
19
 
20
+ echo "==> Starting scheduler..."
21
+ airflow scheduler > /dev/null 2>&1 &
 
 
 
 
 
 
 
 
22
 
23
+ echo "==> Starting periodic git sync..."
24
+ (while true; do
25
+ sleep 60
26
+ git -C /opt/airflow/dags pull --quiet > /dev/null 2>&1
27
+ done) &
28
+
29
+ echo "==> Starting webserver on :7860"
30
+ exec airflow webserver --port 7860 > /dev/null 2>&1