@@ -2,7 +2,7 @@ version: "3.9"
22
33# ──────────────── Common env-file anchor ────────────────
44x-env : &envfile
5- env_file : .env # Populate from .env or .env.local
5+ env_file : .env # Loaded from .env or .env.local
66
77networks :
88 airflow :
@@ -11,7 +11,7 @@ networks:
1111services :
1212
1313 # ##########################################################################
14- # 1) Copilot – FastAPI + LangGraph agent
14+ # 1) Copilot – FastAPI + LangGraph agent (handles DB init internally)
1515 # ##########################################################################
1616 copilot :
1717 image : thedatacarpenter/airflow-copilot:latest
@@ -26,65 +26,45 @@ services:
2626 retries : 5
2727 environment :
2828 USE_DOTENV : false
29+
2930 # LLM / model
3031 LLM_MODEL_PROVIDER_NAME : ${LLM_MODEL_PROVIDER_NAME}
31- LLM_MODEL_NAME : ${LLM_MODEL_NAME}
32+ LLM_MODEL_NAME : ${LLM_MODEL_NAME}
3233
3334 # Provider keys
34- OPENAI_API_KEY : ${OPENAI_API_KEY}
35- GOOGLE_GENAI_API_KEY : ${GOOGLE_GENAI_API_KEY}
36- # GROQ_API_KEY: ${GROQ_API_KEY}
37- # ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
35+ OPENAI_API_KEY : ${OPENAI_API_KEY}
36+ GOOGLE_GENAI_API_KEY : ${GOOGLE_GENAI_API_KEY}
37+ # GROQ_API_KEY: ${GROQ_API_KEY}
38+ # ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
3839
39- # Thresholds
40+ # Summarization thresholds
4041 MIN_MSG_TO_SUMMARIZE : ${MIN_MSG_TO_SUMMARIZE:-10}
41- MIN_MSG_TO_RETAIN : ${MIN_MSG_TO_RETAIN:-10}
42+ MIN_MSG_TO_RETAIN : ${MIN_MSG_TO_RETAIN:-10}
4243
43- # Airflow
44+ # Airflow connection
4445 AIRFLOW_AUTH_STRATEGY : ${AIRFLOW_AUTH_STRATEGY:-per_user}
45- AIRFLOW_USER_NAME : ${AIRFLOW_USER_NAME:-airflow}
46+ AIRFLOW_USER_NAME : ${AIRFLOW_USER_NAME:-airflow}
4647 AIRFLOW_USER_PASSWORD : ${AIRFLOW_USER_PASSWORD:-airflow}
47- AIRFLOW_BASE_URL : ${AIRFLOW_BASE_URL}
48+ AIRFLOW_BASE_URL : ${AIRFLOW_BASE_URL}
4849
4950 # Summarization model
5051 SUMMARIZATION_LLM_MODEL_PROVIDER_NAME : ${SUMMARIZATION_LLM_MODEL_PROVIDER_NAME}
51- SUMMARIZATION_LLM_MODEL_NAME : ${SUMMARIZATION_LLM_MODEL_NAME}
52+ SUMMARIZATION_LLM_MODEL_NAME : ${SUMMARIZATION_LLM_MODEL_NAME}
5253
53- # Database & Bot creds
54- DB_URI : ${DB_URI}
55- MICROSOFT_APP_ID : ${MICROSOFT_APP_ID}
54+ # Database & Bot
55+ DB_URI : ${DB_URI}
56+ MICROSOFT_APP_ID : ${MICROSOFT_APP_ID}
5657 MICROSOFT_APP_PASSWORD : ${MICROSOFT_APP_PASSWORD}
5758
58- # Security
59+ # Encryption
5960 FERNET_SECRET_KEY : ${FERNET_SECRET_KEY}
6061 volumes :
6162 - .env:/app/src/.env:ro
62- depends_on :
63- db-init :
64- condition : service_completed_successfully
65- networks : [airflow]
66-
67- # ##########################################################################
68- # 2) One‑shot schema init (external Postgres or host DB)
69- # ##########################################################################
70- db-init :
71- image : postgres:16
72- << : *envfile
73- entrypoint : ["/bin/bash", "/init_db.sh"]
74- restart : " no"
75- extra_hosts :
76- - " host.docker.internal:host-gateway"
77- environment :
78- DB_URI : ${DB_URI}
79- volumes :
80- - ./docker/scripts/init_db.sh:/init_db.sh:ro
81- - ./docker/scripts/init.sql:/init.sql:ro
8263 networks : [airflow]
8364
8465 # ##########################################################################
85- # 3 ) Ngrok – expose local FastAPI endpoint
66+ # 2 ) Ngrok – expose local FastAPI endpoint
8667 # ##########################################################################
87-
8868 ngrok :
8969 image : ngrok/ngrok:latest
9070 depends_on : [copilot]
@@ -94,8 +74,9 @@ services:
9474 ports :
9575 - " 4040:4040"
9676 networks : [airflow]
77+
9778 # ##########################################################################
98- # 4 ) Bot updater – patches Azure Bot with ngrok URL
79+ # 3 ) Bot updater – patches Azure Bot with ngrok URL
9980 # ##########################################################################
10081 bot-updater :
10182 image : thedatacarpenter/airflow-copilot:latest
@@ -107,9 +88,9 @@ services:
10788 NGROK_API : http://ngrok:4040/api/tunnels
10889 BOT_NAME : ${AZURE_BOT_NAME:-Airflow-Copilot}
10990 RESOURCE_GROUP : ${RESOURCE_GROUP}
110- AZURE_CLIENT_ID : ${AZURE_CLIENT_ID}
111- AZURE_TENANT_ID : ${AZURE_TENANT_ID}
91+ AZURE_CLIENT_ID : ${AZURE_CLIENT_ID}
92+ AZURE_TENANT_ID : ${AZURE_TENANT_ID}
11293 AZURE_CLIENT_SECRET : ${AZURE_CLIENT_SECRET}
11394 volumes :
11495 - .env:/app/src/.env:ro
115- networks : [airflow]
96+ networks : [airflow]
0 commit comments