支持AI语义搜索的私有云盘Foxel

简介

什么是 Foxel ?

Foxel 是一个高度可扩展的私有云存储解决方案,适用于个人和团队,具有 AI 驱动的语义搜索功能。它能帮助你集中管理分布在不同存储后端的文件,并通过自然语言搜索快速找到它们。

主要特点

  • 统一文件管理:集中管理分布在不同存储后端的文件,简化文件访问。
  • 插件式存储后端:支持多种存储类型的轻松集成,采用可扩展的适配器模式。
  • 语义搜索:支持自然语言搜索,能够在无结构数据(如图像和文档)中查找内容。
  • 内置文件预览:用户可以直接预览图片、视频、PDFOffice 文档、文本和代码文件,无需下载。
  • 权限和共享:支持公共或私人共享链接,便于文件分发。
  • 任务处理中心:支持异步任务处理,如文件索引和数据备份,而不影响主应用程序的性能。

应用场景

  • 个人媒体库: 统一管理和存储散落在各处的照片、视频和文档,并通过AI搜索快速查找。
  • 团队协作: 作为团队的中央文件存储,方便共享和预览工作文档。
  • 知识管理: 存储大量的研究论文、报告和笔记,利用语义搜索快速定位相关信息。
  • 企业文件管理:企业可以利用 Foxel 进行文件的安全存储、管理和共享,提高工作效率。

Foxel 通过其灵活的架构和强大的功能,成为了一个理想的私人云存储解决方案,适用于多种使用场景。

安装

在群晖上以 Docker 方式安装。

  1. 本文写作时, latest 版本对应为 v1.2.4
  2. 国内用户建议使用 ghcr.nju.edu.cn/drizzletime/foxel:latest 镜像,国外用户建议使用 ghcr.io/drizzletime/foxel:latest

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 新建文件夹 foxel 和 子目录
mkdir -p /volume1/docker/foxel/data/{db,mount}

# 进入 foxel 目录
cd /volume1/docker/foxel

# 修改目录权限
chmod a+rw data/{db,mount}

# 运行容器
docker run -d \
--name foxel \
--restart unless-stopped \
-p 8188:80 \
-v $(pwd)/data:/app/data \
-e TZ=Asia/Shanghai \
-e SECRET_KEY=EnsRhL9NFPxgFVc+7t96/y70DIOR+9SpntcIqQa90TU= \
-e TEMP_LINK_SECRET_KEY=EnsRhL9NFPxgFVc+7t96/y70DIOR+9SpntcIqQa90TU= \
ghcr.nju.edu.cn/drizzletime/foxel:latest

关于环境变量的简单说说明

变量 说明
TZ Asia/Shanghai 设置时区
SECRET_KEY your_strong_random_key 强烈建议修改为随机生成的强密钥
TEMP_LINK_SECRET_KEY your_another_strong_random_key 强烈建议修改为另一个随机生成的强密钥

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.ymlcompose.yaml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
services:
foxel:
#image: ghcr.io/drizzletime/foxel:latest
image: ghcr.nju.edu.cn/drizzletime/foxel:latest # 国内用户可以用此镜像命令
container_name: foxel
restart: unless-stopped
ports:
- "8188:80"
volumes:
- ./data:/app/data
environment:
- TZ=Asia/Shanghai
- SECRET_KEY=EnsRhL9NFPxgFVc+7t96/y70DIOR+9SpntcIqQa90TU=
- TEMP_LINK_SECRET_KEY=EnsRhL9NFPxgFVc+7t96/y70DIOR+9SpntcIqQa90TU=

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 foxel 和 子目录
mkdir -p /volume1/docker/foxel/data/{db,mount}

# 进入 foxel 目录
cd /volume1/docker/foxel

# 修改目录权限
chmod a+rw data/{db,mount}

# 将 docker-compose.yaml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8188 就能看到设置向导

直接下一步就行

最后按需要设置管理员账号即可

按提示不要刷新,会自动登录

接下来你就可以上传文件了

存储挂载

除了 local 挂载的 data/mount 目录外,还支持 S3WebDAV 等类型

存储挂载 –> 新建适配器

正好老苏用 messense/aliyundrive-webdav 挂载过阿里云盘,可以用于测试

字段 标签 类型 必填 说明
base_url 基础地址 String WebDAV 服务器的完整 URL。例如:https://example.com/remote.php/dav/files/username/
username 用户名 String 登录 WebDAV 服务器的用户名。
password 密码 Password 登录 WebDAV 服务器的密码。
timeout 超时(秒) Number 连接超时时间,默认为 15 秒。

提交之后

如果设置没问题,可以看到阿里云盘的内容了

AI 设置

进入 系统设置 –> AI 设置

这里提到的视觉模型 Qwen/Qwen2.5-VL-32B-Instruct 和 嵌入模型 Qwen/Qwen3-Embedding-8B硅基流动 上都有

目前硅基流动(SiliconFlow),注册就送 2000Tokens,虽然不是免费,但也够用一阵子的

注册地址:

https://cloud.siliconflow.cn/i/NkUiXVhQ

老苏发现似乎只能处理单个文件

即便多选也没用,也不能选择目录

所以感觉不是太方便

其他功能大家可以自己摸索

参考文档

DrizzleTime/Foxel: A highly extensible private cloud storage solution for individuals and teams, featuring AI-powered semantic search.
地址:https://github.com/DrizzleTime/Foxel

Foxel
地址:https://foxel.cc/

Foxel
地址:https://demo.foxel.cc/login