搭建一个轻量级笔记Blinko

Blinko 是一个 创新的 开源项目,专为希望快速捕捉和整理转瞬即逝的灵感的用户而设计。Blinko 让用户可以随时随地无缝记录灵感,确保不让任何创意火花溜走。

特征

AI增强型笔记检索

利用人工智能驱动的 RAG 技术,通过自然语言查询快速搜索和检索您的笔记。

数据所有权

您的所有笔记和数据都安全地存储在您自己的托管环境中,确保您对自己的信息拥有完全的控制权。

安装

5分钟内即可开始安装Blinko

Docker

运行 Blinko 需要 Docker。请访问Docker 网站安装 Docker。
安全警告:您必须更改NEXTAUTH_SECRET以下所有安装方法中的值。使用默认值会带来严重的安全风险。请为生产环境生成强随机字符串。生成安全密钥的示例:

openssl rand -base64 32
# or
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"

Bash脚本安装

install.sh使用 docker run 命令部署 Blinko。如果您觉得这种方法不安全,可以使用下面的其他方法。

安装脚本

curl -o install.sh https://raw.githubusercontent.com/blinko-space/blinko/main/install.sh && bash install.sh

Docker 安装

  1. 必须挂载PostgreSQL的数据卷,否则数据将会丢失。
  2. 请替换NEXTAUTH_SECRET=my_ultra_secure_nextauth_secret为您自己的安全密钥

步骤 1:创建自定义 Docker 网络

docker network create blinko-network

步骤 2:运行 PostgreSQL 数据库容器

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 网站容器

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 安装

要使用 docker-compose 部署 Blinko,请创建一个包含以下配置的 docker-compose.yml 文件:

步骤 1:创建 docker-compose.yml

  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
        # IMPORTANT: If you want to use sso, you must set NEXTAUTH_URL to your own domain
        # NEXT_PUBLIC_BASE_URL: http://localhost:1111
        # IMPORTANT: Replace this with your own secure secret key!
        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", "wget", "--spider", "-q", "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:执行 docker-compose 命令以启动 Blinko

docker-compose -f docker-compose.yml up -d
THE END