linka
linka copied to clipboard
Cross-platform, Self-hosted & AI powered bookmark management app for linkding, an alternative to linkding front-end, with special optimization for search and quick open functions. Free and open source...
Linka!
A smooth bookmarks management web app, shipped with special optimization for quick-search & quick-open, which will boost your productivity.
Currently it supports linkding, we are planning to make Linka a more flexible app to support other popular backends.
- Linka!
- Features
- Demo
- How-To use
- Hotkeys
- Backend Prerequisite
- Development Guide
- Prerequisite
- Start a local development app
- Deployment Guide
- Option 1: Deploy With Static HTTP Server (e.g. Nginx)
- Option 2: Deploy with Docker
About the Logo
❤️ The logo was copied from the project Benthos in this commit.
Features
- full text search
- multi keywords, substract keywords support
- instantly open search results
- search on type
- dark/light mode
- hotkeys
Demo

Following configs are for testing:
demo linkding base url: https://link.unoiou.comdemo token(restricted):a6816f654f87197545cd66bfd2f8e294c40f1ee4
How-To use
- type any keywords, seperated by space, results will be intersection
- use keywords start with
!to exclude - type
Enterto open search results in new tabs
Hotkeys
cmd+lorctrl+lto focus on the search boxcmd+Down Arroworctrl+Down Arrow/cmd+Down Arroworctrl+Down Arrowto navigate the resultscmd+Enterorctrl+Enterwith an item selected to open it as a new tab or open all bookmarks when no item is selected
Backend Prerequisite
Currently, this app only supports the "linkding" backend. However, our plan is to make Linka a backend-dependent app.
To ensure compatibility with Linka, the backend service must enable "Cross-Origin Resource Sharing" (CORS).
You can nable CORS in backend by adding following headers to HTTP response:
Access-Control-Allow-Origin: *Access-Control-Allow-Methods: GET,POST,OPTIONS,PUT,DELETEAccess-Control-Allow-Headers: *Access-Control-Max-Age: 1000000
Development Guide
Prerequisite
Install nodejs and yarn.
Start a local development app
Run yarn install & yarn dev to start up.
Deployment Guide
Option 1: Deploy With Static HTTP Server (e.g. Nginx)
Run yarn build then publish the ./build directory to a static http server like nginx, following is a demo nginx config part:
# linka
server {
listen 443 ssl http2;
server_name linka.unoiou.com;
index index.html;
location / {
root /home/ubuntu/static_sites/linka/build;
try_files $uri $uri/ /index.html;
}
}
Option 2: Deploy with Docker
Use pre build image:
docker pull cmsax/linka:latest
docker run --name my-own-linka -p 80:80 -d cmsax/linka:latest
Build on your own:
docker build -t my/linka:latest .
docker run --name my-own-linka -p 80:80 -d my/linka:latest