- Python version: >= 3.12.x
- Docker
- uv
- GNU Make(optional): dùng để viết các script build, run , ... cho gọn.
- Hệ điều hành: Windows/Linux/MacOS
git clone https://github.com/TuLe142857/DocumentHub.git
cd DocumentHub
# tạo sẵn thư mục này tránh docker tự tạo khi build(dễ dính quyền root)
mkdir -p ./backend/test_reports
# Copy file .env từ .env.example
cp .env.example .envNote
Có thể giữ nguyên file .env giống với file .env.example vẫn chạy được
make buildCác port expose từ docker container ra máy host(Có thể chỉnh bằng <>_PORT_EXTERNAL trong file .env):
- NGINX: 80
- Backend: 8000
- MYSQL: 3306
- Redis: 6379
- RedisInsight(Redis Web UI): 5540
- MinIO API: 9001
- MinIO Web UI: 9001
- MailHog(SMTP server): 1025
- MailHog(Web UI): 8025
make enter-db command="cli db seed"make test# service: tên service trong docker-compose.yml/docker-compose-dev.yml
# command: lệnh chạy (mặc định là bash để mở terminal)
# Ví dụ: make enter service=backend
make enter service=<> command=<># similar to 'make enter service=backend'
make enter-backend# vào trực tiếp mysql cli bằng root account
make-enter-db# Vào redis-cli(tự động đăng nhập)
make enter-redisDừng tất cả docker container, không xóa image và volume
make downDừng docker container, xóa image(local image(như backend), không bao gồm các image pull từ internet(như mysql, redis, ...)), xóa toàn bộ volume
make cleangit clone https://github.com/TuLe142857/DocumentHub.git
cd DocumentHub
# tạo sẵn thư mục này tránh docker tự tạo khi build(dễ dính quyền root)
mkdir -p ./backend/test_reports
# Copy file .env từ .env.example
cp .env.example .envNote
Cần chỉnh sủa file .env:
- Chỉnh giá trị
ENVIROMENT=prod - Thay thế các giá trị
changethis - Nhập các giá trị liên quan SMTP phù hợp
SSH to server and run:
export ENVIRONMENT=prod
export target=prod
make build