Blinko 开源笔记工具 Docker 部署教程
AI-摘要
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
🤠「它能干嘛」
对比传统笔记工具的差异化优势
场景 | 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 安装
- 必须挂载 postgres 的数据卷,否则您的数据将丢失
- 替换为您自己的安全密钥
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 基础功能
- 闪念记录:快速捕捉灵感,支持 Markdown 格式
- 笔记管理:支持标签分类、批量操作
- AI 检索:通过自然语言查询笔记(需配置 AI 模型)
4.3 配置 AI 功能
- 进入 Settings > AI Configuration
- 填写 OpenAI API Key 和模型接口地址
- 选择模型(如
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 安全建议
- 使用强密码并定期更换
- 限制容器权限(如
--user
参数) - 启用防火墙(如
ufw
) - 定期备份数据
🙌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>
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 堆新引力
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果