Skip to content

oneKn8/socratic

Repository files navigation

A private, multi-model, 100% local, full-featured alternative to Notebook LM

Socratic empowers you to:

  • Control your data - Keep your research private and secure
  • Choose your AI models - Support for 16+ providers including OpenAI, Anthropic, Ollama, LM Studio, and more
  • Organize multi-modal content - PDFs, videos, audio, web pages, and more
  • Generate professional podcasts - Advanced multi-speaker podcast generation
  • Search intelligently - Full-text and vector search across all your content
  • Chat with context - AI conversations powered by your research
  • Multi-language UI - English, Portuguese, Chinese (Simplified & Traditional), Japanese, and Russian support

Built With

Python Next.js React SurrealDB LangChain

Quick Start (2 Minutes)

Prerequisites

  • Docker Desktop installed
  • That's it! (API keys configured later in the UI)

Step 1: Get docker-compose.yml

Use the docker-compose.yml included in this repository. If you need to create one manually, copy this into a new file called docker-compose.yml:

services:
  surrealdb:
    image: surrealdb/surrealdb:v2
    command: start --log info --user root --pass root rocksdb:/mydata/mydatabase.db
    user: root
    ports:
      - "8000:8000"
    volumes:
      - ./surreal_data:/mydata
    restart: always

  socratic:
    image: socratic:latest
    ports:
      - "8502:8502"
      - "5055:5055"
    environment:
      - SOCRATIC_ENCRYPTION_KEY=change-me-to-a-secret-string
      - SURREAL_URL=ws://surrealdb:8000/rpc
      - SURREAL_USER=root
      - SURREAL_PASSWORD=root
      - SURREAL_NAMESPACE=socratic
      - SURREAL_DATABASE=socratic
    volumes:
      - ./notebook_data:/app/data
    depends_on:
      - surrealdb
    restart: always

Step 2: Set Your Encryption Key

Edit docker-compose.yml and change this line:

- SOCRATIC_ENCRYPTION_KEY=change-me-to-a-secret-string

to any secret value (e.g., my-super-secret-key-123)

Step 3: Start Services

docker compose up -d

Wait 15-20 seconds, then open: http://localhost:8502

Step 4: Configure AI Provider

  1. Go to Settings -> API Keys
  2. Click Add Credential
  3. Choose your provider (OpenAI, Anthropic, Google, etc.)
  4. Paste your API key and click Save
  5. Click Test Connection -> Discover Models -> Register Models

Done! You're ready to create your first notebook.

Need an API key? Get one from: OpenAI · Anthropic · Google · Groq (free tier)

Want free local AI? See examples/docker-compose-ollama.yml for Ollama setup


Provider Support Matrix

Provider LLM Support Embedding Support Speech-to-Text Text-to-Speech
OpenAI Yes Yes Yes Yes
Anthropic Yes No No No
Groq Yes No Yes No
Google (GenAI) Yes Yes No Yes
Vertex AI Yes Yes No Yes
Ollama Yes Yes No No
Perplexity Yes No No No
ElevenLabs No No Yes Yes
Azure OpenAI Yes Yes No No
Mistral Yes Yes No No
DeepSeek Yes No No No
Voyage No Yes No No
xAI Yes No No No
OpenRouter Yes No No No
OpenAI Compatible* Yes No No No

*Supports LM Studio and any OpenAI-compatible endpoint

Key Features

Core Capabilities

  • Privacy-First: Your data stays under your control - no cloud dependencies
  • Multi-Notebook Organization: Manage multiple research projects seamlessly
  • Universal Content Support: PDFs, videos, audio, web pages, Office docs, and more
  • Multi-Model AI Support: 16+ providers including OpenAI, Anthropic, Ollama, Google, LM Studio, and more
  • Professional Podcast Generation: Advanced multi-speaker podcasts with Episode Profiles
  • Intelligent Search: Full-text and vector search across all your content
  • Context-Aware Chat: AI conversations powered by your research materials
  • AI-Assisted Notes: Generate insights or write notes manually

Advanced Features

  • Reasoning Model Support: Full support for thinking models like DeepSeek-R1 and Qwen3
  • Content Transformations: Powerful customizable actions to summarize and extract insights
  • Comprehensive REST API: Full programmatic access for custom integrations
  • Optional Password Protection: Secure public deployments with authentication
  • Fine-Grained Context Control: Choose exactly what to share with AI models
  • Citations: Get answers with proper source citations

License

MIT licensed. See the LICENSE file for details.

About

A private, multi-model, full-featured alternative to Notebook LM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors