Back to Open Notebook

Single Container Installation (Deprecated)

docs/1-INSTALLATION/single-container.md

1.11.05.5 KB
Original Source

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

Best for: PikaPods, Railway, shared hosting, minimal setups

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

Prerequisites

  • Docker installed (for local testing)
  • API key from OpenAI, Anthropic, or another provider
  • 5 minutes

Quick Setup

For Local Testing (Docker)

yaml
# docker-compose.yml
services:
  open_notebook:
    image: lfnovo/open_notebook:v1-latest-single
    pull_policy: always
    ports:
      - "8502:8502"  # Web UI (React frontend)
      - "5055:5055"  # API
    environment:
      - OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string
      - SURREAL_URL=ws://localhost:8000/rpc
      - SURREAL_USER=root
      - SURREAL_PASSWORD=root
      - SURREAL_NAMESPACE=open_notebook
      - SURREAL_DATABASE=open_notebook
    volumes:
      - ./data:/app/data
    restart: always

Run:

bash
docker compose up -d

Access: http://localhost:8502

Then configure your AI provider:

  1. Go to SettingsAPI Keys
  2. Click Add Credential → Select your provider → Paste API key
  3. Click Save, then Test Connection
  4. Click Discover ModelsRegister Models

For Cloud Platforms

PikaPods:

  1. Click "New App"
  2. Search "Open Notebook"
  3. Set environment variables (at minimum: OPEN_NOTEBOOK_ENCRYPTION_KEY)
  4. Click "Deploy"
  5. Open the app → Go to Settings → API Keys to configure your AI provider

Railway:

  1. Create new project
  2. Add lfnovo/open_notebook:v1-latest-single
  3. Set environment variables (at minimum: OPEN_NOTEBOOK_ENCRYPTION_KEY)
  4. Deploy
  5. Open the app → Go to Settings → API Keys to configure your AI provider

Render:

  1. Create new Web Service
  2. Use Docker image: lfnovo/open_notebook:v1-latest-single
  3. Set environment variables in dashboard (at minimum: OPEN_NOTEBOOK_ENCRYPTION_KEY)
  4. Configure persistent disk for /app/data and /mydata

DigitalOcean App Platform:

  1. Create new app from Docker Hub
  2. Use image: lfnovo/open_notebook:v1-latest-single
  3. Set port to 8502
  4. Add environment variables (at minimum: OPEN_NOTEBOOK_ENCRYPTION_KEY)
  5. Configure persistent storage

Heroku:

bash
# Using heroku.yml
heroku container:push web
heroku container:release web
heroku config:set OPEN_NOTEBOOK_ENCRYPTION_KEY=your-secret-key

Coolify:

  1. Add new service → Docker Image
  2. Image: lfnovo/open_notebook:v1-latest-single
  3. Port: 8502
  4. Add environment variables (at minimum: OPEN_NOTEBOOK_ENCRYPTION_KEY)
  5. Enable persistent volumes
  6. Coolify handles HTTPS automatically

EasyPanel:

Open Notebook ships an EasyPanel template at examples/easypanel/. Unlike the single-image options above, the template provisions two services — the Open Notebook app and a dedicated SurrealDB instance — and generates the database password, encryption key, and (optionally) the app password for you.

  • One-click (recommended): once the template is published to the official EasyPanel template gallery, create a new service from "Open Notebook", set an app password (or leave it blank to auto-generate one), and deploy.
  • Manual: copy examples/easypanel/ into templates/open-notebook in a checkout of easypanel-io/templates, run the templates playground (npm run dev), and create the template from the generated JSON in your EasyPanel instance.

After deployment, open the EasyPanel domain and configure your AI provider in Settings → API Keys. See examples/easypanel/README.md for details.


Environment Variables

VariablePurposeExample
OPEN_NOTEBOOK_ENCRYPTION_KEYEncryption key for credentials (required)my-secret-key
SURREAL_URLDatabasews://localhost:8000/rpc
SURREAL_USERDB userroot
SURREAL_PASSWORDDB passwordroot
SURREAL_NAMESPACEDB namespaceopen_notebook
SURREAL_DATABASEDB nameopen_notebook
API_URLExternal URL (for remote access)https://myapp.example.com

AI provider API keys are configured via the Settings → API Keys UI after deployment.


Limitations vs Docker Compose

FeatureSingle ContainerDocker Compose
Setup time2 minutes5 minutes
ComplexityMinimalModerate
ServicesAll bundledSeparated
ScalabilityLimitedExcellent
Memory usage~800MB~1.2GB

Next Steps

Same as Docker Compose setup - just access via http://localhost:8502 (local) or your platform's URL (cloud).

  1. Go to Settings → API Keys to add your AI provider credential
  2. Test Connection and Discover Models

See Docker Compose for full post-install guide.