Spaces:
Paused
Paused
| # Quick Start - Development | |
| Get Open Notebook running locally in 5 minutes. | |
| ## Prerequisites | |
| - **Python 3.11+** | |
| - **Git** | |
| - **uv** (package manager) - install with `curl -LsSf https://astral.sh/uv/install.sh | sh` | |
| - **Docker** (optional, for SurrealDB) | |
| ## 1. Clone the Repository (2 min) | |
| ```bash | |
| # Fork the repository on GitHub first, then clone your fork | |
| git clone https://github.com/YOUR_USERNAME/open-notebook.git | |
| cd open-notebook | |
| # Add upstream remote for updates | |
| git remote add upstream https://github.com/lfnovo/open-notebook.git | |
| ``` | |
| ## 2. Install Dependencies (2 min) | |
| ```bash | |
| # Install Python dependencies | |
| uv sync | |
| # Verify uv is working | |
| uv --version | |
| ``` | |
| ## 3. Start Services (1 min) | |
| In separate terminal windows: | |
| ```bash | |
| # Terminal 1: Start SurrealDB (database) | |
| make database | |
| # or: docker run -d --name surrealdb -p 8000:8000 surrealdb/surrealdb:v2 start --user root --pass password --bind 0.0.0.0:8000 memory | |
| # Terminal 2: Start API (backend on port 5055) | |
| make api | |
| # or: uv run --env-file .env uvicorn api.main:app --host 0.0.0.0 --port 5055 | |
| # Terminal 3: Start Frontend (UI on port 3000) | |
| cd frontend && npm run dev | |
| ``` | |
| ## 4. Verify Everything Works (instant) | |
| - **API Health**: http://localhost:5055/health β should return `{"status": "ok"}` | |
| - **API Docs**: http://localhost:5055/docs β interactive API documentation | |
| - **Frontend**: http://localhost:3000 β Open Notebook UI | |
| **All three show up?** β You're ready to develop! | |
| --- | |
| ## Next Steps | |
| - **First Issue?** Pick a [good first issue](https://github.com/lfnovo/open-notebook/issues?q=label%3A%22good+first+issue%22) | |
| - **Understand the code?** Read [Architecture Overview](architecture.md) | |
| - **Make changes?** Follow [Contributing Guide](contributing.md) | |
| - **Setup details?** See [Development Setup](development-setup.md) | |
| --- | |
| ## Troubleshooting | |
| ### "Port 5055 already in use" | |
| ```bash | |
| # Find what's using the port | |
| lsof -i :5055 | |
| # Use a different port | |
| uv run uvicorn api.main:app --port 5056 | |
| ``` | |
| ### "Can't connect to SurrealDB" | |
| ```bash | |
| # Check if SurrealDB is running | |
| docker ps | grep surrealdb | |
| # Restart it | |
| make database | |
| ``` | |
| ### "Python version is too old" | |
| ```bash | |
| # Check your Python version | |
| python --version # Should be 3.11+ | |
| # Use Python 3.11 specifically | |
| uv sync --python 3.11 | |
| ``` | |
| ### "npm: command not found" | |
| ```bash | |
| # Install Node.js from https://nodejs.org/ | |
| # Then install frontend dependencies | |
| cd frontend && npm install | |
| ``` | |
| --- | |
| ## Common Development Commands | |
| ```bash | |
| # Run tests | |
| uv run pytest | |
| # Format code | |
| make ruff | |
| # Type checking | |
| make lint | |
| # Run the full stack | |
| make start-all | |
| # View API documentation | |
| open http://localhost:5055/docs | |
| ``` | |
| --- | |
| Need more help? See [Development Setup](development-setup.md) for details or join our [Discord](https://discord.gg/37XJPXfz2w). | |