# Backend build

## วิธีสร้าง package-lock.json ด้วย Docker

### 1. เช็ค uid:gid ของโฟลเดอร์โปรเจกต์บน QNAP

stat -c "%u:%g" .

### 2. ใช้ค่าที่ได้มาแทน UID:GID

```bash
docker run --rm \
  -v "/share/Container/dms/frontend:/app" -w /app \
  --user UID:GID -e HOME=/tmp \
  node:20-alpine sh -lc 'mkdir -p /tmp && npm install --package-lock-only --ignore-scripts'
```

สร้าง package-lock.json โดย ไม่ติดตั้ง node_modules

--user $(id -u):$(id -g) ทำให้ไฟล์ที่ได้เป็นเจ้าของโดยยูสเซอร์ปัจจุบัน (กันปัญหา root-owned)

## ขั้นตอน Build บน QNAP

docker compose -f docker-backend-build.yml build --no-cache 2>&1 | tee backend_build.log

## สำหรับ build local

cd backend
docker build -t dms-backend:dev --target dev .
