静看光阴荏苒
不管不顾不问不说也不念

Docker部署AFFiNE知识库+AI配置

最近尝试了很多开源的笔记程序,说实话个人目前觉得AFFiNE最好用。我简单和Appflowy比较下吧,因为我之前还部署了一个Appflowy试了下来着。。

Appflowy的Win客户端对中文字体的支持真的是一言难尽,一会粗一会细,眼睛都看花了,可能是因为他们的客户端是用Flutter开发的原因吧。。

再就是Appflowy的搜索功能感觉不太行,它那个搜索功能是依赖AI的,对于文档里面的AI支持似乎用的是Claude,但是Claude那个API的价格太TM贵了。。反正我当时只配置了一个OpenAI的API就只能用搜索,文档里面的AI功能用不了,然后我就没试了。后来我发现他们的客户端支持本地LLM,可以用Ollama,但是我主要使用Web客户端偶尔才用Win。。

其实最重要的是我觉得AFFiNE的Web界面设计的真的非常精细,怎么说呢,给人一种很精致的感觉,相比较Appflowy的Web界面就显得有些粗糙了,没有AFFiNE美观(细腻)。

Appflowy部署起来也比AFFiNE麻烦不少,那个环境变量的配置文件,你不花个把小时阅读真的搞不清楚它的整个架构是怎样的。。

AFFiNE也不是完美的,目前使用下来也发现一些问题,但基本不影响我个人的体验。

AFFiNE目前自托管的版本只支持10个成员,但我就一个人用= =对于我来说没有任何影响。

AFFiNE似乎有一个100GB的存储空间限制,但是我看官方在Github的回复又说实际是没有限制的,只是界面上故意这么显示为了与他们的付费产品保持一致。。这个可能得等到我用满100GB空间后再说了,不过有一说一看着这个100GB的限制心里多少还是有点膈应的。。。

废话不多说了,下面就记录下部署和配置过程,首先安装好Docker和需要用到的软件包:

apt -y update
apt -y install curl nginx python3-certbot-nginx
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

创建目录并下载compose文件:

mkdir -p /opt/affine && cd /opt/affine
wget -O compose.yml https://github.com/toeverything/affine/releases/latest/download/docker-compose.yml

新建一个环境变量配置文件:

nano .env

写入如下内容:

# select a revision to deploy, available values: stable, beta, canary
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.example.com
# or 
# AFFINE_SERVER_EXTERNAL_URL=https://affine.example.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=pgpassword
DB_DATABASE=affine

启动:

docker compose up -d

配置NGINX反向代理:

nano /etc/nginx/sites-available/affine

写入如下内容:

server {
    listen 80;
    server_name affine.example.com;
    client_max_body_size 0;

    location / {
        proxy_pass http://127.0.0.1:3010;
        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;
        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

启用站点:

ln -s /etc/nginx/sites-available/affine /etc/nginx/sites-enabled/affine

签发SSL证书:

certbot --nginx

访问affine.example.com创建管理员账号:

接下来配置AFFiNE的AI功能,以下配置方法在当前最新版本(0.21.2)测试可用。

首先在https://auth.openai.com/log-in创建API KEY。

创建API KEY免费,但是使用是收费的哈,必须先往里面充至少5USD。怎么充这里就不详细说了,稍微提一嘴,现在很多U卡(虚拟卡)都标榜支持OpenAI。。

进入如下目录:

cd /opt/affine/.affine/self-host/config/

在这个目录内新建一个json配置文件:

nano config.json

写入如下内容,将sk-proj-***替换为你的API KEY:

{
  "copilot": {
    "enabled": true,
    "providers.openai": {
       "apiKey": "sk-proj-***"
    }
  }
}

之后访问affine.example.com/admin管理面板,修改如下配置:

重启AFFiNE:

docker compose down
docker compose up -d

效果:

赞(0)
未经允许不得转载:荒岛 » Docker部署AFFiNE知识库+AI配置
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

分享创造快乐

广告合作资源投稿