docs: deprecate single-container image in favor of Docker Compose

The v1-single image is being phased out ahead of v2. This adds
deprecation notices to the single-container docs and replaces
v1-latest-single image references with v1-latest across all
configuration guides and issue templates.

Closes #498
This commit is contained in:
Luis Novo 2026-04-06 08:10:32 -03:00
parent c36782e5c5
commit 309004aef4
11 changed files with 31 additions and 35 deletions

View file

@ -58,7 +58,7 @@ body:
description: Which version are you using? description: Which version are you using?
options: options:
- v1-latest (Docker) - v1-latest (Docker)
- v1-latest-single (Docker) - v1-latest-single (Docker, deprecated)
- Latest from main branch - Latest from main branch
- Other (please specify in additional context) - Other (please specify in additional context)
validations: validations:

View file

@ -30,8 +30,8 @@ body:
label: Installation Method label: Installation Method
description: How are you trying to install Open Notebook? description: How are you trying to install Open Notebook?
options: options:
- Docker (single container - v1-latest-single) - Docker (docker-compose - recommended)
- Docker (multi-container - docker-compose) - Docker (single container - v1-latest-single, deprecated)
- Local development (make start-all) - Local development (make start-all)
- Other (please specify below) - Other (please specify below)
validations: validations:

View file

@ -38,7 +38,7 @@ services:
- ./surreal_data:/mydata - ./surreal_data:/mydata
open_notebook: open_notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
ports: ports:
- "8502:8502" # Web UI (React frontend) - "8502:8502" # Web UI (React frontend)
@ -55,7 +55,6 @@ services:
- SURREAL_DATABASE=open_notebook - SURREAL_DATABASE=open_notebook
volumes: volumes:
- ./notebook_data:/app/data - ./notebook_data:/app/data
- ./surreal_data:/mydata
depends_on: depends_on:
- surrealdb - surrealdb
restart: always restart: always

View file

@ -327,7 +327,7 @@ docker compose up -d
Looking for different configurations? Check out our [examples/](../../examples/) folder: Looking for different configurations? Check out our [examples/](../../examples/) folder:
- **[Ollama Setup](../../examples/docker-compose-ollama.yml)** - Run local AI models (free, private) - **[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 - **[Development](../../examples/docker-compose-dev.yml)** - For contributors and developers
Each example includes detailed comments and usage instructions. Each example includes detailed comments and usage instructions.

View file

@ -14,13 +14,10 @@ Choose your installation route based on your setup and use case.
--- ---
### 🏠 I want everything in one container (Simplified) ### 🏠 I want everything in one container (Deprecated)
**→ [Single Container](single-container.md)** - All-in-one for simple deployments **→ [Single Container](single-container.md)** - Deprecated, will be removed in v2
- ✅ Minimal configuration - ⚠️ **Deprecated** — please use Docker Compose instead
- ✅ Lower resource usage - Still supported until v2 release
- ✅ Good for shared hosting
- ✅ Works on PikaPods, Railway, etc.
- ⏱️ 3 minutes to running
--- ---
@ -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: **Already know which way to go?** Pick your installation path:
- [Docker Compose](docker-compose.md) - **Most users** - [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** - [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). > **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 ### For Docker Users
1. Install [Docker Desktop](https://docker.com/products/docker-desktop) 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 3. Follow the step-by-step guide
4. Access at `http://localhost:8502` 4. Access at `http://localhost:8502`

View file

@ -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.** 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`). > **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 ## Prerequisites
- Docker installed (for local testing) - Docker installed (for local testing)

View file

@ -87,7 +87,7 @@ On Linux, `host.docker.internal` doesn't resolve automatically like it does on m
```yaml ```yaml
services: services:
open_notebook: open_notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
# ... other settings ... # ... other settings ...
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - "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' version: '3.8'
services: services:
open-notebook: open-notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
ports: ports:
- "8502:8502" - "8502:8502"
@ -427,7 +427,7 @@ If you see `Name or service not known` errors on Linux, add `extra_hosts` to you
```yaml ```yaml
services: services:
open_notebook: open_notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"
environment: 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):** **2. Host networking on Linux (alternative):**
```bash ```bash
# Use host networking if host.docker.internal doesn't work # 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` Then in **Settings → API Keys**, use base URL: `http://localhost:11434`
@ -570,7 +570,7 @@ export ESPERANTO_SSL_VERIFY=false
```yaml ```yaml
services: services:
open-notebook: open-notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
environment: environment:
- OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string - OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string

View file

@ -169,7 +169,7 @@ services:
command: --api --listen command: --api --listen
open-notebook: open-notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
depends_on: depends_on:
- text-gen - text-gen
@ -213,7 +213,7 @@ services:
capabilities: [gpu] capabilities: [gpu]
open-notebook: open-notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
depends_on: depends_on:
- vllm - vllm

View file

@ -77,7 +77,7 @@ Caddy handles HTTPS automatically. The timeout settings ensure long-running oper
```yaml ```yaml
services: services:
open-notebook: open-notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
environment: environment:
- API_URL=https://notebook.example.com - API_URL=https://notebook.example.com
@ -106,7 +106,7 @@ serversTransport:
### Coolify ### 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** 2. Set port to **8502**
3. Add environment: `API_URL=https://your-domain.com` 3. Add environment: `API_URL=https://your-domain.com`
4. Enable HTTPS in Coolify 4. Enable HTTPS in Coolify
@ -162,7 +162,7 @@ When `API_URL` is not set, the Next.js frontend:
```yaml ```yaml
services: services:
open-notebook: open-notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
container_name: open-notebook container_name: open-notebook
environment: environment:
@ -306,7 +306,7 @@ API_URL=http://192.168.1.100:5055
```yaml ```yaml
services: services:
open-notebook: open-notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
environment: environment:
- API_URL=http://192.168.1.100:5055 - API_URL=http://192.168.1.100:5055
@ -336,7 +336,7 @@ Host the API and frontend on different subdomains:
```yaml ```yaml
services: services:
open-notebook: open-notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
environment: environment:
- API_URL=https://api.notebook.example.com - 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.
--- ---

View file

@ -85,7 +85,7 @@ environment:
# docker-compose.yml # docker-compose.yml
services: services:
open_notebook: open_notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
environment: environment:
- OPEN_NOTEBOOK_ENCRYPTION_KEY=your-secret-encryption-key - OPEN_NOTEBOOK_ENCRYPTION_KEY=your-secret-encryption-key
@ -247,7 +247,7 @@ async function getNotebooks() {
```yaml ```yaml
services: services:
open_notebook: open_notebook:
image: lfnovo/open_notebook:v1-latest-single image: lfnovo/open_notebook:v1-latest
pull_policy: always pull_policy: always
ports: ports:
- "127.0.0.1:8502:8502" # Bind to localhost only - "127.0.0.1:8502:8502" # Bind to localhost only

View file

@ -17,7 +17,7 @@ Welcome to Open Notebook - a privacy-focused AI research assistant. This documen
- Multiple installation routes - Multiple installation routes
- Docker Compose (recommended) - Docker Compose (recommended)
- From source (developers) - From source (developers)
- Single container (shared hosting) - ~~Single container~~ (deprecated, see Docker Compose)
### I want to understand how it works ### I want to understand how it works
→ Read this: **[2-CORE-CONCEPTS](2-CORE-CONCEPTS/index.md)** → 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 **[1-INSTALLATION](1-INSTALLATION/index.md)** — Getting it running
- Multiple installation routes - Multiple installation routes
- Docker, single-container, from-source - Docker Compose (recommended), from-source
- Requirements and setup - Requirements and setup
**[2-CORE-CONCEPTS](2-CORE-CONCEPTS/index.md)** — Understanding the system **[2-CORE-CONCEPTS](2-CORE-CONCEPTS/index.md)** — Understanding the system