侧边栏壁纸
博主头像
羊刀仙的部落格 博主等级

很有力量。

  • 累计撰写 272 篇文章
  • 累计创建 59 个标签
  • 累计收到 11 条评论

目 录CONTENT

文章目录

搭出自己的Notion+白板,NAS一键部署AFFiNE笔记知识库

羊刀仙
2026-05-25 / 0 评论 / 0 点赞 / 2 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
GW树洞

高速稳定 · 海外专线

  • 自用推荐
  • 90天使用时长
  • 70+ 节点分布
  • IEPL专线 油管4K无压力
  • 全平台客户端
  • 不限制在线设备
立即注册

前段时间在群里聊天时,有群友提到想在威联通 NAS 上部署 AFFiNE,希望把它作为一个自托管的知识库和协作工具来使用。体验过后,笔者认为这个项目的实时同步协作和文档白板切换比较好用。它作为一款商业软件也许一般,但是从开源软件角度讲还是比较厉害的~

Draw.jpg

AFFiNE本身定位比较特别,它不像传统笔记软件只负责记录文字,而是把文档、白板、知识库和项目管理整合在一起,比较适合用来做个人知识整理、团队资料沉淀,甚至是一些轻量级的工作协作。并且就在前几天,官方也宣布了接入人工智能系统。

a0TKbLywUMbtLI3fHHlEYtFK-TtEY-Z4jcB6EE_GI6Q=.avif

AFFiNE需要配合数据库、缓存等组件一起运行,所以部署方式更适合使用 Docker Compose。威联通的 Container Station 本身支持 Compose 应用,因此只要准备好配置文件,就可以在 NAS 上完成部署。

项目介绍

AFFiNE 是一个开源的知识库与协作工具,可以简单理解为一个融合了 Notion 文档能力 和 白板画布能力 的生产力平台。它既可以用来写笔记、整理资料、建立知识库,也可以用来做项目规划、流程梳理、头脑风暴和团队协作。

和普通笔记软件不同,AFFiNE 不只是单纯记录文字,它支持文档、表格、看板、白板、关系链接等多种内容形式,适合把零散的信息集中管理起来。对于有 NAS 的用户来说,把 AFFiNE 部署在本地,可以利用 NAS 长期在线、集中存储、便于备份的特点,搭建一个属于自己的私有知识库。

如果你有以下需求,就可以考虑部署 AFFiNE:

想要一个本地化的笔记和知识管理工具;想把资料、项目计划、灵感记录统一整理起来;希望数据尽量存放在自己的 NAS 上;或者单纯想体验一个开源、自托管的 Notion 类工具。对于这类用户来说,AFFiNE 是一个值得尝试的项目。

部署流程

本篇文章就以威联通 NAS 为例,记录一下 AFFiNE 的完整部署过程。

准备配置文件

官方示例配置文件本身也主要是 $schemaserver.name 这类基础配置。

SSH连接你的NAS,并输入以下命令:

mkdir -p /share/Container/affine/config

cd /share/Container/affine

cat > ./config/config.json <<'EOF'
{
  "$schema": "https://github.com/toeverything/affine/releases/latest/download/config.schema.json",
  "server": {
    "name": "AFFiNE on QNAP NAS"
  }
}
EOF

截屏2026-05-25 11.06.50.png

正式部署

我直接把数据库用户名、数据库名、数据库密码都统一设置成affine,如果大家要改,仔细检查逐一替换。

完整部署代码如下:

name: affine

services:
  affine:
    image: ghcr.io/toeverything/affine:stable
    container_name: affine_server
    ports:
      - "3010:3010"
    depends_on:
      redis:
        condition: service_healthy
      postgres:
        condition: service_healthy
      affine_migration:
        condition: service_completed_successfully
    volumes:
      - /share/Container/affine/storage:/root/.affine/storage
      - /share/Container/affine/config:/root/.affine/config
    environment:
      REDIS_SERVER_HOST: redis
      DATABASE_URL: postgresql://affine:affine@postgres:5432/affine
      AFFINE_INDEXER_ENABLED: "false"
    restart: always

  affine_migration:
    image: ghcr.io/toeverything/affine:stable
    container_name: affine_migration_job
    command: ["sh", "-c", "node ./scripts/self-host-predeploy.js"]
    volumes:
      - /share/Container/affine/storage:/root/.affine/storage
      - /share/Container/affine/config:/root/.affine/config
    environment:
      REDIS_SERVER_HOST: redis
      DATABASE_URL: postgresql://affine:affine@postgres:5432/affine
      AFFINE_INDEXER_ENABLED: "false"
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy

  redis:
    image: redis:latest
    container_name: affine_redis
    healthcheck:
      test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
    restart: always

  postgres:
    image: pgvector/pgvector:pg16
    container_name: affine_postgres
    volumes:
      - /share/Container/affine/postgres:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: affine
      POSTGRES_PASSWORD: affine
      POSTGRES_DB: affine
      POSTGRES_INITDB_ARGS: "--data-checksums"
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "affine", "-d", "affine"]
      interval: 10s
      timeout: 5s
      retries: 5
    restart: always

打开威联通的Container Station,创建新的应用程序。

截屏2026-05-25 11.39.47.png

软件使用相关

部署完毕后,如果你的程序运行状况与下图类似,不用担心。affine_migration_job 不是常驻服务,它的作用是初始化数据库、执行数据库迁移。任务跑完以后,它就会自动退出,所以在 Container Station 里会显示“已停止”。

截屏2026-05-25 11.50.16.png

我们浏览器输入NAS_IP:3010,即可看到初始化页面。

截屏2026-05-25 11.52.33.png

创建管理员账号,依次填写用户名、邮箱和密码,

截屏2026-05-25 11.52.48 拷贝.png

确认后会自动跳转到后台。

截屏2026-05-25 11.53.00 拷贝.png

在管理后台中,可以进行用户账号管理、任务队列查看、存储配置、OAuth 登录配置、AI 功能配置等服务端相关设置。比如截图中的 AI 选项,就可以用来配置 Copilot 插件以及 OAI、Gemini等模型服务。

截屏2026-05-25 14.18.05.png

这里需要说明的是,如果你要用于外网、跨区域协作等,反代配置域名后,要在后台填写外网访问域名,如下图第一栏。第三个输入框是允许哪些 Host 访问 AFFiNE,这个也按照个人需求来,支持填写多个。

截屏2026-05-25 14.25.04.png

如果要进入前台,则需要我们新开一个标签页,再次输入NAS_IP:3010即可。

截屏2026-05-25 13.08.48.png

如下图,先修改界面语言为简体中文。

截屏2026-05-25 13.09.32.png

这里虽提醒存储在浏览器中,我们点击启用云服务即可,毕竟已经配置到了NAS。

截屏2026-05-25 13.08.48.png

之后写笔记,画图之类,大家自行使用。

截屏2026-05-25 13.10.56.png

最后

可能还不完美,但是比较有趣。

感谢观看,本文完。

0

评论区