diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 1da9bd5..97f4a94 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -58,7 +58,7 @@ body: description: Which version are you using? options: - v1-latest (Docker) - - v1-latest-single (Docker) + - v1-latest-single (Docker, deprecated) - Latest from main branch - Other (please specify in additional context) validations: diff --git a/.github/ISSUE_TEMPLATE/installation_issue.yml b/.github/ISSUE_TEMPLATE/installation_issue.yml index 155e2ab..3ee32f3 100644 --- a/.github/ISSUE_TEMPLATE/installation_issue.yml +++ b/.github/ISSUE_TEMPLATE/installation_issue.yml @@ -30,8 +30,8 @@ body: label: Installation Method description: How are you trying to install Open Notebook? options: - - Docker (single container - v1-latest-single) - - Docker (multi-container - docker-compose) + - Docker (docker-compose - recommended) + - Docker (single container - v1-latest-single, deprecated) - Local development (make start-all) - Other (please specify below) validations: diff --git a/docs/0-START-HERE/quick-start-local.md b/docs/0-START-HERE/quick-start-local.md index 5abd336..3a5c9a0 100644 --- a/docs/0-START-HERE/quick-start-local.md +++ b/docs/0-START-HERE/quick-start-local.md @@ -38,7 +38,7 @@ services: - ./surreal_data:/mydata open_notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always ports: - "8502:8502" # Web UI (React frontend) @@ -55,7 +55,6 @@ services: - SURREAL_DATABASE=open_notebook volumes: - ./notebook_data:/app/data - - ./surreal_data:/mydata depends_on: - surrealdb restart: always diff --git a/docs/1-INSTALLATION/docker-compose.md b/docs/1-INSTALLATION/docker-compose.md index c438c72..dd45dc5 100644 --- a/docs/1-INSTALLATION/docker-compose.md +++ b/docs/1-INSTALLATION/docker-compose.md @@ -327,7 +327,7 @@ docker compose up -d Looking for different configurations? Check out our [examples/](../../examples/) folder: - **[Ollama Setup](../../examples/docker-compose-ollama.yml)** - Run local AI models (free, private) -- **[Single Container](../../examples/docker-compose-single.yml)** - All-in-one container (deprecated, not recommended) +- **[Single Container](../../examples/docker-compose-single.yml)** - All-in-one container (deprecated, will be removed in v2) - **[Development](../../examples/docker-compose-dev.yml)** - For contributors and developers Each example includes detailed comments and usage instructions. diff --git a/docs/1-INSTALLATION/index.md b/docs/1-INSTALLATION/index.md index 1267f21..d74a142 100644 --- a/docs/1-INSTALLATION/index.md +++ b/docs/1-INSTALLATION/index.md @@ -14,13 +14,10 @@ Choose your installation route based on your setup and use case. --- -### 🏠 I want everything in one container (Simplified) -**→ [Single Container](single-container.md)** - All-in-one for simple deployments -- ✅ Minimal configuration -- ✅ Lower resource usage -- ✅ Good for shared hosting -- ✅ Works on PikaPods, Railway, etc. -- ⏱️ 3 minutes to running +### 🏠 I want everything in one container (Deprecated) +**→ [Single Container](single-container.md)** - Deprecated, will be removed in v2 +- ⚠️ **Deprecated** — please use Docker Compose instead +- Still supported until v2 release --- @@ -80,7 +77,7 @@ Choose your installation route based on your setup and use case. **Already know which way to go?** Pick your installation path: - [Docker Compose](docker-compose.md) - **Most users** -- [Single Container](single-container.md) - **Shared hosting** +- [Single Container](single-container.md) - **Deprecated** - [From Source](from-source.md) - **Developers** > **Privacy-first?** Any installation method works with Ollama for 100% local AI. See [Local Quick Start](../0-START-HERE/quick-start-local.md). @@ -102,7 +99,7 @@ Before installing, you'll need: ### For Docker Users 1. Install [Docker Desktop](https://docker.com/products/docker-desktop) -2. Choose: [Docker Compose](docker-compose.md) or [Single Container](single-container.md) +2. Follow [Docker Compose](docker-compose.md) installation 3. Follow the step-by-step guide 4. Access at `http://localhost:8502` diff --git a/docs/1-INSTALLATION/single-container.md b/docs/1-INSTALLATION/single-container.md index 466ad86..70ee6bf 100644 --- a/docs/1-INSTALLATION/single-container.md +++ b/docs/1-INSTALLATION/single-container.md @@ -1,4 +1,6 @@ -# Single Container Installation +# Single Container Installation (Deprecated) + +> **Deprecation Notice:** The single-container image (`v1-latest-single`) is **deprecated** and will be removed in v2. Please migrate to [Docker Compose](docker-compose.md), which is the recommended installation method for all users. The single-container image will continue to receive updates until v2 is released, but no new features or documentation will target it. All-in-one container setup. **Simpler than Docker Compose, but less flexible.** @@ -6,8 +8,6 @@ All-in-one container setup. **Simpler than Docker Compose, but less flexible.** > **Alternative Registry:** Images available on both Docker Hub (`lfnovo/open_notebook:v1-latest-single`) and GitHub Container Registry (`ghcr.io/lfnovo/open-notebook:v1-latest-single`). -> **Note**: While this is a simple way to get started, we recommend [Docker Compose](docker-compose.md) for most users. Docker Compose is more flexible and will make it easier if we add more services to the setup in the future. This single-container option is best for platforms that specifically require it (PikaPods, Railway, etc.). - ## Prerequisites - Docker installed (for local testing) diff --git a/docs/5-CONFIGURATION/ollama.md b/docs/5-CONFIGURATION/ollama.md index 15904b1..58e9fa9 100644 --- a/docs/5-CONFIGURATION/ollama.md +++ b/docs/5-CONFIGURATION/ollama.md @@ -87,7 +87,7 @@ On Linux, `host.docker.internal` doesn't resolve automatically like it does on m ```yaml services: open_notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest # ... other settings ... extra_hosts: - "host.docker.internal:host-gateway" @@ -120,7 +120,7 @@ When both Open Notebook and Ollama run in the same Docker Compose stack: version: '3.8' services: open-notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always ports: - "8502:8502" @@ -427,7 +427,7 @@ If you see `Name or service not known` errors on Linux, add `extra_hosts` to you ```yaml services: open_notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest extra_hosts: - "host.docker.internal:host-gateway" environment: @@ -441,7 +441,7 @@ This maps `host.docker.internal` to your host machine's IP. macOS/Windows Docker **2. Host networking on Linux (alternative):** ```bash # Use host networking if host.docker.internal doesn't work -docker run --network host lfnovo/open_notebook:v1-latest-single +docker run --network host lfnovo/open_notebook:v1-latest # for quick testing only ``` Then in **Settings → API Keys**, use base URL: `http://localhost:11434` @@ -570,7 +570,7 @@ export ESPERANTO_SSL_VERIFY=false ```yaml services: open-notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always environment: - OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string diff --git a/docs/5-CONFIGURATION/openai-compatible.md b/docs/5-CONFIGURATION/openai-compatible.md index 220a216..508ecbc 100644 --- a/docs/5-CONFIGURATION/openai-compatible.md +++ b/docs/5-CONFIGURATION/openai-compatible.md @@ -169,7 +169,7 @@ services: command: --api --listen open-notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always depends_on: - text-gen @@ -213,7 +213,7 @@ services: capabilities: [gpu] open-notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always depends_on: - vllm diff --git a/docs/5-CONFIGURATION/reverse-proxy.md b/docs/5-CONFIGURATION/reverse-proxy.md index da5c4ea..dcc3f80 100644 --- a/docs/5-CONFIGURATION/reverse-proxy.md +++ b/docs/5-CONFIGURATION/reverse-proxy.md @@ -77,7 +77,7 @@ Caddy handles HTTPS automatically. The timeout settings ensure long-running oper ```yaml services: open-notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always environment: - API_URL=https://notebook.example.com @@ -106,7 +106,7 @@ serversTransport: ### Coolify -1. Create new service with `lfnovo/open_notebook:v1-latest-single` +1. Create new service using [Docker Compose](../1-INSTALLATION/docker-compose.md) 2. Set port to **8502** 3. Add environment: `API_URL=https://your-domain.com` 4. Enable HTTPS in Coolify @@ -162,7 +162,7 @@ When `API_URL` is not set, the Next.js frontend: ```yaml services: open-notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always container_name: open-notebook environment: @@ -306,7 +306,7 @@ API_URL=http://192.168.1.100:5055 ```yaml services: open-notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always environment: - API_URL=http://192.168.1.100:5055 @@ -336,7 +336,7 @@ Host the API and frontend on different subdomains: ```yaml services: open-notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always environment: - API_URL=https://api.notebook.example.com @@ -465,7 +465,7 @@ http { } ``` -**Note**: Most users should use the single-container approach (`v1-latest-single`). Multi-container is only needed for custom scaling or isolation requirements. +**Note**: Most users should use the [Docker Compose](../1-INSTALLATION/docker-compose.md) approach (`v1-latest`). Multi-container with separate nginx is only needed for custom scaling or isolation requirements. --- diff --git a/docs/5-CONFIGURATION/security.md b/docs/5-CONFIGURATION/security.md index b7ffc22..d374fce 100644 --- a/docs/5-CONFIGURATION/security.md +++ b/docs/5-CONFIGURATION/security.md @@ -85,7 +85,7 @@ environment: # docker-compose.yml services: open_notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always environment: - OPEN_NOTEBOOK_ENCRYPTION_KEY=your-secret-encryption-key @@ -247,7 +247,7 @@ async function getNotebooks() { ```yaml services: open_notebook: - image: lfnovo/open_notebook:v1-latest-single + image: lfnovo/open_notebook:v1-latest pull_policy: always ports: - "127.0.0.1:8502:8502" # Bind to localhost only diff --git a/docs/index.md b/docs/index.md index a31861b..942c251 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,7 +17,7 @@ Welcome to Open Notebook - a privacy-focused AI research assistant. This documen - Multiple installation routes - Docker Compose (recommended) - From source (developers) -- Single container (shared hosting) +- ~~Single container~~ (deprecated, see Docker Compose) ### I want to understand how it works → Read this: **[2-CORE-CONCEPTS](2-CORE-CONCEPTS/index.md)** @@ -77,7 +77,7 @@ Welcome to Open Notebook - a privacy-focused AI research assistant. This documen **[1-INSTALLATION](1-INSTALLATION/index.md)** — Getting it running - Multiple installation routes -- Docker, single-container, from-source +- Docker Compose (recommended), from-source - Requirements and setup **[2-CORE-CONCEPTS](2-CORE-CONCEPTS/index.md)** — Understanding the system