Pommsn commited on
Commit
89edeaa
·
verified ·
1 Parent(s): 17686d8

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -11
Dockerfile CHANGED
@@ -1,33 +1,52 @@
 
 
 
 
 
 
 
 
 
 
1
  FROM langgenius/dify-api:latest
2
 
3
- # 1. ติดตั้ง Nginx
4
  RUN apt-get update && apt-get install -y nginx && rm -rf /var/lib/apt/lists/*
5
 
6
- # 2. สร้างโฟลเดอร์
7
  RUN mkdir -p /var/www/html
8
 
9
- # 3. คัดลอก Config และ Scripts
10
  COPY nginx.conf /etc/nginx/nginx.conf
11
  COPY start.sh /start.sh
12
  RUN chmod +x /start.sh
13
 
14
- # 4. คัดลอก Web Files (ต้อง Build dify-web เสร็จแล้วมาใส่ในโฟลเดอร์ชื่อ web)
15
- COPY web /var/www/html
 
 
 
 
 
16
  RUN chmod -R 755 /var/www/html
17
 
18
- # 5. ตั้งค่า Storage เป็น /data/storage (ถาวรใน HF Spaces)
 
 
19
  ENV STORAGE_TYPE=local
 
20
  ENV STORAGE_LOCAL_PATH=/data/storage
21
  ENV VECTOR_STORE=pgvector
22
  RUN mkdir -p /data/storage && chmod 777 /data/storage
23
 
24
- # 6. ตั้งค่า Environment เบื้องต้น
 
 
25
  ENV MODE=api
26
  ENV PORT=7860
27
  EXPOSE 7860
28
 
29
- # 7. ระบบจะดึงค่า DB และ Redis จาก Hugging Face Secrets ที่คุณตั้งไว้โดยอัตโนมัติ
30
- # เพราะฉะน้นไมต้อHardcode ค่า DB/Redis Dockerfile
31
-
32
- # 8. รัน
33
  CMD ["/start.sh"]
 
1
+ # =====================================================
2
+ # 1. Stage แรก: ดึงไฟล์หน้าเว็บ (Web Files)
3
+ # =====================================================
4
+ # เราจะดึงไฟล์จาก Image ทางการของ Dify มาใช้โดยตรง
5
+ # เพื่อป้องกัน Error "web not found"
6
+ FROM langgenius/dify-web:latest as web-source
7
+
8
+ # =====================================================
9
+ # 2. Stage ที่สอง: ระบบหลัก (API)
10
+ # =====================================================
11
  FROM langgenius/dify-api:latest
12
 
13
+ # ติดตั้ง Nginx เพื่อทำหน้าที่เป็น Web Server
14
  RUN apt-get update && apt-get install -y nginx && rm -rf /var/lib/apt/lists/*
15
 
16
+ # สร้างโฟลเดอร์สำหรับเก็บหน้าเว็บ
17
  RUN mkdir -p /var/www/html
18
 
19
+ # คัดลอกไฟล์ Config และ Scripts
20
  COPY nginx.conf /etc/nginx/nginx.conf
21
  COPY start.sh /start.sh
22
  RUN chmod +x /start.sh
23
 
24
+ # =====================================================
25
+ # 3. นำไฟล์ Web จาก Stage แรก มาใส่ไว้ที่ Nginx
26
+ # =====================================================
27
+ # เราไม่ใช้ COPY web แล้ว แต่สั่งให้คัดลอกจาก web-source (/app) มาไว้ที่ (/var/www/html)
28
+ COPY --from=web-source /app /var/www/html
29
+
30
+ # ตั้งสิทธิ์ให้อ่านไฟล์ Web ได้
31
  RUN chmod -R 755 /var/www/html
32
 
33
+ # =====================================================
34
+ # 4. ตั้งค่า Storage (เก็บข้อมูลไม่ให้หาย)
35
+ # =====================================================
36
  ENV STORAGE_TYPE=local
37
+ # ใช้ Path /data/storage เพื่อความถาวรใน Hugging Face
38
  ENV STORAGE_LOCAL_PATH=/data/storage
39
  ENV VECTOR_STORE=pgvector
40
  RUN mkdir -p /data/storage && chmod 777 /data/storage
41
 
42
+ # =====================================================
43
+ # 5. ตั้งค่า Environment และ Secrets
44
+ # =====================================================
45
  ENV MODE=api
46
  ENV PORT=7860
47
  EXPOSE 7860
48
 
49
+ # =====================================================
50
+ # 6. คำสั่งรัน (ช้ไฟล์ start.sh เดิม)
51
+ # =====================================================
 
52
  CMD ["/start.sh"]