Skip to content

Latest commit

 

History

History

README.md

Docker Compose Examples

This folder contains different docker-compose.yml configurations for various use cases.

📋 Available Examples

docker-compose-full-local.yml - 100% Local AI (No Cloud APIs) 🌟

Use this if: You want complete privacy with zero external API dependencies

Features:

  • Ollama: Local LLM and embeddings (mistral, llama, etc.)
  • Speaches: Local TTS (text-to-speech) and STT (speech-to-text)
  • Everything runs on your machine - nothing sent to cloud
  • Perfect for privacy, offline work, or air-gapped environments

Setup:

  1. Copy to your project folder as docker-compose.yml
  2. Run: docker compose up -d
  3. Download models (see file comments for commands)
  4. Configure all providers in UI (detailed instructions in file)

Requirements:

  • Minimum: 8GB RAM, 20GB disk, 4 CPU cores
  • Recommended: 16GB+ RAM, NVIDIA GPU (8GB+ VRAM), 50GB disk

Documentation:


docker-compose-speaches.yml - Local Speech Processing

Use this if: You want free TTS/STT but use cloud LLMs

Features:

  • Speaches: Local text-to-speech and speech-to-text
  • Use with cloud LLM providers (OpenAI, Anthropic, etc.)
  • Great for podcast generation without TTS API costs
  • Private audio processing

Setup:

  1. Copy to your project folder as docker-compose.yml
  2. Run: docker compose up -d
  3. Download speech models (see file for commands)
  4. Configure cloud LLM + local Speaches in UI

Documentation:


docker-compose-ollama.yml - Free Local AI with Ollama

Use this if: You want to run AI models locally without API costs

Features:

  • Includes Ollama service for local AI models
  • No external API keys needed (for LLM and embeddings)
  • Full privacy - everything runs on your machine
  • Great for testing or privacy-focused deployments

Setup:

  1. Copy to your project folder as docker-compose.yml
  2. Run: docker compose up -d
  3. Pull a model: docker exec open_notebook-ollama-1 ollama pull mistral
  4. Configure in UI: Settings → API Keys → Add Ollama (URL: http://ollama:11434)

Recommended models:

  • LLM: mistral, llama3.1, qwen2.5
  • Embeddings: nomic-embed-text, mxbai-embed-large

docker-compose-single.yml - Single Container (Deprecated)

Use this if: You need all services in one container (not recommended)

⚠️ Deprecated: We recommend using the standard multi-container setup (docker-compose.yml in root) for better reliability and easier troubleshooting.

Features:

  • Single container includes SurrealDB, API, and Frontend
  • Simpler for very constrained environments
  • Less flexible for debugging and scaling

docker-compose-dev.yml - Development Setup

Use this if: You're contributing to Open Notebook or developing custom features

Features:

  • Hot-reload for code changes
  • Separate backend and frontend services
  • Build from source instead of using pre-built images
  • Includes development tools and debugging

Prerequisites:

  • Python 3.11+
  • Node.js 18+
  • uv (Python package manager)

Setup: See Development Guide


🔄 How to Use These Examples

  1. Choose the example that fits your use case
  2. Copy the file to your project folder:
    cp examples/docker-compose-ollama.yml docker-compose.yml
  3. Edit the OPEN_NOTEBOOK_ENCRYPTION_KEY value
  4. Run the services:
    docker compose up -d

💡 Need a Custom Setup?

You can combine features from multiple examples. Common customizations:

Add Ollama to Standard Setup

Add this to the main docker-compose.yml:

  ollama:
    image: ollama/ollama:latest
    ports:
      - "11434:11434"
    volumes:
      - ollama_models:/root/.ollama
    restart: always

volumes:
  ollama_models:

Add Reverse Proxy

See Reverse Proxy Guide

Add Basic Auth

Add to open_notebook service environment:

- BASIC_AUTH_USERNAME=admin
- BASIC_AUTH_PASSWORD=your-secure-password

📚 Documentation


🆘 Need Help?