简介
什么是 Phylum ?
Phylum
是一个自托管的文件存储平台,旨在替代Google Drive
和Dropbox
等云存储服务。它具有离线优先的web
和原生客户端,用户可以在没有稳定互联网连接的情况下进行操作。
主要特点
- 自托管:用户可以在自己的服务器上部署,确保数据的隐私和控制。
- 离线优先:支持在无网络连接时进行操作,并在重新连接时自动同步更改。
- 多种客户端:提供
web
和原生客户端,支持跨平台使用。 - 文件共享:支持对文件进行公开分享,并设置密码保护和过期时间。
- 权限管理: 用户权限管理灵活,可以添加、修改用户及其权限。
- 版本历史:保留文件的完整版本历史,允许用户回溯和下载以前的版本。
- WebDAV 兼容:支持
WebDAV
协议,方便与其他应用程序集成。 - 多种身份验证后端:支持
LDAP
和OpenID
(OAuth
)等身份验证方式。 - 高度可配置:允许用户根据需求自定义配置和管理选项。
应用场景
- 个人和团队文件管理:适用于需要安全存储和管理个人或团队文件的用户。
- 开发和测试环境:开发者可以在本地或测试环境中使用
Phylum
,支持快速迭代和版本控制。 - 企业文件共享:企业可以利用
Phylum
实现内部文件共享和权限管理,确保数据安全。 - 教育和培训:教师和学生可以共享学习资料,管理课程文件。
Phylum
为用户提供了一种灵活、安全的文件存储和管理解决方案,适合各种需求和使用场景。
安装
在群晖上以 Docker 方式安装。
本文写作时,
latest
版本对应的软件版本为0.4.0
;
采用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
services:
server:
image: shroff12/phylum:latest
container_name: phylum_server
restart: always
ports:
- '2448:2448'
volumes:
- ./storage:/app/storage
# - ./config.yml:/app/config.yml
environment:
PHYLUM_DB_HOST: db
PHYLUM_DB_NAME: phylum
PHYLUM_DB_USER: phylum
PHYLUM_DB_PASSWORD: phylum123
depends_on:
db:
condition: service_healthy
db:
image: docker.io/postgres:17
container_name: phylum_db
restart: always
# ports:
# - '5432:5432'
volumes:
- ./data:/var/lib/postgresql/data
environment:
POSTGRES_DB: phylum
POSTGRES_USER: phylum
POSTGRES_PASSWORD: phylum123
healthcheck:
test: "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"
interval: 30s
timeout: 5s
retries: 3
start_period: 5s
然后执行下面的命令
# 新建文件夹 phylum 和 子目录
mkdir -p /volume1/docker/phylum/{data,storage}
# 进入 phylum 目录
cd /volume1/docker/phylum
# 将 docker-compose.yml 和 config.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:2448
就能看到设置界面
直接点 Next
会看到登录界面
添加用户
官方的文档没看懂,所以求助了一下 AI
# 进入容器
docker exec -it phylum_server /bin/sh
# 创建用户(不发送邮件)
./phylum admin user invite wbsu2003@gmail.com --no-email
# 为用户设置密码
# 密码不能少于12个字符,必须要有1个大写字母等(示例:@Abc1234567890@)
./phylum admin user passwd wbsu2003@gmail.com
用上面创建用户的邮件和密码登录成功后的主界面
点 + NEW
可以新建目录和上传文件
随便上传了一个文件
支持右键功能
WebDAV
默认是开启的,user@exmaple.com
的 WebDAV
路径将为 /webdav/~user@example.com
按照上一步新建的
- 服务器
URL
:http://群晖IP:2448/webdav/~wbsu2003@gmail.com
- 账号:
wbsu2003@gmail.com
- 密码: 对应的用户网页登录密码
连接成功后,能看到我们上传的文件
客户端
从代码看,客户端使用 Flutter
开发,应该是支持多平台的
但是发布的版本,目前似乎还只有 Android
的,可能是因为还在项目早期吧
参考文档
shroff/phylum: Self-hosted cloud file storage with offline-first web and native clients - Codeberg.org
地址:https://codeberg.org/shroff/phylum
Phylum - self-hosted file storage with offline-first web and native clients : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1lseax4/phylum_selfhosted_file_storage_with_offlinefirst/