目 录CONTENT

文章目录

用Docker搭建一款超酷的支持AI加持的开源笔记与闪念工具-Blinko

yyzq
2025-03-04 / 0 评论 / 1 点赞 / 580 阅读 / 2,801 字

前言

今天给大家介绍一个超棒的工具——Blinko,Blinko是一个开源的灵感捕捉工具,它能帮助你快速记录脑海中的创意火花,确保没有一个灵感溜走。就像你大脑里的一个小精灵,随时准备将你的闪电思维捕捉下来!如果你时常被突如其来的灵感困扰,却又担心它们转瞬即逝,那Blinko绝对能帮你捕捉住每一个闪现的创意!无论是文字、视频还是音频,Blinko都能轻松记录.
与之前分享的Memos非常相似但是比那个功能更多点
image-1741085118088

🚀 Blinko有哪些亮点?
🧠 AI驱动的智能检索
再也不用担心找不到以前记下的灵感。Blinko的AI可以理解自然语言查询,让你轻松找到曾经记录的笔记,就像有一个得力的小助手,随时帮你翻找信息。

🔒 完全掌控数据安全
隐私泄露?不存在的!Blinko允许你把所有笔记存储在自己的服务器上,数据完全掌握在你手里,安全性高得让你放心。

⚡ 极速记录
灵感无阻 灵感来得快,记录也要快。Blinko支持Markdown语法,让你的思维瞬间整理成条理清晰的笔记,效率极高。

🪶 轻量级架构
Blinko基于Next.js构建,轻量又快速,不会给服务器带来任何负担。

🌟 完全开源免费
Blinko是完全开源的,大家可以一起参与改进。最棒的是,它完全免费,没有任何隐藏收费,随时欢迎大家加入这个创意工具的社区!

demo

https://blinko.koyeb.app/

blinko
blinko

准备条件

1)一台服务器或者NAS
我们使用飞牛云NAS和VPS来演示

需要vps的可以看以下信息

香港VPS

香港Colo数据中心,3C直连,平均延时30+ms,免备案

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
香港BGP 标配版 1C 1G 30G 3Mbps 无限 22 元/月 点我购买
香港BGP 限量款 2C 4G 30G 3Mbps 无限 25 元/月 点我购买
香港BGP(弹性) 2 – 16C 4 – 32G 30 – 400G 3 – 20Mbps 无限 22 元/月起 点我购买

香港Mega Two数据中心,三网CN2 GIA优化,实现全国超低延迟。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
香港CN2 GIA 标配版 1C 1G 20G 3Mbps 无限 30 元/月 点我购买
香港CN2 GIA(弹性) 2 – 32C 2 – 128G 40 – 700G 3 – 30Mbps 无限 48 元/月起 点我购买

日本VPS

日本服务器介绍
电信去程163,回程CN2,移动联通双程骨干直连,宽带质量优秀。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
日本CN2(弹性) 1 – 16C 1 – 16G 20-200G 5 – 20Mbps 不限流量 46 元/月起 点我购买
日本CN2大带宽(弹性) 1 – 16C 1 – 16G 20-200G 20 – 50Mbps 500G/月 55 元/月起 点我购买

韩国VPS

韩国服务器介绍
韩国CN2优化线路,大陆访问快速响应,电信CN2
线路,带宽质量优秀

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
韩国CN2(弹性) 1 – 32C 1 – 128G 20 – 100G 3 – 20Mbps 看需求 ¥ 35.00 起/ 月 点我购买
韩国CN2大带宽(弹性) 1 – 32C 1 – 128G 20 – 100G 20 – 50Mbps 300G/月起 38 元/月起 点我购买

美国VPS

美国T级防御云服务器介绍
去程普通线路,回程CN2/9929线路,大陆防御值为200G,超过峰值解封快。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
美国T级防御(弹性) 1 – 16C 1 – 16G 20 – 100G 20 – 300Mbps 不限流 40 元/月起 点我购买
美国高防(弹性) 1 – 16C 1 – 16G 20 – 200G 10 – 30Mbps 不限流 58 元/月起 点我购买
美国高防大带宽(弹性) 1 – 16G 1 – 16G 20 – 200G 20 – 50Mbps 500G/月 56 元/月起 点我购买

2)本项目使用到的github

https://github.com/blinko-space/blinko

3)域名(可选)
最好是绑定下域名

①《飞牛NAS上搭建》

直接在docker新增一个compose项目即可
新建项目:

blinko

compose配置如下:

networks:
  blinko-network:  # 定义一个名为 blinko-network 的网络
    driver: bridge  # 使用桥接模式的网络驱动

services:
  blinko-website:  # 定义一个服务,名字为 blinko-website
    image: blinkospace/blinko:latest  # 使用的镜像为 blinkospace/blinko:latest
    container_name: blinko-website  # 容器名称为 blinko-website
    environment:
      NODE_ENV: production  # 设置 Node.js 环境为生产模式
      NEXTAUTH_SECRET: my_ultra_secure_nextauth_secret  # 设置 NextAuth 的密钥
      DATABASE_URL: postgresql://postgres:mysecretpassword@postgres:5432/postgres  # 设置数据库连接 URL
    depends_on:
      postgres:
        condition: service_healthy  # 等待 postgres 服务健康后启动
    volumes:
      - ./blinko:/app/.blinko  # 挂载本地目录 ./blinko 到容器的 /app/.blinko 目录
    restart: always  # 容器崩溃后自动重启
    logging:
      options:
        max-size: "10m"  # 日志最大大小为 10MB
        max-file: "3"  # 保留最多 3 个日志文件
    ports:
      - 1111:1111  # 将容器的 1111 端口映射到主机的 1111 端口
    healthcheck:
      test: ["CMD", "curl", "-f", "http://blinko-website:1111/"]  # 健康检查命令,访问 http://blinko-website:1111
      interval: 30s  # 每 30 秒进行一次健康检查
      timeout: 10s   # 健康检查超时时间为 10 秒
      retries: 5     # 如果健康检查失败,最多重试 5 次
      start_period: 30s  # 容器启动后等待 30 秒开始健康检查
    networks:
      - blinko-network  # 使用 blinko-network 网络

  postgres:  # 定义一个服务,名字为 postgres
    image: postgres:14  # 使用的镜像为 postgres:14
    container_name: blinko-postgres  # 容器名称为 blinko-postgres
    restart: always  # 容器崩溃后自动重启
    ports:
      - 5435:5432  # 将容器的 5432 端口映射到主机的 5435 端口
    environment:
      POSTGRES_DB: postgres  # 设置数据库名称
      POSTGRES_USER: postgres  # 设置 PostgreSQL 用户
      POSTGRES_PASSWORD: mysecretpassword  # 设置 PostgreSQL 用户的密码
      TZ: Asia/Shanghai  # 设置时区为上海
    volumes:
      - ./db:/var/lib/postgresql/data  # 挂载本地目录 ./db 到容器的 /var/lib/postgresql/data 目录
    healthcheck:
      test:
        ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]  # 健康检查命令,检查 PostgreSQL 是否准备好
      interval: 5s  # 每 5 秒进行一次健康检查
      timeout: 10s  # 健康检查超时时间为 10 秒
      retries: 5     # 如果健康检查失败,最多重试 5 次
    networks:
      - blinko-network  # 使用 blinko-network 网络

启动即可
image-1741085594000
正常启动
image-1741085610966

补充docker可用的镜像仓库

仓库1

https://proxy.1panel.live/

仓库2

https://docker.1panel.top/

仓库3

https://mirror.azure.cn/

仓库4

https://hub.rat.dev/

仓库5

https://docker.1ms.run

仓库6

https://docker.itelyou.cf/

仓库7

https://abc.itelyou.cf/

仓库8

https://docker.ywsj.tk/

②《vps上搭建》

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建docker-compose.yml文件

mkdir blinko;cd blinko #创建一个目录,并进入此目录
vim docker-compose.yml
networks:
  blinko-network:  # 定义一个名为 blinko-network 的网络
    driver: bridge  # 使用桥接模式的网络驱动

services:
  blinko-website:  # 定义一个服务,名字为 blinko-website
    image: blinkospace/blinko:latest  # 使用的镜像为 blinkospace/blinko:latest
    container_name: blinko-website  # 容器名称为 blinko-website
    environment:
      NODE_ENV: production  # 设置 Node.js 环境为生产模式
      NEXTAUTH_SECRET: my_ultra_secure_nextauth_secret  # 设置 NextAuth 的密钥
      DATABASE_URL: postgresql://postgres:mysecretpassword@postgres:5432/postgres  # 设置数据库连接 URL
    depends_on:
      postgres:
        condition: service_healthy  # 等待 postgres 服务健康后启动
    volumes:
      - ./blinko:/app/.blinko  # 挂载本地目录 ./blinko 到容器的 /app/.blinko 目录
    restart: always  # 容器崩溃后自动重启
    logging:
      options:
        max-size: "10m"  # 日志最大大小为 10MB
        max-file: "3"  # 保留最多 3 个日志文件
    ports:
      - 1111:1111  # 将容器的 1111 端口映射到主机的 1111 端口
    healthcheck:
      test: ["CMD", "curl", "-f", "http://blinko-website:1111/"]  # 健康检查命令,访问 http://blinko-website:1111
      interval: 30s  # 每 30 秒进行一次健康检查
      timeout: 10s   # 健康检查超时时间为 10 秒
      retries: 5     # 如果健康检查失败,最多重试 5 次
      start_period: 30s  # 容器启动后等待 30 秒开始健康检查
    networks:
      - blinko-network  # 使用 blinko-network 网络

  postgres:  # 定义一个服务,名字为 postgres
    image: postgres:14  # 使用的镜像为 postgres:14
    container_name: blinko-postgres  # 容器名称为 blinko-postgres
    restart: always  # 容器崩溃后自动重启
    ports:
      - 5435:5432  # 将容器的 5432 端口映射到主机的 5435 端口
    environment:
      POSTGRES_DB: postgres  # 设置数据库名称
      POSTGRES_USER: postgres  # 设置 PostgreSQL 用户
      POSTGRES_PASSWORD: mysecretpassword  # 设置 PostgreSQL 用户的密码
      TZ: Asia/Shanghai  # 设置时区为上海
    volumes:
      - ./db:/var/lib/postgresql/data  # 挂载本地目录 ./db 到容器的 /var/lib/postgresql/data 目录
    healthcheck:
      test:
        ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]  # 健康检查命令,检查 PostgreSQL 是否准备好
      interval: 5s  # 每 5 秒进行一次健康检查
      timeout: 10s  # 健康检查超时时间为 10 秒
      retries: 5     # 如果健康检查失败,最多重试 5 次
    networks:
      - blinko-network  # 使用 blinko-network 网络

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否开启成功

正常启动如下所示

 docker-compose ps
NAME              IMAGE                       COMMAND                  SERVICE          CREATED       STATUS                 PORTS
blinko-postgres   postgres:14                 "docker-entrypoint.s…"   postgres         5 hours ago   Up 5 hours (healthy)   0.0.0.0:5435->5432/tcp, [::]:5435->5432/tcp
blinko-website    blinkospace/blinko:latest   "docker-entrypoint.s…"   blinko-website   5 hours ago   Up 5 hours (healthy)   0.0.0.0:1111->1111/tcp, [::]:1111->1111/tcp

四、打开web页面使用

成功以后需要打开自己相应的端口(1111)防火墙就可以web端访问了
打开自己VPS的端口加ip进入初始化页面

http://ip:1111

image-1741085962524

第一次需要注册,直接注册即可

http://ip:1111/signup

image-1741085931325

五、数据持久化

如果需要更换服务器直接备份这个目录即可

tar -zcf blinko.tar.gz blinko db docker-compose.yml

六、绑定域名

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

1

评论区