把Blinko放进极空间:Docker 部署自托管笔记,并实现多设备远程访问

前言

我以前用笔记软件时,有一个习惯一直没太注意:笔记总是跟着某一台设备走。

电脑上装一个客户端,资料就主要在电脑里;手机上想继续看,要么依赖软件自己的同步服务,要么再折腾同步目录。换电脑、重装系统或者临时借别人的设备时,又会发现自己真正需要的不是"再安装一个笔记软件",而是能不能直接打开自己的那套笔记。

把 Blinko 部署到 NAS 以后,这个使用逻辑会有些不同。

Blinko 本身是一款开源、自托管的个人知识管理工具,支持 Markdown、标签、双向链接以及卡片式的内容组织方式。它当然也可以看成一个笔记软件,但如果通过 Docker 把它长期运行在极空间上,它更像是一个属于自己的"笔记网站"。

电脑不再是笔记真正运行的地方,极空间才是。

本文采用 Docker Compose 部署 Blinko,同时启动 PostgreSQL 数据库。Blinko 容器内部使用 1111 端口,对外映射到极空间的 2600 端口 。部署完成后,在局域网中访问 http://极空间IP:2600,注册账号以后就可以开始记录内容。

这种方式和传统桌面笔记最明显的区别,是使用入口变成了浏览器。

在电脑上写,可以打开浏览器;换到平板或者手机,只要能访问这个地址,同样进入的是自己的 Blinko。笔记实际运行和保存的位置没有跟着设备不断变化,前端设备更像只是一个入口。

Blinko 的设计也比较适合这种使用方式。

它没有特别复杂的界面,可以创建普通笔记,也可以把内容转成"闪念",更适合先快速把一个想法记下来,再慢慢整理。标签和双向链接则用来建立不同笔记之间的关系。它不一定适合追求大量数据库、项目管理和复杂协作的人,但如果想搭一套结构相对简单、数据自己掌握的个人笔记库,这种定位反而比较明确。

当然,部署在极空间还有一个天然限制。

极空间IP:2600 仍然只是家庭局域网地址。人在家里使用没问题,但一旦换成手机流量、公司网络或者出差在外,这个地址就不存在了。

本文在部署完成后,又使用 cpolar 给 Blinko 的 2600 端口增加公网入口。这样并没有改变 Blinko 的数据存放位置,笔记依然运行在自己的极空间上,只是多了一条可以从其他网络进入的访问路径。需要长期使用的话,还可以进一步配置固定二级子域名,把这个地址直接收藏在手机和电脑浏览器中。

所以我觉得这篇教程真正要做的,并不是单纯教你"怎样安装 Blinko"。

它更像是在调整笔记的存放方式:从"在某台电脑上装一个笔记软件",变成"在自己的 NAS 上长期运行一个笔记服务"。前者跟着设备走,后者则让电脑、手机和平板都只是访问同一套知识库的不同入口。

如果你本来就有一台长期在线的极空间,又希望笔记数据尽量放在自己掌控的设备上,这种自托管方式就比单独在电脑里再装一个笔记客户端更值得尝试。

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 值得一试。

2.前提条件

2.1ssh远程连接到极空间

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

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

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

2.2验证docker是否开启

使用命令:

shell 复制代码
docker -v 
systemctl status -v

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

3.部署Blinko

通过Docker部署Blinko:

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

shell 复制代码
docker --version

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

shell 复制代码
docker pull blinkospace/blinko:0.5.4
docker pull  postgres:14

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

shell 复制代码
mkdir -p /docker/Blinko
chmod -R 777 /Blinko

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

shell 复制代码
vi docker-compose.yml
shell 复制代码
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

启动容器:

shell 复制代码
docker-compose up -d

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

4.使用Blinko

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

输入用户名密码:

注册完成后登录:

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

将语言改成中文:

添加用户:

创建一篇新笔记:

转为闪念:

闪念主页就出现了:

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

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

5.1 什么是cpolar?

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

5.2 部署cpolar

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

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

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

shell 复制代码
sudo systemctl status cpolar

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

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

6.配置公网地址

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

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

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

访问成功。

7.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

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

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

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

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

点击更新

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

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

总结

Blinko 部署到极空间以后,变化最大的其实不是多了双向链接或者闪念功能,而是笔记不再依赖某一台具体的电脑。Docker 负责让 Blinko 和 PostgreSQL 长期运行,极空间负责提供存储和在线环境,电脑、手机和平板则都可以通过浏览器进入同一套笔记库。

如果只在家里使用,2600 端口的局域网地址已经够用;需要在其他网络继续访问时,再通过 cpolar 增加公网入口,长期使用则可以进一步配置固定二级子域名。

Blinko 并不是功能最复杂的知识管理工具。如果需要大型团队协作、复杂数据库或者项目流程,可能还有更合适的选择。但对于已经有 NAS、喜欢 Markdown,又希望自己的笔记能够长期放在自己设备上的用户来说,这种"把笔记做成一个自托管服务"的方式还是很有意思的。

比起不断寻找下一款笔记软件,先决定自己的笔记最终应该放在哪里,可能更重要。

相关推荐
Shaoxi Zhang11 小时前
JAVA学习笔记035——对象和JSON格式
java·笔记·学习
Oll Correct11 小时前
Adobe illustrator 案例六:手枪图标绘制
笔记·ui·adobe·illustrator
xrlfreedom12 小时前
大厂 MCP 面试实录:内部 REST API 封装为可审计 MCP Tools 的落地方案
docker·mcp·提示注入防护
摇滚侠13 小时前
《Docker技术入门与实战 第4版》阅读笔记 2 Docker 镜像
笔记·docker·容器
云原生指北14 小时前
Docker Sandboxes 工作区怎么接:Direct、Clone 和它们的边界
git·docker·agent
玉宇夕落15 小时前
Docker + Nginx + Node.js 容器化部署 —— 从零到一理解反向代理与容器化原理
docker
疯狂打码的少年16 小时前
【数据结构】图的遍历:深度优先搜索(DFS)
数据结构·笔记·算法·深度优先
ly768916 小时前
Docker 从入门到实践:镜像、容器、Dockerfile 与 Docker Compose 详解
运维·docker·容器
梦梦代码精16 小时前
基于UniApp+Vue3+ThinkPHP 8,这套知识付费系统的架构设计有点东西
java·低代码·docker·uni-app·开源·php