Sign inSign up

lanedfritz/ai-note-taker

By lanedfritz

•Updated 4 months ago

Notes

Image
Machine learning & AI
Developer tools
0

520

lanedfritz/ai-note-taker repository overview

⚠️ Early Access — Experimental Build

NoteTaker is an actively evolving project built to explore the frontier of what small, self-hosted language models can do in a real-world productivity context. This release represents a working proof-of-concept — functional, opinionated, and improving fast — but it is not yet intended for production use.

Expect rough edges. Expect changes. Expect things to get significantly better.

Active development is ongoing. Bug fixes, performance improvements, and new features are in flight. Watch this repo for updates.

⁠AI Note Taker

An AI-powered note-taking assistant built with Blazor Server and Ollama. Supports persistent sessions, semantic search, agent memory, skills, and a suite of built-in research tools (web search, Wikipedia, GitHub, Bible, weather, and more).


⁠Requirements

  • Docker and Docker Compose
  • A running Ollama⁠ instance with at least one chat model and an embedding model pulled
  • A PostgreSQL-compatible host (provided via the compose file below)

⁠Quick Start

Create a docker-compose.yml:

services:
  app:
    image: lanedfritz/ai-note-taker:latest
    ports:
      - "8080:8080"
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ConnectionStrings__DefaultConnection=Host=db;Database=notetaker;Username=notetaker;Password=${DB_PASSWORD}

      # Point to your Ollama instance — localhost won't resolve inside Docker,
      # use your host's LAN IP or host.docker.internal (Mac/Windows only)
      - Ollama__BaseUrl=http://your-ollama-host:11434
      - Ollama__ChatModel=llama3.1
      - Ollama__PlanningModel=llama3.1
      - Ollama__NoteCollabModel=llama3.1
      - Ollama__EmbeddingModel=nomic-embed-text
    volumes:
      - dpkeys:/app/keys
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped

  db:
    image: pgvector/pgvector:pg16
    environment:
      POSTGRES_DB: notetaker
      POSTGRES_USER: notetaker
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U notetaker"]
      interval: 5s
      timeout: 5s
      retries: 5
    restart: unless-stopped

volumes:
  pgdata:
  dpkeys:

Create a .env file in the same directory:

DB_PASSWORD=your_secure_password_here

Start the stack:

docker compose up -d

The app will be available at http://localhost:8080⁠. Database migrations run automatically on first start — no manual setup required.


⁠Configuration

All runtime configuration (AI provider API keys, web search URL, Bible API keys, theme, etc.) is managed through the Settings page in the UI after first login. No environment variables are needed beyond what's listed above.


⁠Environment Variables

VariableRequiredDescription
ConnectionStrings__DefaultConnectionYesPostgreSQL connection string
Ollama__BaseUrlYesURL of your Ollama instance
Ollama__ChatModelYesModel used for chat (e.g. llama3.1)
Ollama__EmbeddingModelYesModel used for embeddings (e.g. nomic-embed-text)
Ollama__PlanningModelNoDefaults to ChatModel if not set
Ollama__NoteCollabModelNoDefaults to ChatModel if not set
DB_PASSWORDYesPostgreSQL password (used by both services)

⁠Notes

  • The dpkeys volume stores ASP.NET Data Protection keys. Persist it or all sessions will invalidate on container restart.
  • Cloud AI providers (Anthropic, OpenAI, Groq) can be configured as alternatives to Ollama from the Settings page.
  • The app registers the first user automatically on first visit.

Tag summary

Content type

Image

Digest

sha256:315cdb11e…

Size

491.5 MB

Last updated

4 months ago

docker pull lanedfritz/ai-note-taker