Cài đặt và nâng cấp NocoBase trong môi trường mạng nội bộ (create-nocobase-app)
Môi trường mạng nội bộ không thể truy cập trực tiếp npm registry chính thức, cần tạo dự án và cài đặt phụ thuộc trong môi trường có internet, sau đó đóng gói toàn bộ dự án và chuyển sang server mạng nội bộ để triển khai.
Quy trình tổng thể: Tạo dự án ở mạng ngoài → Cài phụ thuộc và đóng gói → Sao chép sang mạng nội bộ → Giải nén, cấu hình và khởi động
- Cả máy ngoài và máy nội bộ đều cần cài Node.js >= 22, Yarn 1.22.x
- Database: chọn một trong MySQL 8.0.17+, MariaDB 10.9+, PostgreSQL 10+ (có thể triển khai ở mạng nội bộ hoặc ngoài)
- Phiên bản Node.js và kiến trúc hệ điều hành của máy ngoài và mạng nội bộ phải giống nhau, nếu không một số module native trong
node_modulescó thể không tương thích - Đường dẫn cài đặt dự án của mạng ngoài và nội bộ phải giống nhau (ví dụ đều là
/app/my-nocobase-app), nếu không sẽ không chạy được sau khi chuyển
Môi trường mạng ngoài
Tạo dự án và cài đặt phụ thuộc trong môi trường có internet.
Cài đặt lần đầu
1. Tạo dự án trong môi trường mạng ngoài
Thực thi trên máy có thể truy cập npm. Quan trọng: Vui lòng chuyển vào thư mục cha mục tiêu trước (ví dụ cd /app), đảm bảo đường dẫn dự án sau khi tạo là /app/my-nocobase-app để khớp với đường dẫn triển khai mạng nội bộ.
--skip-dev-dependenciesBỏ qua việc cài đặt phụ thuộc development (khi triển khai môi trường sản xuất, để giảm dung lượng, có thể chỉ cài đặt các phụ thuộc cần thiết)APP_ENV=productionĐặt môi trường ứng dụng là productionTZDùng để cài đặt múi giờ ứng dụng, mặc định là múi giờ hệ điều hànhDB_*Là các cấu hình liên quan đến database, vui lòng sửa thành thông tin kết nối database thực tế của bạn
2. Chuyển vào thư mục
3. Cài đặt phụ thuộc
Các bước 4-7 dưới đây chỉ dùng để tải Plugin thương mại. Nếu chỉ dùng phiên bản open source, có thể bỏ qua các bước 4-7, thực thi trực tiếp bước 8 để đóng gói.
4. Cài đặt NocoBase
5. Chạy NocoBase
6. Nhập License Key
Truy cập:
7. Tải Plugin thương mại
8. Đóng gói dự án
Nâng cấp ứng dụng
1. Nâng cấp code và Plugin ứng dụng
2. Đóng gói lại dự án
Môi trường mạng nội bộ
Sau đó đóng gói toàn bộ dự án và chuyển sang server mạng nội bộ.
Cài đặt lần đầu
1. Upload code và Plugin ứng dụng
Sau khi sao chép nocobase-app.tar.gz sang server mạng nội bộ qua USB, file share nội bộ, v.v., thực thi giải nén (nếu tar.gz không ở thư mục hiện tại, vui lòng dùng đường dẫn đầy đủ):
2. Chuyển vào thư mục
3. Cấu hình tệp .env
Tạo tệp .env ở thư mục gốc dự án, tham khảo cấu hình môi trường mạng ngoài, các điểm cần sửa:
DB_HOST: Đổi thành địa chỉ database mạng nội bộ (nếu database ở server mạng nội bộ khác)DB_PORT,DB_DATABASE,DB_USER,DB_PASSWORD: Khớp với cấu hình thực tế của database mạng nội bộAPP_KEY: Khuyến nghị giữ giống mạng ngoài, nếu không các Token đã có sẽ vô hiệu
Có thể thực thi cat .env ở thư mục gốc dự án mạng ngoài để xem cấu hình đầy đủ, sao chép và sửa theo môi trường mạng nội bộ.
4. Cài đặt NocoBase
5. Khởi động NocoBase
6. Đăng nhập NocoBase
Truy cập http://<IP server mạng nội bộ>:13000 và đăng nhập bằng tài khoản khởi tạo.
7. Nhập License Key
Người dùng phiên bản thương mại cần nhập License Key. Truy cập:
Nâng cấp ứng dụng
1. Dừng ứng dụng
2. Ghi đè code và Plugin ứng dụng
Sau khi sao chép nocobase-app.tar.gz sang server mạng nội bộ qua USB, file share nội bộ, v.v., thực thi giải nén:
3. Nâng cấp ứng dụng
4. Khởi động lại ứng dụng
5. Nhập License Key (nếu giấy phép thay đổi)
Nếu giấy phép License thay đổi, cần nhập lại. Truy cập:
Câu hỏi thường gặp
Q: Khởi động ở mạng nội bộ báo lỗi, không tìm thấy module hoặc binary file?
A: Kiểm tra phiên bản Node.js và kiến trúc hệ điều hành của mạng ngoài và nội bộ có giống nhau không (ví dụ đều là Linux x64, Node 20.x). Nếu không giống nhau cần thực thi lại yarn install và đóng gói trong môi trường giống nhau.
Q: Sau khi giải nén chạy báo lỗi, lỗi liên quan đến đường dẫn?
A: Đảm bảo đường dẫn giải nén ở mạng nội bộ giống đường dẫn tạo ở mạng ngoài (ví dụ đều là /app/my-nocobase-app). Có thể chỉ định -C đến đường dẫn giống nhau khi tar -xzf.
Q: Kết nối database thất bại?
A: Xác nhận DB_HOST trong .env đã đổi thành địa chỉ database có thể truy cập từ mạng nội bộ, port và quy tắc tường lửa chính xác.

