affine部署到群晖

前言

前两天我已经成功在群晖上面部署了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文件是存放在该文件夹下的,因此会直接弹出,如图所示

项目-->名称-->路径-->确定-->下一步

然后下一步-->下一步-->完成,等着构建下载和启动容器即可。
如果不成功,就进入项目里面继续点构建。还可以继续换镜像源。
似乎特别慢。

经过很长时间的等待,都没有成功,需要下载的镜像里面redispgvector/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

之后就能够正常启动了


下载成功且打标签后的镜像
构建成功后的项目,启动了4个容器

但是我不知道为什么好像主容器总是掉线,可能和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会不能使用粘贴功能,需要配一个反向代理。然后用反向代理的端口去访问。

配置反向代理

配置反向代理额外标题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容