飞牛OS上用Docker部署开源项目Blinko笔记教程
LRY如烟
编辑于 2024年12月13日 12:18

视频教程

你是否渴望在自家的私有云上搭建一个安全、高效的笔记系统?或者你是否希望在任何地方都能轻松访问和编辑你的笔记?如果是,那么Blinko——这款开源的笔记神器,将是你的不二之选。

Hello,宝宝们,今天cc给大家分享一款最近新出的一个可以用Docker部署的开源项目blinko。

github项目地址:https://github.com/blinko-space/blinko

blinko文档地址:https://blinko.mintlify.app/install

Blinko是什么?

在数字化时代,信息的快速记录与整理变得尤为重要。对于NAS玩家和内网穿透玩家来说,拥有一个既安全又高效的笔记工具是提升工作效率的关键。

而Blinko,就是一个开源的个人笔记工具,以其AI增强的笔记检索、数据所有权保护、高效快速的笔记记录和轻量级架构等特点,成为了Docker玩家的新宠。

今天呢,cc就分享一下如何在飞牛OS上使用Docker部署Blinko开源笔记项目,让你的笔记管理更加得心应手。

同样地,开始之前呢,cc先简单介绍一下Blinko有什么特点。

Blinko的主要特点

Blinko 是一个 创新的 开源项目,专为想要快速捕捉和整理瞬间想法的个人而设计。Blinko 让用户可以在灵感迸发的瞬间无缝记录想法,确保创意的火花不会白白流逝。

  • AI智能增强笔记检索:Blinko利用先进的AI技术,通过自然语言查询快速搜索和访问笔记。

  • 数据所有权:所有笔记和数据都存储在用户自托管的环境中,确保用户完全控制自己的信息。

  • 高效快速:Blinko支持即时捕捉想法并以纯文本形式存储,同时支持Markdown格式,便于快速格式化和分享。

  • 轻量级架构:基于Next.js构建,提供强大的性能和高效的运行速度。

  • 开放协作:作为一个开源项目,Blinko欢迎社区的贡献,所有代码透明可见,促进协作和持续改进。

部署前的准备

在开始部署之前,请确保你的飞牛OS系统已经安装了DockerDocker Compose。如果尚未安装,可以参考飞牛OS的官方文档进行安装。

部署步骤

方法一:使用Docker部署blinko【视频中没讲这个方法,直接从下面的方法二开始看】

必须挂载postgres的数据卷,否则你的数据将会丢失

1️⃣创建自定义Docker网络

代码块
Shell
自动换行
复制代码
docker network create blinko-network
复制成功

2️⃣运行PostgreSQL数据库容器

代码块
JavaScript
自动换行
复制代码
docker run -d \
--name blinko-postgres \
--network blinko-network \
-v <your-path>:/var/lib/postgresql/data \
-p 5435:5432 \
-e POSTGRES_DB=postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-e TZ=Asia/Shanghai \
--restart always \
postgres:14
复制成功

3️⃣运行Blinko网站容器

代码块
JavaScript
自动换行
复制代码
docker run -d \
--name blinko-website \
--network blinko-network \
-v <your-path>:/app/.blinko \
-p 1111:1111 \
-e NODE_ENV=production \
-e NEXTAUTH_URL=http://localhost:1111 \
-e NEXT_PUBLIC_BASE_URL=http://localhost:1111 \
-e NEXTAUTH_SECRET=my_ultra_secure_nextauth_secret \
-e DATABASE_URL=postgresql://postgres:mysecretpassword@blinko-postgres:5432/postgres \
--restart always \
blinkospace/blinko:latest
复制成功

方法二:使用Docker Compose部署blinko

要使用 docker compose 部署 Blinko,请创建具有以下配置的 docker-compose.yml 文件:

1️⃣进入飞牛OS,打开Docker

创建docker-compose.yml文件,并粘贴以下内容:

代码块
JavaScript
自动换行
复制代码
  networks:
    blinko-network:
      driver: bridge

  services:
    blinko-website:
      image: blinkospace/blinko:latest
      container_name: blinko-website
      environment:
        NODE_ENV: production
        # NEXTAUTH_URL: http://localhost:1111
        # NEXT_PUBLIC_BASE_URL: http://localhost:1111
        NEXTAUTH_SECRET: my_ultra_secure_nextauth_secret
        DATABASE_URL: postgresql://postgres:mysecretpassword@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:
        - 1111:1111
      healthcheck:
        test: ["CMD", "curl", "-f", "http://blinko-website: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: mysecretpassword
        TZ: Asia/Shanghai
      # Persisting container data
      # Make sure you have enough permissions.
      # volumes:
        # - ~/your-name/.db:/var/lib/postgresql/data
      healthcheck:
        test:
          ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]
        interval: 5s
        timeout: 10s
        retries: 5
      networks:
        - blinko-network
复制成功

2️⃣启动或重启Blinko容器

3️⃣启动blinko容器之后用飞牛OS的本地IP和blinko的本地端口进行访问

下面是我这里的访问地址【IP后面的冒号是英文格式】

代码块
JavaScript
自动换行
复制代码
http://192.168.10.32:1111/
复制成功