164 lines
2.8 KiB
Markdown
164 lines
2.8 KiB
Markdown
# 🏠 Triển khai Localhost
|
|
|
|
Chạy 9Router trên máy cá nhân để phát triển và dùng cá nhân.
|
|
|
|
---
|
|
|
|
## 📦 Cài đặt
|
|
|
|
Cài đặt 9Router toàn cục qua npm:
|
|
|
|
```bash
|
|
npm install -g 9router
|
|
```
|
|
|
|
**Yêu cầu:**
|
|
- Node.js 20 trở lên
|
|
- npm 9 trở lên
|
|
|
|
---
|
|
|
|
## 🚀 Khởi động Server
|
|
|
|
Khởi động 9Router với một lệnh duy nhất:
|
|
|
|
```bash
|
|
9router
|
|
```
|
|
|
|
Dashboard sẽ tự động mở trong trình duyệt tại `http://localhost:3000`
|
|
|
|
**Cấu hình mặc định:**
|
|
- **Dashboard**: `http://localhost:3000`
|
|
- **API Endpoint**: `http://localhost:20128/v1`
|
|
- **Data Directory**: `~/.9router`
|
|
|
|
---
|
|
|
|
## 🔧 Cấu hình
|
|
|
|
### Custom Data Directory
|
|
|
|
Đặt thư mục data tùy chỉnh qua biến môi trường:
|
|
|
|
```bash
|
|
DATA_DIR=/path/to/data 9router
|
|
```
|
|
|
|
### Custom Port
|
|
|
|
Port API (20128) và port dashboard (3000) được cấu hình trong application. Để đổi, bạn cần sửa source code hoặc dùng biến môi trường nếu được hỗ trợ.
|
|
|
|
---
|
|
|
|
## 🛑 Dừng Server
|
|
|
|
Nhấn `Ctrl+C` trong terminal đang chạy 9Router.
|
|
|
|
```bash
|
|
# In the terminal running 9router
|
|
^C # Press Ctrl+C
|
|
```
|
|
|
|
Server sẽ shutdown an toàn và lưu mọi dữ liệu.
|
|
|
|
---
|
|
|
|
## 🔄 Khởi động lại Server
|
|
|
|
Chỉ cần chạy lệnh start lại:
|
|
|
|
```bash
|
|
9router
|
|
```
|
|
|
|
Mọi cấu hình, API keys và combos được giữ lại trong thư mục data.
|
|
|
|
---
|
|
|
|
## 📊 Cập nhật 9Router
|
|
|
|
Cập nhật phiên bản mới nhất:
|
|
|
|
```bash
|
|
npm update -g 9router
|
|
```
|
|
|
|
Kiểm tra version hiện tại:
|
|
|
|
```bash
|
|
npm list -g 9router
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 Troubleshooting
|
|
|
|
### Port đã được dùng
|
|
|
|
Nếu port 20128 hoặc 3000 đã được dùng:
|
|
|
|
```bash
|
|
# Find process using the port (macOS/Linux)
|
|
lsof -i :20128
|
|
lsof -i :3000
|
|
|
|
# Kill the process
|
|
kill -9 <PID>
|
|
```
|
|
|
|
### Lỗi Permission
|
|
|
|
Nếu gặp lỗi permission khi cài đặt:
|
|
|
|
```bash
|
|
# Use sudo (not recommended)
|
|
sudo npm install -g 9router
|
|
|
|
# Or fix npm permissions (recommended)
|
|
mkdir ~/.npm-global
|
|
npm config set prefix '~/.npm-global'
|
|
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
|
|
source ~/.bashrc
|
|
```
|
|
|
|
### Vấn đề Data Directory
|
|
|
|
Nếu thư mục data không truy cập được:
|
|
|
|
```bash
|
|
# Check permissions
|
|
ls -la ~/.9router
|
|
|
|
# Fix permissions
|
|
chmod 755 ~/.9router
|
|
```
|
|
|
|
---
|
|
|
|
## 📁 Cấu trúc Data Directory
|
|
|
|
```
|
|
~/.9router/
|
|
├── db.json # Main database (providers, combos, settings)
|
|
├── logs/ # Application logs
|
|
└── cache/ # Temporary cache files
|
|
```
|
|
|
|
**Backup Data:**
|
|
|
|
```bash
|
|
# Backup
|
|
cp -r ~/.9router ~/.9router.backup
|
|
|
|
# Restore
|
|
cp -r ~/.9router.backup ~/.9router
|
|
```
|
|
|
|
---
|
|
|
|
## 🔗 Bước tiếp theo
|
|
|
|
- [Kết nối Providers](/providers/subscription.md)
|
|
- [Tạo Combos](/features/combos.md)
|
|
- [Tích hợp với CLI Tools](/integration/cursor.md)
|