MENU

DGX Sparkにopen notebookを導入

Google notebookLMを使ったことがあるが、APIがないためプログラムから自動処理ができないのが残念。

そこで同様の機能があるらしいopen notebookを導入してみたメモ。

  1. open notebook https://github.com/lfnovo/open-notebook/blob/main/docs/0-START-HERE/quick-start-local.md を見ながら以下を実行した。Step2の赤字部分を変更した。
    • Prerequisites
      • Docker Desktop installed これは必要
      • Local LLM – Choose one: Ollama を使うことにする。
    • Step 1: Choose Your Setup
      • Local Machine (Same Computer) で実施することにする。
    • Step 2: Create Configuration (1 min)
      • 適当なフォルダに次のdocker-compose.ymlファイルを作成しておく。ただし
        • surrealdb:
      • 同じフォルダ上で、docker compose up -d を実行する。
      • 以上により、open notebook と ollama と surrealdbの3つのdocker コンテナが動く状態で稼働する。
services:
  surrealdb:
    image: surrealdb/surrealdb:v2
    command: start --user root --pass password --bind 0.0.0.0:8000 rocksdb:/mydata/mydatabase.db
    ports:
      - "8000:8000"
    volumes:
      - ./surreal_data:/mydata
    user: root
    restart: always
  open_notebook:
    image: lfnovo/open_notebook:v1-latest-single
    pull_policy: always
    ports:
      - "8502:8502"  # Web UI (React frontend)
      - "5055:5055"  # API (required!)
    environment:
      # NO API KEYS NEEDED - Using Ollama (free, local)
      - OLLAMA_API_BASE=http://ollama:11434

      # Database (required)
      - SURREAL_URL=ws://surrealdb:8000/rpc
      - SURREAL_USER=root
      - SURREAL_PASSWORD=password
      - SURREAL_NAMESPACE=open_notebook
      - SURREAL_DATABASE=open_notebook
    volumes:
      - ./notebook_data:/app/data
      - ./surreal_data:/mydata
    depends_on:
      - surrealdb
    restart: always

  ollama:
    image: ollama/ollama:latest
    ports:
      - "11434:11434"
    volumes:
      - ./ollama_models:/root/.ollama
    environment:
      # Optional: set GPU support if available
      - OLLAMA_NUM_GPU=0
    restart: always
  • メモ
    • command: start –user root –pass password –bind 0.0.0.0:8000 rocksdb:/mydata/mydatabase.db
      • surrealDBというマルチモーダルなデータベースエンジンを使用して、mydatabase.dbという名前でデータベスを作成する。データベースへのアクセスuserはroot、パスワードはpasswordとし、コンテナで外部アドレスに8000番ポートで公開。このuserとpasswordはコンテナOSやホストOSのユーザ名とは関係はなく、データベースアクセス用のuserとpasswordなので、なんでもよいし、このままでよい。
    • user: root これは、コンテナOSのrootユーザでsurrealDBを起動するということらしい。これが追加必須だった。
  • 起動後のdocker ps コマンドの出力は次のようになっていたら、無事起動ということだと思われる。
$ docker ps 
CONTAINER ID   IMAGE                                   COMMAND                   CREATED      STATUS      PORTS                                                                                      NAMES
abc862898493   lfnovo/open_notebook:v1-latest-single   "/usr/bin/supervisor…"   3 days ago   Up 3 days   0.0.0.0:5055->5055/tcp, [::]:5055->5055/tcp, 0.0.0.0:8502->8502/tcp, [::]:8502->8502/tcp   open-notebook-local-open_notebook-1
dc64340ac7e8   ollama/ollama:latest                    "/bin/ollama serve"       3 days ago   Up 3 days   0.0.0.0:11434->11434/tcp, [::]:11434->11434/tcp                                            open-notebook-local-ollama-1
0e145563abfc   surrealdb/surrealdb:v2                  "/surreal start --us…"   3 days ago   Up 3 days   0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp                                                open-notebook-local-surrealdb-1
  • メモ
    • コンテナ  open-notebook-local-open_notebook-1 :
      • 5055番ポートで外部からopen notebook APIにアクセスできる。
      • 8502番ポーロで外部からopne notebookのWebUIにアクセスできる。
    • コンテナ open-notebook-local-ollama-1 :
      • 11434番ポートで外部からollama APIにアクセスできる。
    • コンテナ open-notebook-local-surrealdb-1 :
      • 8000番ポートで外部からsurrealDBにアクセスできる。
  • 上記の状態になっているので、ホストOS(DGX Spark OS)のFirewallが上記ポートを開けているのであれば、他のPCからネットワーク越しに以下のアクセスできるようになる。
  • テスト: 同じマシンまたは別のPCから、http://DGX SparkのIPアドレス:8502 でopen notebook にアクセスできるはず。
  • ここまでで、open notebook が動くようになった。続きは次回。
    • open noteboook → ollama → selected model (LLM例:gpt-oss:120b、gemma3:12b)(Embedding model例:mxbai-embed-large) という呼び出し関係で動作する。

よかったらシェアください
  • URLをコピーしました!
目次