内网自部署存储迁移到自部署的 S3

内网自部署存储迁移到自部署的 S3 1. 存储的烦恼 我日常会使用一些自部署的服务,如写作的 Affine、代码服务 Gitea、备忘录记录服务 memos 记录自己的碎碎念。自部署这些服务的时候通常会涉及一些资源的存储,比如 Affine 中上传的图片资源、Gitea 的 package 制品、memos 中上传的图片等都需要消耗自身的存储空间。而我部署的平台是 PVE 的 Docker LXD 容器,这个容器里面使用 Docker 部署了一堆服务,存储已经扩了一遍又一遍了,然而主机上的存储也见底了。 正好家里还有一台绿联的 NAS,里面有一个闲置的存储池,正好用来建一个 S3 存储给以上这些服务使用。这样一方面可以在同一个地方管理上传的对象,另一方面也可以利用存储池 Raid 做一些备份。 2. 部署 Rustfs 要说开源 S3 实现就不得不提大名鼎鼎的 Minio 了,然而其因为商业化已经停止了仓库的维护。况且我的 NAS 也仅是 4C8G 的配置,所以资源能省则省,基于 Rust 开发的 Rustfs 就是最好的选择——部署简单,资源占用低,性能还高,简直是居家旅行、自部署常备。 NAS 上的 Docker 不能命令行,只能图形界面操作,就略过部署过程了。 部署好了之后打开 console 端口 9001 即可进行存储桶操作。 2.1 使用 AWS CLI 测试访问 创建一个访问密钥,使用 AWS CLI 来测试访问。在 ~/.aws/credentials 中配置好访问密钥,~/.aws/config 中配置 endpoint 信息: [default] region=us-east-1 endpoint_url=http://192.168.5.103:9000 region 随便填一个值就可,测试访问:...

2026-05-02 · 1 min · 184 words · Linkzz

私有知识库和笔记工具 Affine 搭建, 修复导入 Markdown 图片丢失的问题

私有知识库和笔记工具 Affine 搭建, 修复导入 Markdown 图片丢失的问题 前言 一直以来我使用 Obsidian 作为我的知识库管理和编辑工具,配合自建的图床和 Nextcloud 的同步,我几乎可以在任何地方随意维护我的知识库,后面因为 Obsidian 的 Vim 模式用起来不顺手,在中文之间移动有卡顿的感觉,所以索性编辑器直接就用了 Vim ,但我一直苦恼一个问题,就是我的知识库一直以 Markdown 源文件的方式在 Nextcloud 的同步下,我虽然可以随时打开 Obsidian 查看,但是在移动端查看不方便,以及每次想查询的时候还得打开客户端,我本人是很不喜欢客户端的,我希望能在 web 上就可以查看,当然 Nextcloud 也能在网页端查看渲染的 Markdown 文件,但是效果也差强人意,正好刷 Koala 聊编程的时候看到了 Affine,其主打的 Notion 替代品的概念吸引了我,虽然我也用 Notion, 但用的并不多,而且 Notion 无法迁移我的本地知识库,导入的 Markdown 格式各种问题,抱着试试看的心态部署了一下,虽说官方提供了完整的 docker-compose配置文件,但实际配置下来还是遇到了一些问题,在此权当记录一下。 安装 affine 服务端 Docker compose 安装服务端 还是使用 dokcer compose部署,下载最新版本 docker-compose.yaml文件。 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 下面是我的配置 # 数据库挂载目录 DB_DATA_LOCATION=./postgres # 上传的附件目录 UPLOAD_LOCATION=/mnt/media/affine # 配置文件目录 CONFIG_LOCATION=....

2025-11-12 · 3 min · 440 words · Linkzz