一、速览:它是什么,解决什么问题

入门

linkding 是一个可以自己托管在服务器上的书签管理器。它像浏览器自带的收藏夹,但数据存在你自己的机器上,不会因为换浏览器或系统就丢失。它解决的核心问题是:收藏的网页越来越多,却散落在不同设备、不同浏览器里,查找和整理都很痛苦。

linkding 设计得非常轻量,启动快、界面干净,几乎没有多余按钮。你可以用标签给收藏分类,给书签加 Markdown 笔记,标记“稍后读”,还能把某些书签分享给访客。如果你每天在多个设备上切换,它会是一个统一入口。

二、快速部署:用 Docker 几分钟跑起来

入门

你不需要会 Python,也不用懂 Django。只需要一台能联网的 Linux 服务器(或 NAS、云主机),因为要在上面拉取 linkding 的镜像。还要提前安装好 Docker 和 Docker Compose。Docker 是一种把软件和它的运行环境打包成“集装箱”的工具,只要系统能跑 Docker,就能跑这个服务,不必手动配置复杂依赖。

先新建一个目录并进入:

mkdir linkding && cd linkding

然后创建一个 docker-compose.yml 文件,粘贴以下内容:

services:
  linkding:
    image: sissbruecker/linkding:latest
    container_name: linkding
    ports:
      - "9090:9090"
    volumes:
      - ./data:/etc/linkding/data
    restart: unless-stopped

这个文件告诉 Docker:使用官方镜像,把容器的 9090 端口映射到服务器的 9090 端口,并把当前目录下的 data 文件夹作为书签数据存放位置,这样数据不会随容器消失。

启动服务:

docker compose up -d

第一次运行需要创建一个管理员账号,用来登录后台:

docker compose exec linkding python manage.py createsuperuser --username admin --email admin@example.com

运行后会提示你输入密码,设置好即可。接着在浏览器打开 http://服务器IP:9090,用刚才的账号密码登录。

三、配置详解:端口、数据卷与环境变量

进阶 · 推荐细读

linkding 默认使用 9090 端口。如果你服务器上已经有别的程序占用了 9090,可以在 docker-compose.yml 里改左边的端口号,比如 8080:9090,这样外部通过 8080 访问。容器内部仍是固定的 9090,不需要动。

数据存储路径 ./data:/etc/linkding/data 表示把容器里的 /etc/linkding/data 目录挂载到宿主机当前目录下的 data 文件夹。所谓挂载,可以理解为把服务器上的文件夹“贴”进容器,容器读写这个目录时,实际就是在读写服务器上的文件夹。以后备份时,只需要拷贝这个 data 文件夹。

linkding 部分可选环境变量如下,通常不设置也能正常使用:

环境变量 作用
LD_SUPERUSER_NAME 首次启动自动创建超级用户的用户名
LD_SUPERUSER_PASSWORD 对应密码
LD_CSRF_TRUSTED_ORIGINS 使用 HTTPS 域名访问时需要填写,例如 https://bookmark.example.com
LD_DISABLE_BACKGROUND_TASKS 设为 true 可关闭自动抓取网站标题、图标等后台任务
LD_DISABLE_URL_VALIDATION 设为 true 可关闭 URL 格式校验

加环境变量时,在 docker-compose.ymlservices.linkding 下增加 environment: 段落

项目信息

项目
仓库 sissbruecker/linkding
语言 Python
Star 11,199
Fork 616
主页 https://linkding.link/

参考链接

延伸阅读

想继续探索?这些同领域的教程可能也适合你: