Bootstrap

AFFINE 类NOTION云笔记 本地化部署

  1. 前置条件
  2. clone代码
  3. 修改关键配置
  4. 快速开始
  5. 登录设置
  6. 账号权限设置

Affine是一款类NOTION云笔记开源软件,使用MIT开源协议,支持markdown标签、画板模式、团队协作等功能,可用于项目管理、企业知识库、文档共享协作等。本文用于指导如何私有化部署,本教程使用vmware Ubuntu20.04。

1、前置条件

安装docker和docker compose,可参考Ubuntu20.04 装机-CSDN博客

将当前用户添加到docker组(重要)

2、clone 代码

git clone https://github.com/toeverything/AFFiNE.git --branch stable

启动配置文件如下

./.github/deployment/self-host/compose.yaml

3、修改关键配置

由于国内网络环境问题,直接启动拉取镜像会出现网络错误,因此修改如下配置

cd ~/AFFiNE/.github/deployment/self-host/
gedit compose.yaml

将image改成

ghcr.nju.edu.cn/toeverything/affine-graphql:stable

将第二个红框处改成初始账号的用户名密码,不要加引号。

4、快速开始

使用如下命令快速部署启动服务

cd ~/AFFINE
docker compose -f ./.github/deployment/self-host/compose.yaml up

该命令会拉取postgresql、redis和Affine 3个镜像,成功后界面如下

在浏览器输入localhost:3010启动服务。本人使用的是虚拟机,在虚拟机中访问该地址出现一个问题就是三方验证无法获取,看了一下是网络原因,但是在宿主机上可以访问该验证网址,暂时未找到原因,因此我映射出虚拟机端口到主机,通过主机访问服务,映射具体配置方式见Ubuntu20.04 装机-CSDN博客

5、登录设置

访问服务后登录系统可以通过用户名密码的方式,但是启动前设置在配置文件中的账号密码在登录的时候总是提示无效密码,无奈只能通过邮箱验证登录,如此则需要配置smtp服务。

在初次服务启动成功后,会在/home目录下生成一个.affine文件夹,编辑如下文件

sudo gedit ~/.affine/self-host/config/.env

在文件中添加如下内容

MAILER_SENDER="发件人邮箱"
MAILER_USER="发件人邮箱登录账号"
MAILER_PASSWORD="发件人邮箱smtp授权码"
MAILER_HOST="smtp.163.com"         # 此处我用163的邮箱发件
MAILER_PORT="465"

保存后重新服务,然后即可通过邮箱验证的方式登录

6、账号权限设置

此时登录的账号为免费版账号,有很多限制,团队协作人数只有3人,此时需要修改数据库修改账号权限。

本人在虚拟机中尝试用pgadmin4连接数据库但是无法成功,提示无法解析的名称,如下图,也未找到答案,如有知道的请告知。

后本人通过宿主机用navicat连接成功,需要做如下配置:

1 将docker postgresql容器中的5432端口映射到虚拟机的5432端口:编辑启动服务的文件

cd ~/AFFiNE/.github/deployment/self-host/
gedit compose.yaml

2 将虚拟机的5432端口映射到宿主机的5432端口,具体配置方式见Ubuntu20.04 装机-CSDN博客

此时可在宿主机中连接数据库。users是用户表,features就是用户等级表,user_features是关联表。

查看features表,红框处的数字即为协作人数,修改自己想要的人数

然后在user_features表中将本用户和features中ID=16关联。

重新启动服务,即可正常使用。

;