Linkding:自托管书签管理,再也不怕浏览器书签栏爆炸

前言

我的浏览器书签栏大概长这样:一排文件夹,每个里面塞了几十个链接。名字起得挺认真 ——“运维工具 ""前端资源"" 好文收藏”—— 但想找半年前存的那篇 Nginx 调优文章,还是得一个个翻。

后来发现一个规律:存进书签栏的链接,90% 再也不会打开。不是因为没用,是因为找不到。

Linkding 解决的就是这个问题。自托管的书签管理器,支持标签、全文搜索、浏览器扩展一键收藏。数据在自己服务器上,搜索是即时的。

为什么不是其他方案?

市面上的书签管理选择不少:Raindrop.io 功能全但是 SaaS,Shaarli 老牌但界面古老,Wallabag 偏向稍后阅读而非书签管理。

Linkding 走的是极简路线:Django + SQLite,一个 Docker 容器搞定,内存占用不到 100MB。界面干净得像 Google 首页 —— 一个搜索框,下面是你最近存的书签。没有花里胡哨的功能,就是存链接、搜链接。

坦率讲,书签工具最重要的指标不是功能多少,是你愿不愿意用。太复杂的工具,存两条就懒得打开了。Linkding 的轻量让「存书签」这件事几乎没有心理负担。

5 分钟部署

Docker 一条命令就能跑:

Terminal window
mkdir -p /opt/linkding/data
docker run --name linkding \
-p 9090:9090 \
-v /opt/linkding/data:/etc/linkding/data \
-e LD_SUPERUSER_NAME=admin \
-e LD_SUPERUSER_PASSWORD=你的强密码 \
-d sissbruecker/linkding:latest

打开 http://你的IP:9090,用 admin 登录,就能用了。

Docker Compose 版(推荐生产用):

services:
linkding:
image: sissbruecker/linkding:latest
container_name: linkding
ports:
- "9090:9090"
volumes:
- ./data:/etc/linkding/data
environment:
LD_SUPERUSER_NAME: admin
LD_SUPERUSER_PASSWORD: ${LD_PASSWORD}
restart: unless-stopped

日常使用

浏览器扩展

Linkding 提供了 Chrome / Firefox 扩展,装好之后:

  1. 在扩展设置里填你的 Linkding 地址和 API Token
  2. 看到想收藏的网页,点一下扩展图标
  3. 自动抓取标题和描述,加标签,保存

整个过程两秒钟。API Token 在 Linkding 设置页面生成,路径是 Settings → Integrations。

标签管理

存书签的时候随手打标签。标签不是文件夹 —— 一条书签可以有多个标签。比如一篇 Docker 监控的文章可以打 docker 监控 beszel 三个标签,从任何一个标签入口都能找到。

Linkding 的标签页会自动统计每个标签下的书签数量,一眼看出哪些领域存得最多。

全文搜索

搜索框是 Linkding 的核心交互。支持搜标题、描述、URL、标签。反应极快 —— 因为是本地 SQLite,没有网络延迟。

你想想看:浏览器书签栏只能搜标题,Linkding 能搜你写的描述和标签。存书签时顺手写一句描述(“这篇文章讲的是 Prometheus 的告警规则配置,Alertmanager 那部分尤其好”),以后搜 “告警规则” 直接命中。

备份与迁移

SQLite 的好处是数据就是一个文件。备份:

Terminal window
# 直接从宿主机备份
cp /opt/linkding/data/db.sqlite3 /backup/linkding-$(date +%Y%m%d).sqlite3
# 或者从容器里导出
docker exec linkding sqlite3 /etc/linkding/data/db.sqlite3 ".backup /tmp/backup.db"

数据库坏了?SQLite 自带修复:

Terminal window
docker exec linkding sqlite3 /etc/linkding/data/db.sqlite3 "PRAGMA integrity_check;"

反向代理配置

套 Nginx 反代:

server {
listen 443 ssl;
server_name links.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:9090;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

如果套了反代,记得在 Linkding 的 .env 里设置:

LD_CSRF_TRUSTED_ORIGINS=https://links.yourdomain.com

总结

Linkding 不是功能最多的书签工具,但它把最核心的两件事做到了极致:存得快、搜得快。

浏览器扩展一键收藏,网页端全文搜索秒出结果,Docker 部署一条命令。数据在自己硬盘上,不需要注册任何账号。

如果你的书签栏已经开始让人焦虑了,试试花五分钟搭一个 Linkding。之后你会发现,找链接这件事变得跟用搜索引擎一样自然。