# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Open Notebook
spec:
    description: |
        Open-source, privacy-focused alternative to Google's NotebookLM. Self-hosted AI research assistant supporting 16+ AI providers, multi-modal content (PDF, audio, video, web), semantic search, contextual chat, and multi-speaker podcast generation.
    coverImage: https://raw.githubusercontent.com/lfnovo/open-notebook/main/docs/assets/hero.svg
    icon: https://raw.githubusercontent.com/lfnovo/open-notebook/main/frontend/public/logo.svg
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access the Open Notebook web UI
    tags:
        - AI
        - Research
        - Productivity
    readme: |
        # Open Notebook

        A private, multi-model, fully self-hosted alternative to Google's NotebookLM.

        ## Features

        - **Multi-modal content** — Upload and process PDFs, audio, video, web pages, and more
        - **16+ AI providers** — OpenAI, Anthropic, Google, Groq, Ollama, LM Studio, Mistral, DeepSeek, xAI, and more
        - **Semantic search** — Full-text and vector search across all your content
        - **Contextual AI chat** — Conversations grounded in your research sources
        - **Podcast generation** — 1–4 speakers with custom profiles and full script control
        - **Custom transformations** — Built-in and user-defined content processing pipelines
        - **Full REST API** — Automate any workflow programmatically
        - **Privacy first** — Your data stays on your server, fully encrypted

        ## Getting Started

        1. Open the domain assigned after deployment
        2. Go to **Settings → API Keys** and add at least one AI provider credential
        3. Create a notebook, add sources, and start researching

        ## Links

        - [Documentation](https://open-notebook.ai)
        - [GitHub](https://github.com/lfnovo/open-notebook)
        - [Discord](https://discord.gg/37XJPXfz2w)
    services:
        - name: surrealdb
          icon: https://cdn.zeabur.com/database/surreal.svg
          template: PREBUILT
          spec:
            id: surrealdb
            source:
                image: surrealdb/surrealdb:v2
                args:
                    - start
                    - surrealkv://data/srdb.db
            ports:
                - id: database
                  port: 8000
                  type: TCP
            volumes:
                - id: data
                  dir: /data
            env:
                SURREAL_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                SURREAL_PASS:
                    default: ${PASSWORD}
                SURREAL_PASSWORD:
                    default: ${SURREAL_PASS}
                    expose: true
                SURREAL_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                SURREAL_USER:
                    default: root
                SURREAL_USERNAME:
                    default: ${SURREAL_USER}
                    expose: true
        - name: open-notebook
          icon: https://raw.githubusercontent.com/lfnovo/open-notebook/main/frontend/public/logo.svg
          template: PREBUILT_V2
          spec:
            id: open-notebook
            source:
                image: lfnovo/open_notebook:v1-latest
            ports:
                - id: web
                  port: 8502
                  type: HTTP
            volumes:
                - id: data
                  dir: /app/data
            env:
                API_URL:
                    default: https://${PUBLIC_DOMAIN}.zeabur.app:443
                OPEN_NOTEBOOK_ENCRYPTION_KEY:
                    default: ${PASSWORD}
                SURREAL_DATABASE:
                    default: open_notebook
                SURREAL_NAMESPACE:
                    default: open_notebook
                SURREAL_URL:
                    default: ws://${SURREAL_HOST}:${SURREAL_PORT}/rpc
                SURREAL_USER:
                    default: ${SURREAL_USERNAME}
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            Alternativa de codigo abierto a Google NotebookLM centrada en la privacidad. Asistente de investigacion con IA autoalojado, compatible con mas de 16 proveedores de IA, contenido multimodal (PDF, audio, video, web), busqueda semantica, chat contextual y generacion de podcasts con multiples locutores.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder a la interfaz web de Open Notebook
        readme: |
            # Open Notebook

            Alternativa privada, multimodelo y completamente autoalojada a Google NotebookLM.

            ## Caracteristicas

            - **Contenido multimodal** — Sube y procesa PDFs, audio, video, paginas web y mas
            - **Mas de 16 proveedores de IA** — OpenAI, Anthropic, Google, Groq, Ollama, LM Studio, Mistral, DeepSeek, xAI y mas
            - **Busqueda semantica** — Busqueda de texto completo y vectorial en todo tu contenido
            - **Chat contextual con IA** — Conversaciones basadas en tus fuentes de investigacion
            - **Generacion de podcasts** — 1 a 4 locutores con perfiles personalizados y control total del guion
            - **Transformaciones personalizadas** — Pipelines de procesamiento integrados y definidos por el usuario
            - **API REST completa** — Automatiza cualquier flujo de trabajo de forma programatica
            - **Privacidad ante todo** — Tus datos permanecen en tu servidor, completamente cifrados

            ## Primeros pasos

            1. Abre el dominio asignado tras el despliegue
            2. Ve a **Configuracion -> Claves API** y agrega al menos una credencial de proveedor de IA
            3. Crea un cuaderno, agrega fuentes y comienza a investigar

            ## Enlaces

            - [Documentacion](https://open-notebook.ai)
            - [GitHub](https://github.com/lfnovo/open-notebook)
            - [Discord](https://discord.gg/37XJPXfz2w)
    id-ID:
        description: |
            Alternatif open-source Google NotebookLM yang berfokus pada privasi. Asisten riset AI self-hosted dengan dukungan 16+ penyedia AI, konten multimodal (PDF, audio, video, web), pencarian semantik, chat kontekstual, dan pembuatan podcast multi-pembicara.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses antarmuka web Open Notebook
        readme: |
            # Open Notebook

            Alternatif privat, multi-model, dan sepenuhnya self-hosted untuk Google NotebookLM.

            ## Fitur

            - **Konten multimodal** — Unggah dan proses PDF, audio, video, halaman web, dan lainnya
            - **16+ penyedia AI** — OpenAI, Anthropic, Google, Groq, Ollama, LM Studio, Mistral, DeepSeek, xAI, dan lainnya
            - **Pencarian semantik** — Pencarian teks lengkap dan vektor di seluruh konten Anda
            - **Chat AI kontekstual** — Percakapan berdasarkan sumber riset Anda
            - **Pembuatan podcast** — 1–4 pembicara dengan profil kustom dan kontrol skrip penuh
            - **Transformasi kustom** — Pipeline pemrosesan bawaan dan buatan pengguna
            - **REST API lengkap** — Otomatisasi alur kerja apa pun secara programatis
            - **Privasi utama** — Data Anda tetap di server Anda, terenkripsi sepenuhnya

            ## Memulai

            1. Buka domain yang ditetapkan setelah deploy
            2. Buka **Pengaturan -> Kunci API** dan tambahkan minimal satu kredensial penyedia AI
            3. Buat notebook, tambahkan sumber, dan mulai riset

            ## Tautan

            - [Dokumentasi](https://open-notebook.ai)
            - [GitHub](https://github.com/lfnovo/open-notebook)
            - [Discord](https://discord.gg/37XJPXfz2w)
    ja-JP:
        description: |
            オープンソースでプライバシー重視の Google NotebookLM 代替ツール。16 以上の AI プロバイダー、マルチモーダルコンテンツ（PDF・音声・動画・Web）、セマンティック検索、コンテキストチャット、マルチスピーカーポッドキャスト生成に対応したセルフホスト AI リサーチアシスタント。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: Open Notebook Web UI にアクセスするためのドメイン
        readme: |
            # Open Notebook

            プライベート・マルチモデル・完全セルフホストの Google NotebookLM 代替ツール。

            ## 機能

            - **マルチモーダルコンテンツ** — PDF、音声、動画、Web ページなどをアップロード・処理
            - **16 以上の AI プロバイダー** — OpenAI、Anthropic、Google、Groq、Ollama、LM Studio、Mistral、DeepSeek、xAI など
            - **セマンティック検索** — 全コンテンツにわたる全文検索とベクトル検索
            - **コンテキスト AI チャット** — リサーチソースに基づく会話
            - **ポッドキャスト生成** — 1〜4 名のスピーカー、カスタムプロフィールとスクリプト制御
            - **カスタム変換** — 組み込みおよびユーザー定義のコンテンツ処理パイプライン
            - **フル REST API** — あらゆるワークフローをプログラムで自動化
            - **プライバシー最優先** — データは自分のサーバーに完全暗号化で保管

            ## はじめに

            1. デプロイ後に割り当てられたドメインを開く
            2. **設定 → API キー** から AI プロバイダーの認証情報を追加
            3. ノートブックを作成し、ソースを追加してリサーチを開始

            ## リンク

            - [ドキュメント](https://open-notebook.ai)
            - [GitHub](https://github.com/lfnovo/open-notebook)
            - [Discord](https://discord.gg/37XJPXfz2w)
    zh-CN:
        description: |
            开源、注重隐私的 Google NotebookLM 替代方案。自托管 AI 研究助手，支持 16+ AI 供应商、多模态内容（PDF、音频、视频、网页）、语义搜索、上下文对话及多人播客生成。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 Open Notebook 网页界面的域名
        readme: |
            # Open Notebook

            私有、多模型、完全自托管的 Google NotebookLM 替代方案。

            ## 功能特色

            - **多模态内容** — 上传并处理 PDF、音频、视频、网页等
            - **16+ AI 供应商** — OpenAI、Anthropic、Google、Groq、Ollama、LM Studio、Mistral、DeepSeek、xAI 等
            - **语义搜索** — 全文与向量搜索，涵盖所有内容
            - **上下文 AI 对话** — 基于研究资料的智能对话
            - **播客生成** — 1–4 位讲者，可自定义角色与完整脚本控制
            - **自定义转换** — 内置及用户自定义的内容处理流程
            - **完整 REST API** — 程序化自动化任何工作流程
            - **隐私优先** — 数据留在您的服务器上，完全加密

            ## 开始使用

            1. 打开部署后分配的域名
            2. 前往 **设置 → API 密钥**，添加至少一个 AI 供应商凭证
            3. 创建笔记本、添加来源，开始研究

            ## 链接

            - [官方文档](https://open-notebook.ai)
            - [GitHub](https://github.com/lfnovo/open-notebook)
            - [Discord](https://discord.gg/37XJPXfz2w)
    zh-TW:
        description: |
            開源、注重隱私的 Google NotebookLM 替代方案。自架 AI 研究助手，支援 16+ AI 供應商、多模態內容（PDF、音訊、影片、網頁）、語意搜尋、上下文對話及多人 Podcast 生成。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 Open Notebook 網頁介面的網域
        readme: |
            # Open Notebook

            私有、多模型、完全自架的 Google NotebookLM 替代方案。

            ## 功能特色

            - **多模態內容** — 上傳並處理 PDF、音訊、影片、網頁等
            - **16+ AI 供應商** — OpenAI、Anthropic、Google、Groq、Ollama、LM Studio、Mistral、DeepSeek、xAI 等
            - **語意搜尋** — 全文與向量搜尋，涵蓋所有內容
            - **上下文 AI 對話** — 基於研究資料的智慧對話
            - **Podcast 生成** — 1–4 位講者，可自訂角色與完整腳本控制
            - **自訂轉換** — 內建及使用者自訂的內容處理流程
            - **完整 REST API** — 程式化自動化任何工作流程
            - **隱私優先** — 資料留在您的伺服器上，完全加密

            ## 開始使用

            1. 開啟部署後分配的網域
            2. 前往 **設定 → API 金鑰**，新增至少一個 AI 供應商憑證
            3. 建立筆記本、新增來源，開始研究

            ## 連結

            - [官方文件](https://open-notebook.ai)
            - [GitHub](https://github.com/lfnovo/open-notebook)
            - [Discord](https://discord.gg/37XJPXfz2w)
