1yahoo commited on
Commit
668abfe
·
verified ·
1 Parent(s): c29aea1

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +35 -0
Dockerfile ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # المرحلة الأولى: بناء واجهة Chatbot UI
2
+ FROM node:18-alpine AS frontend-builder
3
+ RUN apk add --no-cache git
4
+ RUN git clone https://github.com/mckaywrigley/chatbot-ui.git /app/frontend
5
+ WORKDIR /app/frontend
6
+ RUN npm install
7
+ # إعداد متغيرات البيئة للواجهة لتشير إلى الخلفية المحلية
8
+ ENV NEXT_PUBLIC_SUPABASE_URL=http://localhost:8000
9
+ ENV NEXT_PUBLIC_SUPABASE_ANON_KEY=your-key
10
+ RUN npm run build
11
+
12
+ # المرحلة الثانية: إعداد الخلفية Python وتشغيل النظام
13
+ FROM python:3.11-slim
14
+ WORKDIR /app
15
+
16
+ # تثبيت متطلبات البايثون
17
+ COPY requirements.txt .
18
+ RUN pip install --no-cache-dir -r requirements.txt
19
+
20
+ # تثبيت Node.js لتشغيل الواجهة في نفس الحاوية
21
+ RUN apt-get update && apt-get install -y curl && \
22
+ curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
23
+ apt-get install -y nodejs && \
24
+ rm -rf /var/lib/apt/lists/*
25
+
26
+ # نسخ الكود والواجهة المبنية
27
+ COPY . .
28
+ COPY --from=frontend-builder /app/frontend /app/frontend
29
+
30
+ # فتح المنافذ
31
+ EXPOSE 7860
32
+
33
+ # تشغيل الـ Backend والـ Frontend معاً
34
+ # سنستخدم سكريبت بسيط لتشغيل uvicorn و npm start في وقت واحد
35
+ CMD ["sh", "-c", "uvicorn app:app --host 0.0.0.0 --port 8000 & cd frontend && npm start -- -p 7860"]