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?
options:
- v1-latest (Docker)
- v1-latest-single (Docker)
- v1-latest-single (Docker, deprecated)
- Latest from main branch
- Other (please specify in additional context)
validations:

View file

@ -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:

View file

@ -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

View file

@ -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.

View file

@ -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`

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.**
@ -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)

View file

@ -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

View file

@ -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

View file

@ -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.
---

View file

@ -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

View file

@ -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