Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Blinko

Self-hosted card notes with Markdown, AI search over your own notes, desktop and Android apps

Visit website Save

Blinko is a GPL-3.0 note-taking server for quick card notes and longer Markdown notes, with RAG search, AI chat, MCP and an OpenAPI interface. It runs from one Docker image on PostgreSQL; a hosted Blinko Cloud edition is also offered.

Pricing
Freemium
Deployment
Self-hosted
Platforms
Web, Android, Windows, macOS, Linux
11,170stars796forks
1views
Updated

What is Blinko?

Blinko is an open-source note-taking application built around two kinds of entries: short Blinko cards for quick capture, which can be archived automatically, and Notes for material you intend to keep. AI features work on top of that store, so you can search and question your own notes in natural language through a provider you configure. The project is developed by the blinkospace team on GitHub, where the repository was created in October 2024, and the code is licensed under the GNU General Public License version 3. The same team runs Blinko Cloud, a hosted edition with free and paid plans; this profile focuses on the self-hosted edition and notes where Cloud differs.

The server ships as the blinkospace/blinko Docker image listening on port 1111, with PostgreSQL 14 as the documented database. The install guide covers an interactive install.sh script, plain docker run commands and Docker Compose, and the repository includes a Helm chart for Kubernetes. PikaPods offers one-click hosting, and the docs state that part of those fees goes to the project. Each release also publishes client apps: a Windows x64 installer and MSI, an Apple Silicon DMG, Linux AppImage, DEB and RPM packages for x86_64, and a universal Android APK. The desktop and Android apps are clients for a Blinko server. There is no iOS build of the open-source edition, and the macOS package is not notarized, which the README addresses with a quarantine-removal command.

The current release is Blinko 1.8.9, published November 5, 2026. It is a maintenance and security-hardening release without a database migration. Existing stdio MCP server configurations now need operator approval through the BLINKO_MCP_STDIO_ALLOWLIST variable, the public origin must be set in NEXT_PUBLIC_BASE_URL or NEXTAUTH_URL, and server and clients should be updated together. Version 1.8.8 added streamable HTTP MCP transport, LiteLLM as an AI gateway and Ukrainian localization. Version 1.8.7 added MiniMax as a model provider and fixed upload errors caused by unusual filenames. Version 1.8.0, from December 2025, moved background jobs to pg-boss and introduced AI scheduled tasks and MCP server management.

Blinko is a TypeScript monorepo run with Bun. The frontend uses React 18, Vite, HeroUI, Tailwind CSS and the Vditor Markdown editor, and Tauri 2 wraps it for desktop and Android. The backend is Express 5 with tRPC and Prisma on PostgreSQL. AI functions use the Vercel AI SDK and Mastra, and note embeddings are stored in a local LibSQL file under .blinko/vector. Attachments go to the .blinko data directory or to S3-compatible storage. The interface ships with 17 language files.

Some things are outside its scope. Blinko is a personal or small-group note store, not a real-time collaborative wiki: shared notes are read-only links. End-to-end encryption is not documented. AI features need your own API key or a local model server, and the open-source edition has no built-in model. Blinko Cloud features such as custom blog domains and the Blinko CLI are listed on the pricing page for paid Cloud plans, not as part of the self-hosted release.

Inside the application

Blinko screenshots

Explore the interface. Open a screenshot to view it at full size.

Blinko dark interface on desktop with sidebar, Markdown input box and note cards, beside the mobile app showing a checklist
Blinko screenshot 1

Official Blinko overview image from the README: the desktop web interface with nested tags and note cards, and the mobile layout on the right.

Blinko AI settings with Use AI toggle, model provider, model, API endpoint, API key, Force Rebuild button and global prompt
AI provider settings

AI settings panel from the official docs, where the provider, model, endpoint and key are set and the embedding index can be rebuilt.

Blinko Schedule Task settings with backup and auto-archive toggles and a table of tasks, schedules, last run, backup file and status
Scheduled backup and archive

Scheduled backup and archive tasks, with the .bko backup file available for download.

Shared Blinko note displayed as a dark card titled How to Use Multi-Level Labels on a purple gradient background
Shared note page

Public view of a shared note from the official sharing guide; shared notes are read-only.

Blinko Text Selection Toolbar settings with enable toggle, Ctrl+backtick trigger and Auto to English translation languages
Text selection toolbar settings

Desktop text selection toolbar settings from the official docs, used to translate, ask AI about or save selected text.

Source: official Blinko project page.

Key capabilities

  • Self-hosted server with Docker One container image serves the web app, API and background jobs on port 1111, with PostgreSQL as the database. The documented setup needs a persistent volume for PostgreSQL and, optionally, one for /app/.blinko, where files, backups, plugins and the vector index live. The docs warn that data is lost if the PostgreSQL volume is not mounted and that the default NEXTAUTH_SECRET must be replaced, for example with openssl rand -base64 32.
  • Kubernetes deployment through Helm The repository's Helm chart deploys Blinko with ingress, autoscaling and secret templates and pulls PostgreSQL from the Bitnami chart repository. Its README lists Kubernetes 1.19 or later and Helm 3.2 or later. The chart is installed from the local folder or a packaged archive rather than from a published chart repository.
  • Download Blinko for Windows, macOS and Linux Each GitHub release includes a Windows x64 setup executable and MSI, an Apple Silicon DMG and app archive, and Linux x86_64 AppImage, DEB and RPM packages, with signature files for the updater. No Intel Mac package is listed in the open-source release. The macOS build is not notarized, so the README documents removing the quarantine attribute with xattr. The desktop apps sign in to an existing Blinko server.
  • Download Blinko for Android A universal APK is attached to each release; there is no Play Store listing in the project sources. The Android share target accepts text, links, images and files from other apps and opens them in the Blinko editor, and app shortcuts launch common actions. iOS is not offered for the open-source edition.
  • Blinko cards and Notes Short entries are created as Blinko cards and longer material as Notes. A scheduled task can archive Blinko cards after a set interval, while Notes stay until you remove them. The Blinko vs Note guide suggests treating cards as an inbox and moving content worth keeping into Notes before archiving.
  • Markdown editor, tags and comments The editor is based on Vditor and supports headings, lists, checklists, tables, code blocks and attachments from a toolbar. Tags are written inline with # and can be nested with slashes, such as #code/editors, which builds the tag tree in the sidebar. Notes keep a version history and can receive comments, and a daily review view brings back recent entries.
  • Bring-your-own model providers AI is off until enabled in settings. The AI settings guide lists OpenAI, Azure OpenAI, Anthropic, DeepSeek, Gemini, Grok, Ollama and OpenRouter, and recent releases added MiniMax and LiteLLM. A custom endpoint field supports proxies and self-hosted OpenAI-compatible servers, and an HTTP proxy can be configured for restricted networks.
  • Retrieval over your notes Embeddings are generated with a separately configurable model and stored in a local LibSQL file. Search settings expose Top K from 1 to 20 and a similarity threshold from 0 to 1, and an optional rerank step currently uses a chat model rather than a dedicated rerank model. Changing the embedding model requires a forced index rebuild, and when the chat model supports vision, Blinko also indexes images.
  • AI chat, writing and tagging A chat view answers questions from your stored notes and keeps conversation history. Further functions cover writing assistance on selected text, suggested tags, emoji suggestions and post-processing that runs on newly created notes. Since 1.8.0, scheduled AI tasks can run prompts on a timer through the pg-boss job queue.
  • MCP client for external tools The AI assistant can call tools from external MCP servers configured in settings, and an existing mcp.json can be imported. Streamable HTTP transport was added in 1.8.8. From 1.8.9, stdio servers, which start local processes, only run when the operator lists the exact command, arguments and environment in BLINKO_MCP_STDIO_ALLOWLIST.
  • MCP server, REST API and OpenAI-compatible endpoint Each instance exposes an MCP endpoint at /mcp, with SSE as an alternative, offering tools to search, create, update and delete notes, add comments and manage scheduled tasks. A Swagger UI at /api-doc and an OpenAPI document at /api/openapi.json describe the HTTP API, and /v1/chat/completions provides an OpenAI-style chat route. Requests authenticate with a bearer access token, as shown in the access token guide.
  • Desktop quick capture On desktop, Shift+Space opens a quick-note window and Alt+Space opens an AI prompt over your notes; both shortcuts can be changed. A text selection toolbar, triggered by Ctrl+` by default, translates, copies, asks AI about or saves selected text from other applications. The quick note guide covers setup and conflicts.
  • Share links, RSS and Blinko Hub A note can be shared as a read-only link with an expiry time, seven days by default, and an optional numeric password; expired or revoked links cannot be reactivated. Public notes without a password appear in per-user RSS and Atom feeds with a configurable item count. Blinko Hub is an opt-in directory where instances register through a GitHub repository to be discovered by others.
  • Import and export Settings import a Blinko .bko backup, a single Markdown file or a ZIP of Markdown files, and a Memos memos_prod.db SQLite database; the Memos container should be stopped first to avoid partial data. Notes export to Markdown, JSON or CSV. Restoring a .bko backup requires S3 storage to be disabled temporarily.
  • Scheduled backup and archive A task scheduler creates database backups at a chosen interval as a downloadable .bko file in .blinko/files and archives old Blinko cards. The task table shows schedule, last run, backup file and status. These backups do not replace a PostgreSQL dump and volume snapshot for disaster recovery.
  • Single sign-on and accounts OAuth 2.0 providers are configured in settings, with built-in templates for GitHub, Google, Apple, Discord, Slack, Twitch and others, plus custom providers with well-known, authorization, token and user-info URLs. The callback path is /api/auth/callback/{providerId}, which requires NEXTAUTH_URL to match your domain. An SSO identity can be linked to a password account.
  • S3-compatible attachment storage Files can stay on local disk under .blinko or go to AWS S3, MinIO or another S3-compatible service configured with endpoint, region, bucket and access keys in the S3 settings. The 1.8.9 notes ask operators to refresh CDN or proxy caches for attachment responses after upgrading.
  • Webhooks A webhook URL receives JSON payloads when notes are created, updated or deleted, including note content, flags and attachment metadata. Signature verification is listed as a best practice in the docs, so check what your receiving endpoint can validate before sending private content to it.
  • Plugins A plugin marketplace adds optional functions such as a music player or focus timer, and settings manage installed plugins. The plugin guide documents a JavaScript API, a shared store through window.Blinko.store, settings panels and publishing to the marketplace. Plugins run inside the Blinko web interface with access to that API.
Advertisements

Where Blinko fits

Running a personal capture inbox on a home server

Deploy the Docker Compose file from the install guide rather than the one-line script if you want control over secrets and volumes: the script starts PostgreSQL without a data volume and keeps the sample secret. Set a random NEXTAUTH_SECRET, a non-default database password and the public URL, then put the service behind HTTPS. Capture short items as Blinko cards, enable auto-archive at an interval you are comfortable with, and check that archived cards are still searchable before relying on it.

Asking questions over your notes with a local model

Point the chat and embedding settings at an Ollama server or another OpenAI-compatible endpoint on your network so note text does not leave your infrastructure. Pick an embedding model, run a forced rebuild, and test Top K and score thresholds with questions whose answers you know. Retrieval quality depends on the embedding model and on how much you have written; reindex after any model change.

Capturing from desktop and phone

Install the desktop client for your operating system and the Android APK from the same release as the server, since 1.8.9 asks for matching versions. Configure the quick-note and quick-AI shortcuts, check that they do not collide with existing system shortcuts, and use the Android share sheet to send links and images into the editor. Note that the macOS package is Apple Silicon only and needs its quarantine flag removed.

Publishing selected notes

Share individual notes with an expiring link and an optional numeric password, or mark notes public to include them in the RSS and Atom feeds documented in the RSS guide. Review which notes are public before adding the feed to a reader or registering with Blinko Hub. The sharing guide confirms that recipients cannot edit shared notes.

Migrating from Memos or Markdown files

Stop the Memos container, copy its memos_prod.db file and import it from Blinko settings, or upload a ZIP of Markdown files exported from another tool. Compare note counts, tags and attachments after the import, then run an embedding rebuild so imported notes become searchable by AI, because notes imported by other means may lack vectors.

Automating with the API, webhooks and MCP

Create an access token and post notes from scripts to the upsert endpoint, or browse the full interface at /api-doc on your instance. Register a webhook to forward note changes to another system, and connect an MCP-capable assistant to the /mcp endpoint so it can search and write notes. Treat tokens as full account credentials and keep stdio MCP servers on the allowlist to commands you control.

Install

curl -o install.sh https://raw.githubusercontent.com/blinko-space/blinko/main/install.sh && bash install.sh

Reviews of Blinko

No reviews yet

Be the first to share your experience with Blinko.

Loading review form…

Alternatives to Blinko

Compare Blinko with these tools →