build thingboard
OK 👍 tôi hướng dẫn bạn cách build ThingsBoard CE trên Ubuntu chuẩn nhất (ít lỗi nhất).
Chúng ta build đúng cách để tránh lỗi quyền và lỗi thiếu dung lượng.
🧱 1️⃣ Yêu cầu hệ thống (quan trọng)
Tối thiểu:
-
Ubuntu 22.04
-
RAM ≥ 8GB (khuyên dùng)
-
Ổ cứng trống ≥ 15GB
-
Java 17
-
Maven 3.9+
Kiểm tra dung lượng:
df -h
🔧 2️⃣ Cài môi trường
Cài Java 17
sudo apt update
sudo apt install openjdk-17-jdk -y
java -version
Phải ra 17.x
Cài Maven
sudo apt install maven -y
mvn -versionCài git
sudo apt update sudo apt install git -y
📥 3️⃣ Clone source CE
Source chính thức của ThingsBoard trên GitHub:
ThingsBoard
Clone:
cd ~
git clone https://github.com/thingsboard/thingsboard.git
cd thingsboard
🛠 4️⃣ Sửa UI trước khi build (nếu cần)
Sửa title:
ui-ngx/src/index.html
Sửa favicon:
ui-ngx/src/assets/favicon.ico
🏗 5️⃣ Build ThingsBoard CE
⚠️ KHÔNG dùng sudo.
mvn clean install -DskipTestsnếu chưa xong lệnh nàyBuild dùng Crtl+C sau đó buil tiếp bỏ lệnh clean. Code này rất hay dùng
////////codecd thingsboardmvn install -DskipTests ///////////////thì tiếp tục buil
Build lần đầu sẽ mất 10–30 phút.
Database đã tạo
Vào postgres:
sudo -u postgres psql
Tạo nếu chưa có:
CREATE DATABASE thingsboard;
ALTER USER postgres WITH PASSWORD '123456';
\q
Cấu hình DB đúng
File:
📦 6️⃣ File .jar nằm ở đâu?
Sau khi build thành công:
thingsboard/application/target/thingsboard-3.x.x.jar
▶️ 7️⃣ Chạy thử
java -jar application/target/thingsboard-3.x.x.jar
▶️ 7️⃣ copy file
Mount lại shared folder
Sau khi vào lại Ubuntu, chạy:
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
Rồi kiểm tra:
ls /mnt/hgfs
Nếu đúng sẽ thấy tên folder Windows của bạn.
🚨 Nếu gặp lỗi
❌ Lỗi thiếu dung lượng
Giải pháp:
rm -rf ~/.m2/repository
Hoặc tăng dung lượng máy ảo.
❌ Lỗi quyền (permission denied)
Chạy:
sudo chown -R $USER:$USER ~/thingsboard
🎯 Nếu bạn chỉ sửa favicon + title
Bạn KHÔNG cần build toàn bộ backend.
Chỉ cần:
cd ui-ngx
npm install
npm run build --prod
Rồi copy UI sang bản Windows.
sau tạo thành công nó ra link
thingsboard/application/target/thingsboard-xxx.jar
👉 Nhẹ hơn rất nhiều.
Bây giờ tôi hỏi thật 👍
Bạn muốn:
-
Build full CE để tạo bản riêng?
-
Hay chỉ sửa giao diện để dùng trên Windows?
Tôi hướng dẫn tối ưu theo đúng mục tiêu của bạn.
Làm đúng theo thứ tự này
1️⃣ Vào thư mục thingsboard
cd thingsboard
Nếu bạn clone trong Home thì sẽ vào được.
Nếu không chắc, chạy:
ls
Xem có thư mục thingsboard không.
2️⃣ Sau đó chạy lệnh tìm
grep -r "ThingsBoard" ui-ngx/srctrả bản gốc khi sửagit checkout -- src/app/modules/home/components/dashboard-page/dashboard-page.component.html git checkout -- src/app/shared/components/footer.component.html git checkout -- src/assets/locale/locale.constant-en_US.json~/thingsboard/ui-ngx

