
Docker私有化部署AFFiNE
介绍
AFFiNE 中的一切也都是区块。
按下 /
键,您可以添加各种区块类型。我们预先设计了不同的区块,帮助您创建专属于自己的文档。
点击图块左侧的 |
符号(我们称之为 “拖动柄”),试试看。通过长按和拖动,你可以毫不费力地按自己喜欢的方式组织文档中的内容。
与专注于白板和页面的 Miro 和 Notion 不同,AFFiNE 将其定位定义为一体化的 KnowledgeOS。它支持看板、表格和富文本段落作为构建块来形成页面或白板,可以在这里进行文档编辑、数据处理或头脑风暴等综合处理。
免费提供丰富的文档模板,(项目诞生不久,还在发展中)未来还会推出多模态 AI 集成、插件社区和第三方模块等。
最大的特点:
- 支持私有化部署
- 支持团队协作
- 支持无边界白板
私有化部署限制:
目前是限制 100G 每人,团队最大 10 个人,官方说因为项目刚起步的原因,开放太多可能会导致未知的问题,等待后续稳定版发布之后会扩大或取消限制,现阶段这些限制都可以通过修改数据库进行取消的,可以参考:Self-hosted not unrestricted #6641 。
官网:AFFiNE - All In One KnowledgeOS
文档:Self-host AFFiNE - AFFiNE Docs
部署
获取最新 compose.yml
文件:
wget -O compose.yml https://github.com/toeverything/affine/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/toeverything/affine/releases/latest/download/default.env.example
默认的 yml 文件不需要改,需要的参数都在 env 文件中,但是推荐更改 redis 和 Postgres 的 容器名称,避免冲突。
修改 .env
文件:
# select a revision to deploy, available values: stable, beta, canary
# 截至 20250220,stable 版本只支持 10G,3人;canary 测试版支持 100G,10人
AFFINE_REVISION=stable
# set the port for the server container it will expose the server on
PORT=3010
# set the host for the server for outgoing links
AFFINE_SERVER_HTTPS=true
AFFINE_SERVER_HOST=affine.yourdomain.com
# or
AFFINE_SERVER_EXTERNAL_URL=https://affine.yourdomain.com
# position of the database data to persist
DB_DATA_LOCATION=./affine/self-host/postgres/pgdata
# position of the upload data(images, files, etc.) to persist
UPLOAD_LOCATION=./affine/self-host/storage
# position of the configuration files to persist
CONFIG_LOCATION=./affine/self-host/config
# database credentials
DB_USERNAME=affine
DB_PASSWORD=
DB_DATABASE=affine
# SMTP
MAILER_HOST=
MAILER_PORT=
MAILER_USER=
MAILER_PASSWORD=
MAILER_SENDER=
启动:
docker compose -f ./compose.yml up -d
反代域名到 http://localhost:3010
即可,第一次打开之后需要创建管理员账号。
这个容器并不是部署失败了,这个容器本身只是在 affine 启动的时候启动一次,执行完数据拷贝和索引之后就会自动关闭,所以不用管它~
说明
关于这个云同步的问题,左上角那个云同步,实际是翻译的锅,显示的是 AFFiNE Cloud,实际上使用的是服务器的本地存储空间,而不是第三方的云存储,所以不用担心文档泄露问题:
如果下载了官方的 APP,就可以看到区别了:
这个 My Selfhosted AFFiNE Cloud 的名称是可以通过
/config/affine.js
中进行修改的,(但我没测试是否会有问题)。
管理员面板地址是: https://affine.example.com/admin/
,可以更改部分设置,目前并不完善,可配置的选项比较少,官方说会在慢慢加功能了。
一些其他的: