cài thingboard bằng docker
Chào bạn, việc cài đặt ThingsBoard phiên bản 4.3.0 với Database Postgres riêng yêu cầu cấu hình chính xác để container Node có thể "nói chuyện" được với container Database.
Dưới đây là quy trình làm lại sạch sẽ từ đầu cho thư mục C:\tb-docker.
Bước 1: Cập nhật file docker-compose.yml
Bạn hãy mở file trong thư mục C:\tb-docker và thay thế toàn bộ nội dung bằng đoạn mã dưới đây. Mình đã tối ưu lại các biến môi trường cho bản 4.3.0:
version: '3.8'
services:
postgres:
restart: always
image: postgres:16
container_name: tb-postgres
environment:
POSTGRES_DB: thingsboard
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- tb-postgres-data:/var/lib/postgresql/data
thingsboard:
restart: always
image: thingsboard/tb-node:4.3.0
container_name: thingsboard
depends_on:
- postgres
ports:
- "8080:8080"
- "1883:1883"
- "7070:7070"
environment:
TB_QUEUE_TYPE: in-memory
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/thingsboard
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: postgres
DATABASE_TS_TYPE: sql
DATABASE_ENTITIES_TYPE: sql
volumes:
- tb-data:/data
- tb-logs:/var/log/thingsboard
volumes:
tb-postgres-data:
tb-data:
tb-logs:
Bước 2: Dọn dẹp dữ liệu lỗi (Bắt buộc)
Trước khi chạy bản mới, bạn cần xóa hết "tàn dư" của bản cũ để tránh xung đột Database:
Mở Terminal (CMD hoặc PowerShell).
Gõ:
cd C:\tb-dockerChạy lệnh:
PowerShelldocker-compose down -v
Bước 3: Chạy script cài đặt cho bản 4.3.0
Ở bản 4.x, đường dẫn script đôi khi thay đổi. Hãy dùng lệnh này (đã bao gồm đường dẫn tuyệt đối trong container) để khởi tạo dữ liệu:
docker-compose run --rm thingsboard /usr/share/thingsboard/bin/install-tb.sh --loadDemo
Lưu ý: Bạn phải đợi cho đến khi Terminal hiện dòng chữ: ThingsBoard installed successfully!
Bước 4: Khởi động hệ thống
Sau khi cài đặt xong, bạn gõ:
docker-compose up -d
Bước 5: Kiểm tra và Đăng nhập
Đợi khoảng 1-2 phút để ThingsBoard khởi chạy hoàn tất (Java cần thời gian để load).
Truy cập trình duyệt:
http://localhost:8080Tài khoản mặc định:
User:
tenant@thingsboard.orgPass:
tenant
Mẹo kiểm tra nhanh: Nếu bạn vẫn thấy trang trắng, hãy chạy lệnh sau để xem lỗi thực tế là gì:
docker logs -f thingsboard
Nếu thấy dòng chữ Started ThingsBoard Anniversary Edition... là bạn đã thành công! Thử lại xem sao nhé.

