Skip to content

iknizzz1807/learn2aid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chạy dự án nếu dùng docker-compose

  • Tải Docker desktop nếu dùng Windows, nếu Linux thì cài Docker Engine
  • Mở Docker Desktop (nhớ mở, nếu không sẽ không chạy được)

Docker Compose với Volume Mapping cho Development

  1. Kéo image từ Docker Hub xuống
docker compose pull
  1. Khởi động lần đầu tiên hoặc thêm thư viện vào requirements.txt trong ai service:
docker-compose up --build
  1. Khởi động thông thường (sau các lần đầu):
docker-compose up
  1. Chạy ngầm:
docker-compose up -d
  1. Xem logs:
docker-compose logs -f
  1. Khởi động lại một service cụ thể:
docker-compose restart ai-service

Debug và Development

  • AI Service: Code Python sẽ tự động reload với flag --reload của uvicorn
  • Go Backend: Cần restart service khi có thay đổi code:
    docker-compose restart go-backend

Kết thúc dự án

docker-compose down

Lưu ý quan trọng

  1. Golang Hot Reload: Để có hot reload với Go, cập nhật Dockerfile của backend để sử dụng công cụ như air hoặc CompileDaemon (đang không dùng).

  2. Container đang chạy: Nếu thay đổi Dockerfile, cần chạy docker-compose up --build để áp dụng thay đổi.

  3. Phân biệt môi trường:

    • Development: Sử dụng volume mapping như trên
    • Production: Không dùng volume mapping và --reload hoặc hot reload
  4. Vấn đề permission: Trên Linux, có thể gặp vấn đề quyền truy cập với volume mapping. Kiểm tra quyền của thư mục và owner của files.

  5. Đối với AI Service: Khi cài đặt thêm thư viện Python mới, cần rebuild lại container:

    docker-compose up --build ai-service

Nếu không dùng Docker

  • Chạy từng service một
  • Cách chạy các service cụ thể đã được viết trong các file README.md trong các folder tương ứng
  • Nhớ cài đặt đầy đủ theo yêu cầu

About

Learn2Aid - UIT GDSC Hackathon project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published