Dự án & triển khai ứng dụng
Tạo dự án để triển khai và quản lý ứng dụng trên máy chủ: chọn máy chủ, cấu hình tên miền/cổng/môi trường chạy, chạy ứng dụng, theo dõi trạng thái và cập nhật lại khi mã nguồn thay đổi.
OneDash giúp biến một máy chủ trống thành nơi chạy ứng dụng thật chỉ trong vài bước, không cần gõ lệnh thủ công. Bài này hướng dẫn cách tạo một dự án, cấu hình để ứng dụng chạy được, theo dõi trạng thái và cập nhật mã nguồn mới về sau.
Khi nào dùng
Dùng tính năng Dự án khi muốn:
- Chạy một ứng dụng (Node.js, Python hoặc Go) ngay trên máy chủ mà không phải tự cài đặt môi trường, tự viết cấu hình máy chủ web hay tự bật tắt dịch vụ.
- Đưa mã nguồn từ một kho Git về máy chủ rồi chạy, hoặc khởi tạo một thư mục trống để tải mã nguồn lên sau.
- Gắn tên miền riêng kèm chứng chỉ HTTPS tự động cho ứng dụng, hoặc chỉ chạy nội bộ để truy cập an toàn qua SSH.
Mỗi dự án gắn với đúng một máy chủ. OneDash sẽ tự cài môi trường chạy, cài các thư viện phụ thuộc, mở cổng tường lửa khi cần và dựng máy chủ web đứng trước ứng dụng.
Trước khi bắt đầu
- Có ít nhất một máy chủ đã được thêm vào OneDash và agent đang trực tuyến. Trong danh sách chọn máy chủ, máy chủ nào đang ngoại tuyến sẽ bị mờ và không chọn được — hãy đợi agent kết nối lại.
- Máy chủ chạy hệ điều hành Linux được hỗ trợ (Ubuntu LTS, từ 18.04 trở lên). Nếu hệ điều hành chưa được hỗ trợ, OneDash sẽ hiện cảnh báo và không cho tạo dự án trên máy chủ đó.
- Nếu mã nguồn nằm trong kho Git riêng tư, hãy chuẩn bị sẵn một Personal Access Token (PAT). Kho công khai thì không cần.
- Nếu định gắn tên miền, hãy trỏ bản ghi DNS dạng A của tên miền về địa chỉ IP máy chủ trước.
Cách tạo một dự án mới
- Vào mục Projects ở thanh điều hướng bên trái.
- Bấm nút Tạo Project Mới.
- Nhập Tên Project. Ngay bên dưới, OneDash hiển thị Định danh hệ thống (slug) được sinh tự động từ tên — đây là định danh dùng nội bộ trên máy chủ.
- (Tuỳ chọn) Nhập Mô tả ngắn gọn về dự án.
- Chọn Nguồn source code:
- Thư mục trống (upload sau): tạo dự án rỗng, tải mã nguồn lên sau qua Quản lý File.
- Clone từ Git repository: nhập Git repository URL (bắt buộc dùng HTTPS). Nếu là kho riêng tư, nhập thêm Personal Access Token; để trống nếu kho công khai. Token chỉ dùng một lần để tải mã nguồn và không được lưu lại.
- Chọn Runtime (môi trường chạy): hiện hỗ trợ Node.js, Python và Go. Các lựa chọn còn lại hiển thị nhãn "Sắp có".
- Chọn Phiên bản Runtime. Danh sách hiển thị các phiên bản đã cài sẵn trên máy chủ đã chọn. Nếu cần một phiên bản chưa có, bấm Cài version mới để cài thêm, hoặc bấm Quản lý môi trường runtime để xem và chọn từ các phiên bản đã cài.
- Ở mục Máy chủ, tìm và chọn máy chủ sẽ chạy dự án. Mỗi máy chủ hiển thị tên, địa chỉ, cổng và trạng thái agent.
- Bấm Tạo. Nếu hệ điều hành máy chủ chưa được hỗ trợ, nút Tạo sẽ bị khoá kèm cảnh báo.

Cách cấu hình để ứng dụng chạy được
Sau khi tạo, mở dự án và bấm Cấu hình. Trang cấu hình chia thành các phần:
Lệnh chạy
- Lệnh khởi chạy: lệnh dùng để chạy ứng dụng. Ví dụ:
node src/index.js,python main.pyhoặc./my-app. - Lệnh build (tuỳ chọn): lệnh biên dịch trước khi chạy, ví dụ
npm run build. - Cổng (port): cổng mà ứng dụng sẽ lắng nghe, trong khoảng 1024 đến 65535. OneDash sẽ tự kiểm tra cổng còn trống hay đã bị một dự án khác hoặc tiến trình hệ thống chiếm, và báo ngay nếu trùng.
- Giới hạn tài nguyên (nâng cao): tuỳ chọn đặt mức RAM tối đa, giới hạn RAM mềm, hạn mức CPU và số tiến trình tối đa cho ứng dụng.
Nếu bấm Khởi chạy mà chưa nhập lệnh khởi chạy, OneDash sẽ tự động phân tích mã nguồn để phát hiện cấu hình phù hợp.
Biến môi trường
Khai báo các biến môi trường cho ứng dụng. Giá trị được mã hoá khi lưu; các biến địa chỉ máy chủ và cổng được tự động cấp theo chế độ truy cập nên không cần khai báo thủ công. Khi cần xem lại giá trị đã lưu, bấm Hiện giá trị (hành động xem này được ghi vào nhật ký hoạt động, nhưng nội dung biến thì không).
Chế độ truy cập
Chọn cách người dùng truy cập ứng dụng:
- Chỉ local (127.0.0.1): ứng dụng chỉ nghe nội bộ trên máy chủ, truy cập qua đường hầm SSH — an toàn nhất.
- IP máy chủ (0.0.0.0:port): truy cập trực tiếp qua địa chỉ IP và cổng. Cần mở cổng tương ứng trong tường lửa; lưu lượng không được mã hoá.
- Domain (máy chủ web đứng trước): dùng tên miền riêng kèm HTTPS tự động. Lựa chọn này chỉ bật khi máy chủ đã cài máy chủ web; nếu chưa, OneDash hướng dẫn cài đặt.
Tên miền & SSL
Phần này xuất hiện khi chọn chế độ Domain. Nhập tên miền (hỗ trợ cả tên miền gốc lẫn tên miền con) và bật Tự động cài SSL nếu muốn cấp chứng chỉ HTTPS miễn phí, gia hạn tự động. Hãy chắc chắn bản ghi DNS A của tên miền đã trỏ về máy chủ trước khi lưu.
Cuối trang, bấm Lưu & Chạy để lưu cấu hình rồi khởi chạy ngay, hoặc Lưu & Áp dụng để lưu thay đổi.
📷 Ảnh minh hoạ: Trang Cấu hình Project với các phần Lệnh chạy, Biến môi trường, Chế độ truy cập và Tên miền & SSL.
Cách theo dõi trạng thái dự án
Mỗi dự án hiển thị một nhãn trạng thái theo thời gian thực. Các trạng thái thường gặp:
| Trạng thái | Ý nghĩa |
|---|---|
| Đang khởi tạo (chờ cài runtime) | Vừa tạo, đang chờ cài môi trường chạy |
| Đang cài runtime | Đang cài đặt môi trường chạy lên máy chủ |
| Đang phân tích... | Đang dò các thư viện phụ thuộc của mã nguồn |
| Đang cài đặt... | Đang cài các thư viện phụ thuộc |
| Sẵn sàng | Đã sẵn sàng để khởi chạy |
| Đang build | Đang biên dịch mã nguồn |
| Đang khởi chạy | Đang bật ứng dụng |
| Đang chạy | Ứng dụng đang hoạt động |
| Đã dừng | Ứng dụng đã được dừng |
| Lỗi | Có sự cố cần xử lý |
Trong trang chi tiết dự án còn có dòng Tình trạng cho biết ứng dụng có thật sự lắng nghe đúng cổng đã cấu hình hay không (Healthy / Đang xác minh / Unhealthy). Bấm nút Làm mới ở thanh công cụ để tải lại danh sách và trạng thái mới nhất bất cứ lúc nào.
Để điều khiển vòng đời ứng dụng, mở dự án và dùng các nút: Khởi chạy, Dừng, Khởi động lại, Cấu hình, Quản lý File và Xóa. Khi agent của máy chủ đang ngoại tuyến, các nút này sẽ bị khoá.

Cách cập nhật mã nguồn mới (dự án từ Git)
Với dự án được tạo bằng cách clone từ Git, có thể kéo mã nguồn mới nhất về máy chủ:
- Mở dự án và chọn Cập nhật dữ liệu mới.
- Cửa sổ hiển thị thông tin dự án, kho Git và nhánh (nhánh được tự phát hiện từ kho).
- Nếu kho riêng tư, nhập Personal Access Token (token chỉ dùng một lần, không lưu trữ).
- Bấm Triển khai. Lưu ý: các thay đổi cục bộ trên máy chủ sẽ bị ghi đè bằng mã nguồn mới nhất từ nhánh.
Nếu mã nguồn mới có thay đổi về thư viện phụ thuộc hoặc cấu trúc cơ sở dữ liệu, hãy khởi động lại dự án sau khi triển khai thành công.
Xử lý sự cố
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Không chọn được máy chủ khi tạo dự án | Agent của máy chủ đang ngoại tuyến | Đợi agent kết nối lại rồi thử lại |
| Nút Tạo bị khoá kèm cảnh báo hệ điều hành | Hệ điều hành máy chủ chưa được hỗ trợ | Dùng máy chủ chạy Ubuntu LTS (18.04 trở lên) |
| Báo cổng đã được dùng | Cổng trùng với dự án khác hoặc tiến trình hệ thống | Chọn một số cổng khác trong phần Lệnh chạy |
| Không chọn được chế độ Domain | Máy chủ chưa cài máy chủ web | Cài máy chủ web cho máy chủ rồi quay lại chọn |
| Cập nhật mã nguồn báo xác thực thất bại | Kho riêng tư cần token | Nhập đúng Personal Access Token rồi thử lại |
| Triển khai báo có tệp cục bộ chặn cập nhật | Trên máy chủ có tệp trùng tên với tệp mới | Xác nhận xoá các tệp đó trong cửa sổ rồi tiếp tục |
| Dự án ở trạng thái Lỗi | Cài đặt hoặc khởi chạy gặp sự cố | Mở dự án, dùng nút khôi phục/cài lại theo hướng dẫn hiển thị, hoặc xem chi tiết lỗi |
| Ứng dụng "Đang chạy" nhưng không truy cập được | Ứng dụng lắng nghe sai cổng so với cấu hình | Kiểm tra dòng Tình trạng; đồng bộ cổng trong cấu hình với cổng ứng dụng thực sự dùng |