Cài đặt

Hướng dẫn cài đặt VieLang IoT trên môi trường local và production.

Cài đặt

Yêu cầu hệ thống

Thành phầnPhiên bản tối thiểu
Rust1.80+
Node.js20+
PostgreSQL15+
Redis7+
Docker24+

Cài đặt nhanh với Docker Compose

Cách đơn giản nhất để chạy toàn bộ stack:

git clone https://github.com/vielang/vielang.git cd vielang # Copy config mẫu cp config/vielang.toml.example config/vielang.toml cp .env.example .env # Khởi động docker compose up -d

Sau khi khởi động:

Tài khoản mặc định

Vai tròEmailMật khẩu
System Adminsysadmin@vielang.iosysadmin
Tenant Admintenant@vielang.iotenant

Bảo mật: Đổi mật khẩu ngay sau khi đăng nhập lần đầu.

Cài đặt từ source

1. Clone repository

git clone https://github.com/vielang/vielang.git cd vielang

2. Cài đặt PostgreSQL và Redis

# macOS brew install postgresql@15 redis brew services start postgresql@15 brew services start redis # Ubuntu/Debian sudo apt install postgresql-15 redis-server sudo systemctl start postgresql redis

3. Khởi tạo database

createdb vielang export DATABASE_URL="postgresql://localhost/vielang" cargo install sqlx-cli sqlx migrate run --source migrations/

4. Chạy Rust backend

# Copy config cp config/vielang.toml.example config/vielang.toml # Chạy API server (port 8080) cargo run --release -p vl-api # Chạy MQTT broker (port 1883) cargo run --release -p vl-transport

5. Chạy BFF

cd vielang-ui/vielang-axum cp .env.example .env cargo run --release -p vl-bff-api

6. Chạy Next.js

cd vielang-ui/vielang-admin pnpm install pnpm dev

Cài đặt production (Kubernetes)

Xem hướng dẫn triển khai AWS để cài đặt production trên EKS với:

  • RDS PostgreSQL Multi-AZ
  • ElastiCache Redis
  • ALB Ingress + TLS
  • Auto-scaling

Cấu hình nhanh

File config/vielang.toml:

[server] host = "0.0.0.0" port = 8080 [database] url = "postgresql://postgres:password@localhost/vielang" max_connections = 20 [redis] url = "redis://localhost:6379" [jwt] secret = "your-secret-key-min-32-chars" access_token_ttl_secs = 9000 # 2.5 giờ refresh_token_ttl_secs = 604800 # 7 ngày [mqtt] host = "0.0.0.0" port = 1883

Override bằng biến môi trường (prefix VL__):

VL__SERVER__PORT=9090 VL__DATABASE__URL=postgresql://user:pass@host/db VL__JWT__SECRET=my-secret