| # π Localhost Deployment |
|
|
| Run 9Router on your local machine for development and personal use. |
|
|
| --- |
|
|
| ## π¦ Installation |
|
|
| Install 9Router globally via npm: |
|
|
| ```bash |
| npm install -g 9router |
| ``` |
|
|
| **Requirements:** |
| - Node.js 20 or higher |
| - npm 9 or higher |
|
|
| --- |
|
|
| ## π Starting the Server |
|
|
| Start 9Router with a single command: |
|
|
| ```bash |
| 9router |
| ``` |
|
|
| The dashboard will automatically open in your browser at `http://localhost:3000` |
|
|
| **Default Configuration:** |
| - **Dashboard**: `http://localhost:3000` |
| - **API Endpoint**: `http://localhost:20128/v1` |
| - **Data Directory**: `~/.9router` |
|
|
| --- |
|
|
| ## π§ Configuration |
|
|
| ### Custom Data Directory |
|
|
| Set a custom data directory using environment variable: |
|
|
| ```bash |
| DATA_DIR=/path/to/data 9router |
| ``` |
|
|
| ### Custom Port |
|
|
| The API port (20128) and dashboard port (3000) are configured in the application. To change them, you'll need to modify the source code or use environment variables if supported. |
|
|
| --- |
|
|
| ## π Stopping the Server |
|
|
| Press `Ctrl+C` in the terminal where 9Router is running. |
|
|
| ```bash |
| # In the terminal running 9router |
| ^C # Press Ctrl+C |
| ``` |
|
|
| The server will gracefully shut down and save all data. |
|
|
| --- |
|
|
| ## π Restarting the Server |
|
|
| Simply run the start command again: |
|
|
| ```bash |
| 9router |
| ``` |
|
|
| All your configurations, API keys, and combos are preserved in the data directory. |
|
|
| --- |
|
|
| ## π Updating 9Router |
|
|
| Update to the latest version: |
|
|
| ```bash |
| npm update -g 9router |
| ``` |
|
|
| Check your current version: |
|
|
| ```bash |
| npm list -g 9router |
| ``` |
|
|
| --- |
|
|
| ## π Troubleshooting |
|
|
| ### Port Already in Use |
|
|
| If port 20128 or 3000 is already in use: |
|
|
| ```bash |
| # Find process using the port (macOS/Linux) |
| lsof -i :20128 |
| lsof -i :3000 |
| |
| # Kill the process |
| kill -9 <PID> |
| ``` |
|
|
| ### Permission Errors |
|
|
| If you encounter permission errors during installation: |
|
|
| ```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 |
| ``` |
|
|
| ### Data Directory Issues |
|
|
| If the data directory is not accessible: |
|
|
| ```bash |
| # Check permissions |
| ls -la ~/.9router |
| |
| # Fix permissions |
| chmod 755 ~/.9router |
| ``` |
|
|
| --- |
|
|
| ## π Data Directory Structure |
|
|
| ``` |
| ~/.9router/ |
| βββ db.json # Main database (providers, combos, settings) |
| βββ logs/ # Application logs |
| βββ cache/ # Temporary cache files |
| ``` |
|
|
| **Backup Your Data:** |
|
|
| ```bash |
| # Backup |
| cp -r ~/.9router ~/.9router.backup |
| |
| # Restore |
| cp -r ~/.9router.backup ~/.9router |
| ``` |
|
|
| --- |
|
|
| ## π Next Steps |
|
|
| - [Connect Providers](/providers/subscription.md) |
| - [Create Combos](/features/combos.md) |
| - [Integrate with CLI Tools](/integration/cursor.md) |
|
|