0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

部署多功能集成的协作知识库 AFFiNE

jf_94205927 来源:jf_94205927 作者:jf_94205927 2024-12-30 15:19 次阅读

一、Flexus 云服务器 X 实例介绍

云服务器是一种高效便捷的计算资源服务。它可随时根据需求进行弹性扩展,具有高可靠性和稳定性。无需担心硬件维护,轻松应对高并发访问。无论是企业建站、开发应用还是数据存储,云服务器都能提供强大支持,助力你的业务在云端飞速发展。

华为云下一代云服务器 Flexus X 实例焕新上线,新产品提供与华为云旗舰级云服务器产品相同的单 AZ 99.975%可用性,跨 AZ 99.995%可用性,阶梯式定价、动态画像并搭配 AS,实现资源弹性伸缩对应业务弹性变化,同时降低 TCO,覆盖行业大多数通用工作负载场景。

wKgZPGdySX2AYd1UAAE3BYFqDzM661.png

Flexus X 实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

wKgZO2dySX2AXRxAAAvyr-51fqA558.gif

本次测评使用的规格是:4 核 12G-100G-3M 规格的 Flexus X 实例基础模式

wKgZPGdySX6AR1tjAADbGgbRz8w976.png

二、Flexus 云服务器 X 实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网 IP 地址和用户名,首先打开你的服务器控制台,选择重置密码

wKgZO2dySX6AEHgbAAEht_ZSD6I775.png

勾选自动重启,点击确定即可

wKgZPGdySX6AOhUAAAEm9L_LepM268.png

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的 VNC 方式登录、使用 Linux/Mac OS 系统主机登录 Linux 弹性云服务器(即 ssh root@192.168.48.78 命令)或者使用 Putty、Xshell 等工具登录 Linux 弹性云服务器。

我个人习惯使用 MobaXterm这款软件,添加 SSH 连接,输出公网 IP、用户名和端口(默认 22),连接即可。

wKgZO2dySX6ARF0KAAD9ADt1Woc933.png

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个 VPC 内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。

wKgZPGdySX-AbBZHAAEfDVjdzPY857.png

主要需要填写优先级(默认填 1 即可)、协议端口(协议一般为 TCP 或 UDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

wKgZO2dySX-AD6-_AAE7Ww8851Q388.png

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是 ubuntu 系统镜像,需要自己安装 docker 环境

使用 apt-get 命令安装 docker 及其配置

#安装必要工具包 $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common#添加 Docker GPG 秘钥 $ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -#配置仓库源 $ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #更新 apt 包索引 $ sudo apt-get update#安装 docker$ sudo apt-get install docker-ce docker-ce-cli containerd.io#添加 docker 镜像源 $ sudo vim /etc/docker/daemon.json{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/","https://dockerproxy.com",]}#重启 $ sudo systemctl daemon-reload$ sudo systemctl restart docker

测试 docker 安装是否成功

root@flexusx-c6b3:~# docker -vDocker version 27.2.0, build 3ab4256```

检查 docker 服务状态

root@flexusx-c6b3:~# systemctl status docker* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h agoTriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查 docker compose 版本

root@flexusx-c6b3:~# docker compose versionDocker Compose version v2.29.2

三、Flexus 云服务器 X 实例部署 AFFiNE

3.1 AFFiNE 介绍

AFFiNE 是一个开源的一体化工作区和操作系统,适用于构建知识库的所有构建块以及更多内容— wiki、知识管理、演示和数字资产。它是 Notion 和 Miro 的更好替代品。

AFFiNE 是一款基于 CRDT 的本地优先应用程序,支持实时协作。您的数据始终存储在本地,同时多个节点保持实时同步。

•集成化文档与白板:通过将文档和白板集成为一个功能模块,AFFiNE 使团队能够实现从思维导图到正式文档的无缝过渡,确保了创意的完整和共享。

•强大的看板功能:AFFiNE 提供了先进的看板项目管理工具,支持用户轻松管理各种任务,尤其适合团队协作和个人规划。通过可视化的方式,用户可以直接跟踪项目进展,提高时间和任务管理的效率。

•灵活的操作界面:其简洁直观的设计界面赢得了用户的一致赞赏,用户可以通过个人化的设置,自由调整工作视图,从而更好地支持不同的工作风格。

•本地优先的隐私保护:用户数据的管理完全掌握在用户的手中。AFFiNE 旨在提供一个安全可靠的环境,用户的数据不会无意间被分享或者滥用。

•开源社区:用户不仅是产品的消费者,更是其设计的参与者。通过开源,AFFiNE 开放了更多可能性,让用户根据自己所需定制和创新出不一样的功能。

wKgZPGdySX-AZ3-rAAILZNl07do423.png

AFFiNE 以及我们的云服务和所有基础设施都是 100%开源的,可以自由地管理、自行托管甚至塑造您自己的 AFFiNE 版本。借助官方即将推出的插件社区和第三方模块,正在构建一个适合任何人的独特需求的平台,想象一个像您自己的数字生活方式一样可定制的工作空间,其中每个工具和功能都是专门为您独特的工作流程量身定制的。

•官网:https://affine.pro/

•Github:https://github.com/toeverything/AFFiNE

3.2 AFFiNE 部署

•创建 docker-compose.yml

version:"3.5"services:affine:image:ghcr.io/toeverything/affine-graphql:stablecontainer_name:affine_selfhostedcommand: ['sh','-c','node ./scripts/self-host-predeploy && node ./dist/index.js']ports: -'3010:3010' -'5555:5555'depends_on: -redis -postgresvolumes:# custom configurations -./self-host/config:/root/.affine/config# blob storage -./self-host/storage:/root/.affine/storagelogging:driver:'json-file'options:max-size:'1000m'restart:unless-stoppedenvironment: -NODE_OPTIONS="--import=./scripts/register.js" -AFFINE_CONFIG_PATH=/root/.affine/config -REDIS_SERVER_HOST=redis -DATABASE_URL=postgres://affine:affine@postgres:5432/affine -NODE_ENV=production -AFFINE_ADMIN_EMAIL="maxx@maxxspace.com" -AFFINE_ADMIN_PASSWORD=1q2w3e4r# Telemetry allows us to collect data on how you use the affine. This data will helps us improve the app and provide better features.# Uncomment next line if you wish to quit telemetry.# - TELEMETRY_ENABLE=falseredis:image:rediscontainer_name:affine_redisrestart:unless-stoppedvolumes: -./self-host/redis:/datahealthcheck:test:['CMD','redis-cli','--raw','incr','ping']interval:10stimeout:5sretries:5postgres:image:postgrescontainer_name:affine_postgresrestart:unless-stoppedvolumes: -./self-host/postgres:/var/lib/postgresql/datahealthcheck:test:['CMD-SHELL','pg_isready -U affine']interval:10stimeout:5sretries:5environment:POSTGRES_USER:affinePOSTGRES_PASSWORD:affinePOSTGRES_DB:affinePGDATA:/var/lib/postgresql/data/pgdata

•ports:映射主机的 3010 端口到容器的 3010 端口

•volumes:将主机目录挂载到容器。

•包含三个容器服务:affine、postgres 和 redis

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d即可自动拉取 AFFiNE 镜像,并创建并启动一个容器。up表示启动服务,-d表示在后台执行。docker-compose down命令用于停止和清理由 docker-compose up启动的服务。

•启动服务

进入项目目录,执行 docker-compose up -d 启动命令,会自动拉取容器并运行

从 Github Packages 拉取 AFFiNE 镜像,地址:https://ghcr.io/toeverything/affine-graphql

root@flexusx-c6b3:~/affine# docker-compose up -dPulling redis (redis:latest)...latest: Pulling from library/redis302e3ee49805: Pull complete5d0249d9189d: Pull complete4825c5e95815: Pull completeb0ce50685fa2: Pull complete455886c7d31b: Pull complete96377887d476: Pull complete4f4fb700ef54: Pull complete5fac73c23c9b: Pull completeDigest: sha256:82d08ad50c181182ee5ce23dcefd754a12f946534af57959ba08490e1d0696a0Status: Downloaded newer image for redis:latestPulling postgres (postgres:latest)...latest: Pulling from library/postgres302e3ee49805: Already existsdb123f79d191: Pull complete0f8c00fde6b5: Pull completefaa7319453cb: Pull completedb22d52fa3c2: Pull completea75b6bd68f08: Pull complete3bbfa3446e21: Pull complete0b62c3405bb7: Pull complete2b20a8c7ce41: Pull completee7c88e163985: Pull completee5a700d882eb: Pull complete28b27d53d86b: Pull completebfc263366b3f: Pull completee5ff51eeda62: Pull completeDigest: sha256:6a1018836fcf5be0ecf77b265b4434c58816205061817cba70168907fb328d41Status: Downloaded newer image for postgres:latestPulling affine (ghcr.io/toeverything/affine-graphql:stable)...stable: Pulling from toeverything/affine-graphqla2318d6c47ec: Already exists00e35d36405a: Already exists225fba03fa1f: Already exists447f637b003c: Already existsdd1be0639854: Already exists4650130184b5: Pull complete10a0952dbfc4: Pull completeb4f530463457: Pull completed6f29f3b6b33: Pull complete4f4fb700ef54: Pull completeb9c166759c7d: Pull completeDigest: sha256:b0dbbfe989185019e2dc30c5b1c89192ec5ab6eb71eee8643398f5589c811907Status: Downloaded newer image for ghcr.io/toeverything/affine-graphql:stableCreating affine_redis ... Creating affine_postgres ... Creating affine_redisCreating affine_redis ... doneCreating affine_selfhosted ... Creating affine_selfhosted ... done

•配置安全组

在 Flexus 云服务器 X 实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听 3010 端口,所以添加安全组为 TCP:3010 协议端口。

wKgZO2dySX-Ae9jHAAAqEecw9A8110.png

•检查容器状态

检查 AFFiNE 容器状态,确保容器正常启动

root@flexusx-c6b3:~/affine# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESca413173e7ec ghcr.io/toeverything/affine-graphql:stable "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:3010->3010/tcp, :::3010->3010/tcp, 0.0.0.0:5555->5555/tcp, :::5555->5555/tcp affine_selfhosted96e154565e16 postgres "docker-entrypoint.s…" 3 minutes ago Up 2 minutes (healthy) 5432/tcp affine_postgresbed4a95d26c1 redis "docker-entrypoint.s…" 3 minutes ago Up 2 minutes (healthy) 6379/tcp affine_redis

•访问地址

内网:http://localhost:3010 外网:http://公网 IP:3010

•访问结果

wKgZPGdySYCAZbmyAAB8hL3_Ysg738.png

若出现此页面,则部署 affine server 成功。

3.3 AFFiNE 使用

通过一些简单的设置来配置您的自托管 AFFiNE,创建管理员账户,也可用于普通用户使用,输入用户名、邮箱和密码,继续

wKgZO2dySYCABuvJAACFTkE9Grw708.png

登录成管理系统,可以查看和添加用户、服务器设置、允许新注册等相关权限设置,后续访问管理员地址:http://localhost:3010/admin

wKgZPGdySYCAWyuQAABZiQqrW74713.png

切换到默认地址访问即可进入 AFFiNE 首页,可以启用 AFFiNE Cloud 同步服务

wKgZO2dySYGAKXw-AAIU_8JXVkg340.png

每个用户有 10GB 的免费空间容量,若不想使用云同步,可以不开启,直接使用本地

wKgZPGdySYGAAYJeAAEpKF5oSxI711.png

设置页功能:可以修改外观中的配色方案和显示语言,编辑器设置(启用 AFFiNE AI、字体样式、页面、背景、图形、画笔、连线等),键盘快捷键,实验性功能

wKgZO2dySYGABqIUAAELahN_QqA015.png

还有工作区设置:工作区 LOGO、工作区名称、邀请成员、删除工作区等

wKgZPGdySYKAAfnYAAFMftm7Sl4555.png

查看所有文档界面,文档、精选和标签三个 Tab 选项,所有文档列表可以进行条件筛选:创建时间、更新时间、已收藏、标签、已分享,并且支持多条件筛选,文档列表显示属性可调节:内容预览、标签、创建时间、更新时间,还可以条件进行文档分组显示:创建时间、更新时间、标签、收藏、不分组,文档列表也可以进行排序、批处理操作等

wKgZO2dySYKAKgaNAACeB9Ziwo0299.png

选中文档,可以进行加入收藏、查看信息、在新标签页打开、复制、移动到回收站等操作

wKgZO2dySYKACsIPAACs7M3wuKE535.png

新建文档,可以创建新的页面、新的无界界面、导入支持 Markdown 和 Notion

wKgZPGdySYKAOGPdAADTGPru7aU537.png

查看 Jourunals 模块:上面展示日期,可以添加标签和 i 其他自定义属性,还有反向链接和外链统计,右上角菜单可以转化为无界、查看信息、查看目录、查看历史版本、导入、导出等

wKgZO2dySYOAYOSEAADdWBYU1bI980.png

编辑部分和 Notion 操作类似,支持 Markdown 语法,使用快捷键/可以调出命令,空格键调用 AI,

wKgZO2dySYOAbkLBAAD_y8DtZhM181.png

导出功能支持导出 HTML、PNG、Markdown 格式和打印

wKgZPGdySYSAPTWKAAE6_K1_EHY682.png

组织可以新建文件夹,再添加文档,就类似的 Notion 笔记了

wKgZO2dySYSAABAuAACMhrk9JhU374.png

尝试下无界界面

wKgZPGdySYWAc_zkAAGfzPAHEV0816.png

支持幻灯片放映、分享和导出

wKgZO2dySYWASowcAAFpYeW0zwU106.png

还一些其他选项功能:回收站、导入、了解更多使用技巧

wKgZPGdySYaAFkLgAAIOSA7jOoE274.png

点击收藏,并查看收藏夹内容

wKgZO2dySYaABKozAAIV064bsq0765.png

在快节奏的现代生活中,信息不再是稀缺资源,而是过剩的挑战,如何有效地组织这些信息变得至关重要。使用 AFFiNE,从登录界面进入,用户可以创建和管理自己的工作空间,文档的创建非常简单,只需点击并编辑,同时用户可以随时将内容从文本切换到手写模式,为工作增添一份个性化的细节。白板功能使得用户能够在进行团队合作或个人头脑风暴时,随时展示和记录想法,这种实时协作的特性,能够促进沟通并推动项目向前发展,还有更多有趣的设置和功能就需要自行探索了。

四、总结

AFFiNE 的独特之处在于整合了文档处理、白板创作和数据库管理等多种功能,让用户在一个平台上完成多种任务,其无缝的工作流程和注重隐私的设计,使其不仅适合个人用户,更为企业提供了一个理想的协作渠道。此次使用的 Flexus X 实例配置还是很高的 4 核 12G-100G-3M 规格的基础模式,项目整体占用不高,有点性能过剩,操作丝滑流畅,写笔记过程使用各种文字类型或者媒体类型的都不会延迟,自部署的使用体验要好过 Notion,网络加载更快,画图体验也不错。

华为云服务器,卓越性能之选!强大的计算能力、稳定可靠的运行环境,为你的业务提供坚实保障。现在正值 828 B2B 企业节,价格更优惠,服务不打折。无论是企业级应用还是个人项目,华为云服务器都能满足你的需求。快来体验!

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云服务器
    +关注

    关注

    0

    文章

    645

    浏览量

    13377
  • 华为云
    +关注

    关注

    3

    文章

    2588

    浏览量

    17472
收藏 人收藏

    评论

    相关推荐

    遥测终端机RTU安卓系列-斯塔克智能硬件

    的不断增加的传感器、控制器知识库,可实现多功能集成类系统的快速配置、逻辑自定义设置、界面设置等。实现远程人机交互、远程下载更新程序等。STK-R型RTU遥测终端机(智
    的头像 发表于 01-07 17:02 17次阅读
    遥测终端机RTU安卓系列-斯塔克智能硬件

    腾讯ima升级知识库功能,上线小程序实现共享与便捷问答

    知识管理体验。 现在,用户可以在ima平台上轻松创建知识库,并设置共享权限,实现多人同时使用和编辑。这一功能的增加,极大地提升了团队协作的效率,使得
    的头像 发表于 12-31 15:32 304次阅读

    利智方:驱动企业知识管理与AI创新加速的平台

    利智方致力于深度整合企业知识资产,全面打通知识生命周期的各个环节。通过构建强大的知识库和精准的知识图谱,支持快速定制和部署各类AI应用,为企
    的头像 发表于 12-30 11:07 277次阅读

    OpenAI桌面版ChatGPT新增应用协作功能

    近日,OpenAI宣布了一项重要更新,为桌面版ChatGPT推出了“与应用协作”(Work With Apps)功能。这一新功能旨在支持原生应用程序的自动化协作,为用户带来更加高效和便
    的头像 发表于 12-23 10:52 199次阅读

    安科瑞ADF400L多功能电表产品简单介绍

    多功能电表
    jf_25373932
    发布于 :2024年12月03日 15:59:48

    直播预告 大模型 + 知识库(RAG):如何使能行业数智化?

    。最近,有小伙伴留言称工作中常遇到知识管理问题: 知识管理杂乱无章、查找费时费力,而且信息孤岛严重、知识难以共享,团队成员总是重复劳动 ;希望能安排一场直播介绍如何通过智能化手段解决知识
    的头像 发表于 11-26 23:49 400次阅读
    直播预告 大模型 + <b class='flag-5'>知识库</b>(RAG):如何使能行业数智化?

    【实操文档】在智能硬件的大模型语音交互流程中接入RAG知识库

    非常明显的短板。尽管这些模型在理解和生成自然语言方面有极高的性能,但它们在处理专业领域的问答时,却往往不能给出明确或者准确的回答。 这时就需要接一个专有知识库来满足产品专有和专业知识的回复需求,理论
    发表于 09-29 17:12

    如何手撸一个自有知识库的RAG系统

    用于自然语言处理任务,如文本生成、问答系统等。 我们通过一下几个步骤来完成一个基于京东云官网文档的RAG系统 数据收集 建立知识库 向量检索 提示词与模型 数据收集 数据的收集再整个RAG实施过程中无疑是最耗人工的,涉及到收集、清洗、格式化、切分等过程。这里我们使用京东云的官方文档作为
    的头像 发表于 06-17 14:59 603次阅读

    使用多功能数显表的步骤 使用多功能数显表的注意事项

    多功能数显表是一种集成了多种测量功能的电子测试仪器,它能够测量电压、电流、电阻、温度、频率等电气参数。
    的头像 发表于 05-09 16:36 2148次阅读

    多功能数显表的功能特点有哪些?

    多功能数显表是一种集成了多种测量功能的数字显示仪表,它在工业自动化、电气测试、实验室研究以及现场服务等领域有着广泛的应用。
    的头像 发表于 05-09 16:26 1119次阅读

    STK-R7型RTU遥测终端机(智能网关)安卓系统

    ,远程配置平台自带强大的不断增加的传感器、控制器知识库,可实现多功能集成类系统的快速配置、逻辑自定义设置、界面设置等。实现远程人机交互、远程下载更新程序等。STK-R
    的头像 发表于 04-24 09:43 540次阅读
    STK-R7型RTU遥测终端机(智能网关)安卓系统

    什么是多功能传感器 多功能传感器的功能介绍

    多功能传感器是一个集成系统,它将射频 (RF) 频谱中的多种功能(包括通信、雷达、电子战以及情报、监视和侦察 (ISR))整合到一个传感器中。
    发表于 04-01 12:41 704次阅读
    什么是<b class='flag-5'>多功能</b>传感器 <b class='flag-5'>多功能</b>传感器的<b class='flag-5'>功能</b>介绍

    英特尔集成显卡+ChatGLM3大语言模型的企业本地AI知识库部署

    在当今的企业环境中,信息的快速获取和处理对于企业的成功至关重要。为了满足这一需求,我们可以将RAG威廉希尔官方网站 与企业本地知识库相结合,以提供实时的、自动生成的信息处理和决策支持。
    的头像 发表于 03-29 11:07 814次阅读
    英特尔<b class='flag-5'>集成</b>显卡+ChatGLM3大语言模型的企业本地AI<b class='flag-5'>知识库</b><b class='flag-5'>部署</b>

    BCT4481多功能、高集成度Type-C接口SOC芯片

    【芯品推荐】BCT4481多功能、高集成度Type-C接口SOC芯片Type-C目前已经成为业界的统一标准,在苹果也加入了Type-C阵营的大背景下,广芯电子的第一代Type-C多功能
    的头像 发表于 03-08 08:30 984次阅读
    BCT4481<b class='flag-5'>多功能</b>、高<b class='flag-5'>集成</b>度Type-C接口SOC芯片

    安科瑞多功能电力仪表设置仪表脉冲常数教程

    多功能电力仪表
    jf_55193456
    发布于 :2024年02月02日 15:14:30