前言
前两天我已经成功在群晖上面部署了zerotier打洞,现在可以通过虚拟局域网ssh过去使用命令行了。
笔记:zerotier群晖部署
主要参考
在群晖 DS220+ 上私有化部署 AFFiNE 服务
Docker Compose [建議]
操作
第一步:下载容器配置相关文件
要在Container Manager自动创建的docker文件夹下创建以下文件夹:
docker/affine/storage
docker/affine/config
docker/affine/db
可以先ssh到群晖nas,使用以下命令行进行下载
wget -O docker-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
也可以在别的电脑上下载修改好再传送过去;
要放在docker/affine文件夹下
第二步:修改配置
主要是.env文件,如果在DSM不能直接修改,就先把后缀改成.txt,改完再重命名回去;
找到以下几行:
# 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
修改为:
# position of the database data to persist
DB_DATA_LOCATION=./db
# position of the upload data(images, files, etc.) to persist
UPLOAD_LOCATION=./storage
# position of the configuration files to persist
CONFIG_LOCATION=./config
这几个文件夹到时候就是主要存储笔记和日志等的地方了。
第三步:启动
进入Container Manager,选择项目,常规设置,然后设置名称和路径,设置路径后,由于我们之前把.yml和.env文件是存放在该文件夹下的,因此会直接弹出,如图所示

然后下一步-->下一步-->完成,等着构建下载和启动容器即可。
如果不成功,就进入项目里面继续点构建。还可以继续换镜像源。
似乎特别慢。
经过很长时间的等待,都没有成功,需要下载的镜像里面redis和pgvector/pgvector:pg16能够成功下载,但是ghcr.io/toeverything/affine:${AFFINE_REVISION:-stable}总是下载不成功。
额外:针对下载慢的问题
使用国内能支持ghcr.io的镜像源直接拉取镜像。
我是先ssh远程到我的群辉,然后拉取的
ssh 你的昵称@你的群晖局域网IP
然后切到root:
sudo -i
再然后直接从国内镜像源拉取
# 使用南京大学镜像源直接拉取(替换 ghcr.io 为 ghcr.nju.edu.cn)
docker pull ghcr.nju.edu.cn/toeverything/affine:stable
# 验证下载成功
docker images
然后打原始标签:
# 给镜像打上原始标签,这样 docker-compose 就能找到
docker tag ghcr.nju.edu.cn/toeverything/affine:stable ghcr.io/toeverything/affine:stable
之后就能够正常启动了


但是我不知道为什么好像主容器总是掉线,可能和CPU占用率居高不下有关吧。
增加交换内存缓解掉线
在ssh里面继续执行
# 创建 2GB Swap 文件(2048 个 1MB 块)
sudo dd if=/dev/zero of=/volume1/swapfile bs=1M count=2048
# 设置权限
sudo chmod 600 /volume1/swapfile
# 格式化为 Swap
sudo mkswap /volume1/swapfile
# 启用 Swap
sudo swapon /volume1/swapfile
# 验证
free -h
我的操作完后
$ free -h
total used free shared buff/cache available
Mem: 1.7Gi 883Mi 112Mi 21Mi 756Mi 632Mi
Swap: 3.0Gi 694Mi 2.3Gi
部署完成后
在局域网中的电脑上(我的是虚拟局域网):
用浏览器访问 http://群晖IP:3010/admin,创建一个管理账号。然后在桌面或手机 App 上添加服务器 http://群晖IP:3010,就可以使用安全无隐私风险的自有主机云笔记了。

小tips
affine_migration_job容器只执行一次,没必要重启它。
赋值粘贴bug
默认的访问群晖IP:3010会不能使用粘贴功能,需要配一个反向代理。然后用反向代理的端口去访问。

