image-20250416230448478

🤠「它能干嘛」

对比传统笔记工具的差异化优势

场景 Blinko 优势 传统工具不足
数据主权 完全自托管,数据本地化存储 依赖第三方云端,存在数据审查 / 泄露风险
技术扩展性 开源代码 + API 支持深度定制 闭源生态,功能受限于官方更新节奏
AI 功能落地 原生集成智能检索、内容生成,支持自定义模型接入 依赖第三方插件(如 Notion AI 需付费且功能有限)
轻量化部署 Docker 一键启动,适合私有云 / 离线环境 仅支持云端使用,本地化部署复杂

<separator-start></separator-start>

🔎1. 环境准备

1.1 系统要求

操作系统:Linux(推荐 Ubuntu 20.04+)、macOS 或 Windows(需安装 Docker Desktop)
Docker:版本 20.10+
Docker Compose:版本 1.29+

1.2 安装 Docker 与 Docker Compose

# 安装 Docker
sudo apt update && sudo apt install docker.io docker-compose -y
sudo systemctl enable --now docker

1.3 NAS安装 Docker 与 Docker Compose 即可

🤗2. 部署步骤

2.1 创建部署目录

mkdir -p /data/blinko && cd /data/blinko

2.2 Docker 安装

  1. 必须挂载 postgres 的数据卷,否则您的数据将丢失
  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

2.2 Docker Compose 安装

第 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", "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 步:执行 docker-compose 命令启动 Blinko

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

👍3. 配置说明

3.1 环境变量

变量名 说明
POSTGRES_PASSWORD PostgreSQL 数据库密码
NEXTAUTH_SECRET NextAuth.js 加密密钥(需随机生成)
DATABASE_URL 数据库连接字符串(格式:postgresql://用户名:密码@数据库服务名:端口/数据库名
NEXTAUTH_URL Blinko 服务 URL(用于身份验证回调)
NEXT_PUBLIC_BASE_URL Blinko 基础 URL(客户端使用)

3.2 数据持久化

数据库数据:通过 ./db 目录持久化 PostgreSQL 数据
应用数据:通过 ./blinko_data 目录存储笔记、附件等内容

✌️4. 访问与使用

4.1 首次访问

打开浏览器访问:http://your_server_ip:1111
注册账号并登录

4.2 基础功能

  1. 闪念记录:快速捕捉灵感,支持 Markdown 格式
  2. 笔记管理:支持标签分类、批量操作
  3. AI 检索:通过自然语言查询笔记(需配置 AI 模型)

4.3 配置 AI 功能

  1. 进入 Settings > AI Configuration
  2. 填写 OpenAI API Key 和模型接口地址
  3. 选择模型(如 gpt-3.5-turbo

🤞5. 安全与优化

5.1 HTTPS 配置(推荐)

# 安装 Nginx 反向代理
sudo apt install nginx -y
# 配置 Nginx 站点(/etc/nginx/sites-available/blinko)
server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:1111;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# 启用 HTTPS(需先获取证书)
sudo certbot --nginx -d your_domain.com
  • 5.2 安全建议

  1. 使用强密码并定期更换
  2. 限制容器权限(如 --user 参数)
  3. 启用防火墙(如 ufw
  4. 定期备份数据

🙌6. 维护与更新

6.1 更新 Blinko

# 拉取最新镜像
docker-compose pull blinko
# 重启容器
docker-compose up -d blinko

6.2 升级数据库

# 备份现有数据
docker-compose exec postgres pg_dump -U postgres blinko > backup.sql
# 停止并删除旧容器
docker-compose down
# 升级 Docker Compose 文件
# 重新启动容器
docker-compose up -d

⁉️7. 常见问题

7.1 容器启动失败

# 检查日志
docker-compose logs
# 检查端口占用
sudo lsof -i :1111

7.2 数据库连接失败

# 确认 DATABASE_URL 格式正确
# 检查容器网络
docker network inspect blinko_default

7.3 AI 功能报错

# 检查 API Key 是否有效
# 确认模型接口地址是否正确

<separator-end></separator-end>