Notes
520
⚠️ 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.
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).
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.
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.
| Variable | Required | Description |
|---|---|---|
ConnectionStrings__DefaultConnection | Yes | PostgreSQL connection string |
Ollama__BaseUrl | Yes | URL of your Ollama instance |
Ollama__ChatModel | Yes | Model used for chat (e.g. llama3.1) |
Ollama__EmbeddingModel | Yes | Model used for embeddings (e.g. nomic-embed-text) |
Ollama__PlanningModel | No | Defaults to ChatModel if not set |
Ollama__NoteCollabModel | No | Defaults to ChatModel if not set |
DB_PASSWORD | Yes | PostgreSQL password (used by both services) |
dpkeys volume stores ASP.NET Data Protection keys. Persist it or all sessions will invalidate on container restart.Content type
Image
Digest
sha256:315cdb11e…
Size
491.5 MB
Last updated
4 months ago
docker pull lanedfritz/ai-note-taker