selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
minne logo

Self-host minne

v1.0.5

Graph-powered personal knowledge base with AI connections

ReleaseOpen SourceAGPL-3.0
Updated4 months ago
LanguageRust
Setup difficultyModerate
MobileResponsive
Stars
264
Port
3000 (Minne web server)
Requires
SurrealDB
Docker
ghcr.io/perstarkse/minne
Install with Docker Compose
minne screenshot 1

What is minne?

Minne is a personal knowledge management and read-it-later tool built around a graph database. It automatically links related notes so you don't have to manually connect them. You can search your library with full-text or vector search, or chat with an AI that reasons across your saved content. Entities and relationships can be created by hand, generated by AI, or suggested by AI for you to approve. A D3-powered graph view lets you explore the network visually. The app ingests text, web pages, PDFs, audio, and images, using an embedded browser engine for web scraping and PDFium for PDFs. An optional reranking step can improve search quality. Written in Rust with Axum and HTMX, it needs an OpenAI-compatible API for AI features and runs via Docker Compose, Nix, pre-built binaries, or from source. Licensed AGPL-3.0.

Should you self-host minne?

minne scores 46/100 on selfhost.directory (how scoring works) and ranks #23 of 42 in Knowledge Management. It has 264 GitHub stars.

It shipped 7 stable releases in the past year. The latest, v1.0.5, came out on 24 June 2026. New versions land roughly every 5 weeks.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Rust.

Its closest alternative on selfhost.directory is Project N.O.M.A.D. (85/100, 41 133 stars). It scores higher overall, so compare the two before you pick. See minne vs Project N.O.M.A.D. side by side.

Features

  • Admin Model SelectionRequires models supporting structured outputs
  • Flexible Deployment Modes
  • Hybrid Retrieval System
  • Hybrid Search & Chat Interface
  • iOS shortcut
  • Manual and AI-assisted connections
  • Multi-format Support
  • Optional FastEmbed RerankingDisabled by default; requires ~1.1 GB model download and extra CPU
  • PDF Processing
  • Scratchpad Feature
  • Visual Graph Explorer
  • Web Scraping

minne README

How to install minne

Install minne with Docker Compose

Docker and Docker Compose
Environment variables
SURREALDB_ADDRESS, SURREALDB_USERNAME, SURREALDB_PASSWORD, SURREALDB_DATABASE, SURREALDB_NAMESPACE, OPENAI_API_KEY, HTTP_PORT, DATA_DIR, RUST_LOG, RERANKING_ENABLED, OPENAI_BASE_URL

Clone the repository

git clone https://github.com/perstarkse/minne.git cd minne

Start Minne and its database

docker compose up -d

Access at http://localhost:3000

Requires replacing OPENAI_API_KEY in docker-compose.yml and configuring OPENAI_BASE_URL for custom providers

How to configure minne

  • DATA_DIRDirectory to store local data

    Directory to store local data

    values: e.g., ./data

  • FASTEMBED_CACHE_DIR<data_dir>/fastembed/rerankerDirectory for cached FastEmbed models

    Directory for cached FastEmbed models

  • FASTEMBED_SHOW_DOWNLOAD_PROGRESStrueShow model download progress when warming the cache

    Show model download progress when warming the cache

    values: true, false

  • HTTP_PORT3000Port for the Minne server

    Port for the Minne server

  • OPENAI_API_KEYYour API key for OpenAI compatible endpoint

    Your API key for OpenAI compatible endpoint

  • OPENAI_BASE_URLBase URL for custom AI providers (like Ollama)

    Base URL for custom AI providers (like Ollama)

    values: e.g., http://localhost:11434/v1

  • RERANKING_ENABLEDfalseSet to true to enable the FastEmbed reranking stage

    Set to true to enable the FastEmbed reranking stage

    values: true, false

  • RERANKING_POOL_SIZE2Maximum concurrent reranker workers

    Maximum concurrent reranker workers

  • RUST_LOGControls logging level

    Controls logging level

    values: e.g., minne=info,tower_http=debug

  • SURREALDB_ADDRESSWebSocket address of your SurrealDB instance

    WebSocket address of your SurrealDB instance

    values: e.g., ws://127.0.0.1:8000

  • SURREALDB_DATABASEDatabase name in SurrealDB

    Database name in SurrealDB

    values: e.g., minne_db

  • SURREALDB_NAMESPACENamespace in SurrealDB

    Namespace in SurrealDB

    values: e.g., minne_ns

  • SURREALDB_PASSWORDPassword for SurrealDB

    Password for SurrealDB

    values: e.g., root_password

  • SURREALDB_USERNAMEUsername for SurrealDB

    Username for SurrealDB

    values: e.g., root_user

minne releases & version history

More in Knowledge Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…