手把手教程:通过Docker部署Blinko开源笔记应用

前言

在信息爆炸的时代,如何高效地收集、整理和回顾知识,成为每个学习者和创作者的核心需求。近年来,Notion、Obsidian、Logseq等工具广受欢迎,但它们或依赖云端服务,或配置复杂,难以兼顾隐私性、灵活性与简洁体验。而Blinko的出现,为追求“自托管 + 极简设计 + 双链笔记”体验的用户提供了全新选择。作为一款开源、轻量、支持双向链接与标签系统的个人知识管理工具,Blinko不仅界面清爽、操作流畅,还完全支持本地部署——让你真正掌握数据主权。然而,对于许多非专业开发者来说,“自托管”往往意味着复杂的环境配置、依赖冲突和部署门槛。

有没有更简单的方式?答案是:有!借助Docker,我们可以在几分钟内将 Blinko 安装到本地电脑、NAS 或云服务器上,无需手动安装Node.js、数据库或其他运行时环境。本文将手把手带你完成Blinko的Docker部署全过程:从拉取镜像、配置持久化存储,到启动服务、访问Web界面,甚至设置反向代理与域名访问。无论你是 Linux 新手、家庭服务器玩家,还是希望搭建私有知识库的技术爱好者,都能轻松跟做。让我们一起,用一行命令,开启属于你的开源笔记之旅。

image-20260703164314624

1.什么是Blinko?

Blinko是一款开源、自托管、轻量级的个人知识管理(PKM)工具,旨在帮助用户以极简的方式记录笔记、建立知识连接,并实现高效的信息回顾与沉淀。

它融合了现代笔记工具的核心理念(如双向链接、标签系统、卡片式浏览),同时坚持 “去中心化”、“数据私有” 和 “无干扰写作” 的设计哲学,非常适合注重隐私、追求效率的个人用户。

Blinko的核心特点

1.完全开源 & 自托管

  • 源代码托管在 GitHub:https://github.com/blinko-org/blinko
  • 所有数据存储在你自己的设备上(本地电脑、NAS、云服务器等)
  • 无需依赖第三方服务,避免厂商锁定(Vendor Lock-in)

2.极简而高效的界面

  • 无侧边栏、无复杂菜单,聚焦内容本身
  • 支持 Markdown 编辑,所见即所得
  • 卡片式笔记流(类似 Roam Research 或 Logseq 的展示风格)

3.双向链接(Backlinks)

  • 在笔记中使用 [[笔记标题]] 自动创建链接
  • 自动显示“被哪些笔记引用”,构建知识网络

4.标签系统(Tags)

  • 通过 #标签 对笔记分类
  • 支持标签聚合视图,便于主题式回顾

5.支持附件与图片

  • 可上传图片、文件并嵌入笔记
  • 所有附件随笔记一同保存在本地

6.Docker一键部署

  • 官方提供 Docker 镜像,部署简单
  • 适合家庭服务器、VPS 或本地开发环境

7.移动端友好

  • 响应式网页设计,可在手机浏览器中流畅使用
  • (未来可能推出 PWA 或原生 App)

Blinko vs 其他笔记工具

工具 开源 自托管 双向链接
Blinko
Notion
Obsidian
Logseq
Joplin ⚠️(需插件)

适合谁使用?

  • 想摆脱 Notion/语雀等 SaaS 服务的数据风险
  • 喜欢 Roam/Obsidian 的双链思想,但觉得它们太复杂
  • 希望用 Docker 快速搭建一个私人笔记站
  • 追求“少即是多”的写作与思考环境

技术栈(供开发者参考)

  • 前端:Vue 3 + TypeScript
  • 后端:Node.js + SQLite(默认,也可换 PostgreSQL)
  • 部署:Docker / Docker Compose
  • 数据库:SQLite(轻量,适合单用户)

    总结

Blinko = 极简 UI + 双向链接 + 自托管 + 开源 + Docker 支持

它不是功能最全的笔记工具,但可能是最接近“数字第二大脑”初心的那一个——安静、可靠、属于你自己。

如果你也相信:“你的笔记,应该只属于你”,那么 Blinko 值得一试。

  • 项目地址:https://github.com/blinko-org/blinko
  • 官网(如有):通常直接访问部署后的 Web 界面即可使用

2.前提条件

2.1ssh远程连接到极空间

  • 开启【SSH 服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:
ssh root@IP

没有ssh的小伙伴可以参考这篇文章:

连接成功:极空间别再吃灰了!开启SSH,秒变全能服务器! – cpolar 极点云官网

image-20260522154032880

2.2验证docker是否开启

使用命令:

docker -v 
systemctl status -v

没有docker的小伙伴可以参考这篇文章:极空间开箱实录:从拆箱到远程访问保姆级教程,30分钟上手! – cpolar 极点云官网

image-20251017103712618

3.部署Blinko

通过Docker部署Blinko:

在开始部署之前,确保你的系统已经安装了Docker。可以通过以下命令检查 Docker 是否已安装:

docker --version

image-20260507155742946

执行以下命令,拉取以下Blinko相关镜像。

docker pull blinkospace/blinko:0.5.4
docker pull  postgres:14

image-20260703165035195

首先创建一下安装的目录并进入到该目录:

mkdir -p /docker/Blinko
chmod -R 777 /Blinko

image-20260703165047494

创建并编辑 docker-compose.yml文件:

vi docker-compose.yml
etworks:
  blinko-network:
    driver: bridge

services:
  blinko-website:
    image: blinkospace/blinko:0.5.4
    container_name: blinko-website
    environment:
      NODE_ENV: production
      # NEXTAUTH_URL: http://localhost:1111
      # NEXT_PUBLIC_BASE_URL: http://localhost:1111
      NEXTAUTH_SECRET: blinko
      DATABASE_URL: postgresql://postgres:blinko@postgres:5432/postgres
    depends_on:
      postgres:
        condition: service_healthy
    # Make sure you have enough permissions.
    # volumes:
      # - ~/your-name/.blinko:/app/.blinko
    restart: always
    logging:
      options:
        max-size: "10m"
        max-file: "3"
    ports:
      - 2600:1111
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:1111/"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 30s
    networks:
      - blinko-network

  postgres:
    image: postgres:14
    container_name: blinko-postgres
    restart: always
    ports:
      - 5435:5432
    environment:
      POSTGRES_DB: postgres
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: blinko
      TZ: Asia/Shanghai
    healthcheck:
      test:
        ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]
      interval: 5s
      timeout: 10s
      retries: 5
    networks:
      - blinko-network

image-20260703165109715

启动容器:

docker-compose up -d

image-20260703165125403

部署完成后,在浏览器中输入 http://极空间IP:2600 就能看到的界面:

8aba90efeaab1248f454ddc4e7c6735d

4.使用Blinko

点击”Sign up” ,开始注册账号,进入账号注册页面:

7ec8ec972d564d2a2232971b2467c96e

输入用户名密码:

81a66fb83c2589171822b2f1647ec509

注册完成后登录:

b9255ccd2f7c8c284b598da312f970cf

登录完成后就可以看见主页面啦:

image-20260703165610845

将语言改成中文:

image-20260703171649416

添加用户:

image-20260703171726294

创建一篇新笔记:

image-20260703171839592

image-20260703171906102

转为闪念:

image-20260703172014667

闪念主页就出现了:

image-20260703172044777

将 Blinko 与 cpolar 结合,是实现「私有笔记 + 公网访问」的理想方案。Blinko 虽然强大且完全自托管,但默认只能在局域网内访问;而 cpolar 作为一款简单高效的内网穿透工具,无需公网 IP、无需复杂配置,仅需一条命令即可为本地运行的 Blinko 服务生成安全的 HTTPS 公网地址。无论你在咖啡馆、出差途中,还是使用手机,都能随时随地通过浏览器安全访问自己的知识库。借助 cpolar,你的私有笔记系统真正实现了“随身携带、全球可达”,既保留了数据主权,又拥有了云端服务的便利性。

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:blinko,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:2600
  • 域名类型:随机域名
  • 地区:选择China Top

image-20260703170848887

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20260703170944994

访问成功。

image-20260703171006140

7.保留固定公网地址

使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是blinko,大家可以自定义。填写备注信息,点击保留。

image-20260703171204268

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20260703171220547

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20260703171243667

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20260703171300431

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20260703171321671

总结

通过本文的一步步操作,我们成功利用Docker在本地或服务器上部署了Blinko —— 一款轻量、开源、支持双向链接的自托管笔记工具。整个过程无需配置复杂的运行环境,仅需几条命令,即可拥有一个完全属于你自己的知识管理平台。

Blinko的极简设计让你专注写作,双向链接帮你构建知识网络,而 Docker 的容器化部署则确保了服务的稳定与可移植性。无论你是技术爱好者、知识工作者,还是希望摆脱商业 SaaS 依赖的普通用户,Blinko都是一个值得尝试的私有化笔记解决方案。

现在,你的笔记数据不再躺在第三方服务器上,而是安全地存储在你掌控的设备中。

真正的数字花园,从自托管开始。

  • 下一步建议:配置HTTPS(通过Nginx + Let’s Encrypt)
  • 设置定时备份SQLite数据库
  • 探索Blinko的标签系统与搜索功能,打造高效回顾流程

开源赋予自由,自托管守护隐私——愿你在Blinko中,写出更清晰的思想,留下更持久的知识。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章