# Blinko: Self-Hosted AI Note-Taking with RAG Search

> Blinko is a self-hosted, privacy-first note-taking application that uses Retrieval-Augmented Generation to let users query their own notes with natural language, deployed via Docker and backed by PostgreSQL.

**blinkospace/blinko** — An open-source, self-hosted personal AI note tool prioritizing privacy, built using TypeScript .

- Repository: https://github.com/blinkospace/blinko
- Website: https://blinko.space
- Stars: 11,045 · Forks: 785
- Language: TypeScript
- License: GPL-3.0
- Published: 2026-08-04 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/blinkospace-blinko

## Quick Capture for Fleeting Thoughts with AI Retrieval

Blinko targets users who regularly lose ideas because capturing and then finding them are two different frictions. The README frames it as a card note-taking tool built for capturing thoughts the moment they occur. The AI side addresses the second friction: once notes accumulate, finding a specific one without remembering exact phrasing becomes difficult. Blinko addresses this with a RAG (Retrieval-Augmented Generation) system that accepts natural language queries and retrieves relevant notes, working across the full corpus of stored content.

The audience is individual users or small teams who self-host. The project emphasizes data ownership explicitly: all notes stay in a PostgreSQL database running in the user's own infrastructure. No note content is sent to an external API for the search feature unless the user explicitly connects an external AI service, which the README does not document in detail.

## Architecture: Monorepo with TypeScript, Bun, and PostgreSQL

The repository is a Bun-managed monorepo with three workspaces: `app` (the Tauri-based desktop client), `server` (the backend), and `shared` (common types). The build tool is Turbo. The backend connects to PostgreSQL 14 as its persistence layer.

The Docker Compose file exposes the application on port 1111 and requires four environment variables: `NODE_ENV`, `NEXTAUTH_URL`, `NEXT_PUBLIC_BASE_URL`, `NEXTAUTH_SECRET`, and `DATABASE_URL`. The PostgreSQL container uses a basic username/password setup and performs a health check via `pg_isready` before the application container starts.

The `package.json` lists the minimum runtime requirements as Bun 1.0.0 or later and Node.js 20.0.0 or later. The project uses Prisma for database schema management, with migration scripts available in the `prisma/` directory. Prisma migrations are applied at deployment time via `prisma:migrate:deploy`.

Tauri enables native desktop builds for macOS, Windows, Linux, and Android. The README mentions this as multi-platform support but does not document the build process for native targets in detail.

## Installing Blinko with the One-Line Script

The README gives a single command for installation:

```bash
curl -s https://raw.githubusercontent.com/blinko-space/blinko/main/install.sh | bash
```

This script downloads and runs the installer, which sets up Docker containers for both the Blinko application and the PostgreSQL database. The application then becomes available at `http://localhost:1111`.

For manual Docker Compose setup, the repository includes `docker-compose.yml`. The compose file defines a `blinko-network` bridge, a `blinko-website` container that builds from the included Dockerfile, and a `postgres` container with a health check. The application container depends on the database being healthy before starting.

The live demo at `demo.blinko.space` uses username `blinko` and password `blinko`, allowing prospective users to test the interface before committing to a local deployment. The demo is provided by the maintainers and reflects the current release state.

## Note Retrieval and Markdown Support

Notes in Blinko are stored as plain text with full Markdown support. The README does not specify which Markdown extensions are supported beyond basic formatting.

The RAG search system is the distinguishing capability: users type a natural language question and Blinko retrieves notes relevant to that query rather than requiring an exact keyword match. The README does not document which embedding model the system uses by default or whether the embedding computation happens locally or calls an external service. This is a meaningful gap for users concerned about privacy: if embeddings are generated using a remote API, note content leaves the local environment during indexing.

The macOS installation FAQ in the README notes a common issue with notarization: macOS adds a quarantine attribute to apps not notarized by Apple. The workaround is:

```bash
sudo xattr -rd com.apple.quarantine /Applications/blinko.app
```

This affects the Tauri desktop application, not the Docker-based server deployment.

## Limitations: Database Dependency and RAG Documentation Gaps

Blinko requires a running PostgreSQL instance. Unlike note tools that store data in local flat files or SQLite, a PostgreSQL failure means notes are inaccessible until the database is restored. Users without database administration experience will need to account for backup, point-in-time recovery, and version upgrade procedures that PostgreSQL requires over time.

The RAG search feature is the application's main selling point, but the README provides no information on how the underlying embeddings or retrieval pipeline works. Users cannot determine from the repository documentation alone whether semantic search runs entirely on local hardware or depends on an external model API. For users who deploy Blinko specifically to keep notes private, this ambiguity is a genuine obstacle to evaluating whether the tool meets their requirements.

The latest stable release is 1.8.8. The most recent push to the repository was on 2026-08-27. The project has no long-term support track documented.

## Blinko Against Obsidian

Obsidian is a local-first Markdown note editor that stores files as plain `.md` files on disk and provides a graph view of links between notes. It does not require a running database server and works entirely offline. Its AI features depend on third-party plugins or the Obsidian Sync service.

Blinko and Obsidian address different note-taking models. Obsidian is built around the idea of a permanent, linked knowledge base where relationships between notes are explicit and navigable as a graph. Blinko is built around the idea of quick capture and AI-assisted retrieval. Notes in Blinko are cards rather than interconnected documents.

Blinko requires Docker and PostgreSQL to run at all, which adds operational overhead that Obsidian does not. Obsidian's data is plain files that can be versioned with git and backed up with any file sync tool. Blinko's data lives in a database that requires database-specific tooling to back up and restore. The trade-off is that Blinko's RAG search operates over a structured store, whereas Obsidian's built-in search is keyword-based unless a plugin adds embedding-based retrieval.

## Conclusion

Blinko fits developers and privacy-conscious users who want AI-assisted note retrieval without routing their notes through a third-party cloud service. It is less suited to teams already invested in a local-first graph-based workflow where offline linking between notes matters more than natural-language search. Before adopting it, verify that you can maintain a PostgreSQL instance for long-term data durability, since the Docker Compose configuration ties all note data to that database.

## FAQ

### How do you install Blinko?

The fastest method is to run `curl -s https://raw.githubusercontent.com/blinko-space/blinko/main/install.sh | bash`, which sets up Docker containers for the application and PostgreSQL. After the script completes, Blinko is available at `http://localhost:1111`.

### What is Blinko?

Blinko is a self-hosted, open-source note-taking application that emphasizes quick capture and AI-powered retrieval using RAG. It stores notes in PostgreSQL and can be deployed via Docker. It supports Markdown and provides native desktop apps through Tauri for macOS, Windows, Linux, and Android.

### How does Blinko compare to Obsidian?

Blinko is a card-based capture tool with AI search backed by PostgreSQL, while Obsidian is a local-first Markdown editor that stores plain files and provides a graph view of note links. Blinko requires Docker and a database server; Obsidian requires only local file storage. The two tools reflect different note-taking philosophies rather than being direct substitutes.

### How does Blinko compare to Notion?

Notion is a cloud-hosted team workspace with pages, databases, and collaborative editing, while Blinko is a self-hosted individual note-capture tool. Blinko keeps data on infrastructure the user controls; Notion stores data on Notion's servers. Blinko does not provide Notion's database views, templates, or team collaboration features.

## Sources

- [Official documentation](https://blinko.space)
- [Official README](https://github.com/blinkospace/blinko#readme)
- [Project repository](https://github.com/blinkospace/blinko)
- [Release notes](https://github.com/blinkospace/blinko/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/blinkospace-blinko
