开源文件协作平台OpenCloud

简介

什么是 OpenCloud ?

OpenCloud 是一个现代化的开源自托管平台,用于文件管理、安全共享和团队协作。它优先考虑简洁性和数据主权,赋予用户完全控制权,避免不必要的复杂性。可以帮助用户在私有环境中搭建自己的云存储服务,实现文件管理、团队协作和数据主权控制。

主要特点

  • 无缝文件同步:跨设备访问文件,支持 WindowsMacLinuxAndroidiOSWeb 客户端
  • 安全灵活的文件分享:支持精细的权限控制、过期时间和密码保护
  • 团队协作空间(Spaces):独立的团队协作文件夹,即使成员离开也能确保业务连续性
  • 实时协作编辑:通过 Collabora Web Office 支持多人同时在线编辑文档
  • 高级搜索与组织:支持全文搜索、标签和过滤器,快速定位文件
  • 无限存储与上传:无文件大小、数量和类型限制
  • 隐私优先设计:零知识原则确保管理员无法访问用户内容
  • 无数据库设计:所有数据存储在文件系统中,默认数据目录为 /var/lib/opencloud
  • OpenID Connect 认证:支持外部 IdP(如 Keycloak)或内置的 LibreGraph Connect 身份提供商
  • 跨平台部署:支持 DockerKubernetesbare-metal 部署
  • 版本控制与恢复:每次更改自动保存为版本,可随时恢复
  • 离线访问:支持将文件或文件夹标记为离线使用,无网络时也能编辑
  • 开放 API:支持 WebDAVREST APIGraphAPI 等多种接口

应用场景

  • 自托管私有云盘:搭建完全自主可控的云存储服务,数据留在本地
  • 团队协作与项目管理:通过 Spaces 功能管理团队文件,支持权限委托
  • 家庭文件中心:跨设备同步家庭成员的文件,支持离线访问
  • 企业文档管理:支持实时协作编辑、版本控制、审计日志,满足企业合规要求
  • 安全的外部分享:通过密码保护链接或来宾账户与外部合作伙伴安全共享文件
  • 联邦协作:支持多 OpenCloud 实例之间的跨组织文件共享

OpenCloud 是一个功能完善、安全可靠的文件管理与协作开源解决方案,可作为 Nextcloud 的开源替代方案。

安装

在群晖上以 Docker 方式安装。

官方提供了 2个镜像,老苏选择了 opencloudeu/opencloud-rolling:latest,其中:

  • opencloud-rolling:包含最新功能和修复,适合测试或开发环境,但可能有不稳定性。
  • opencloud:对应固定稳定发布版本,变更较少,更适合生产部署,避免意外更新中断服务。

本文写作时,latest 版本对应为 6.1.0 版本;

docker cli 安装

第一步:初始化

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

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

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

# 修改目录权限
chmod a+rw {config,data}

# 初始化
docker run --rm -it \
-v $(pwd)/config:/etc/opencloud \
-v $(pwd)/data:/var/lib/opencloud \
-e IDM_ADMIN_PASSWORD=admin \
opencloudeu/opencloud-rolling:latest init

环境变量说明

  • IDM_ADMIN_PASSWORD:首次初始化时的管理员密码,默认为 admin

会有禁用证书的安全提示,输入 yes 即可跳过

1
2
Do you want to configure OpenCloud with certificate checking disabled?
This is not recommended for public instances! [yes | no = default]

第二步:启动

1
2
3
4
5
6
7
8
9
10
11
# 运行容器
docker run -d \
--restart unless-stopped \
--name opencloud \
-p 9200:9200 \
-v $(pwd)/config:/etc/opencloud \
-v $(pwd)/data:/var/lib/opencloud \
-e OC_INSECURE=true \
-e PROXY_HTTP_ADDR=0.0.0.0:9200 \
-e OC_URL=https://192.168.0.197:9200 \
opencloudeu/opencloud-rolling:latest

环境变量说明

  • OC_INSECURE:设置为 true 以允许 HTTP 访问(生产环境建议使用 HTTPS
  • PROXY_HTTP_ADDRHTTP 服务监听地址
  • OC_URLOpenCloud 的访问 URL,其中 192.168.0.197 为老苏群晖主机的 IP,特别需要注意的是,必须使用 https 协议,否则会导致无法登录

docker-compose 安装

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '3.8'

services:
opencloud:
image: opencloudeu/opencloud-rolling:latest
container_name: opencloud
restart: unless-stopped
ports:
- "9200:9200"
volumes:
- ./config:/etc/opencloud # 配置目录
- ./data:/var/lib/opencloud # 数据目录
environment:
- IDM_ADMIN_PASSWORD=admin # 首次初始化密码
- OC_INSECURE=true # 允许非 HTTPS 访问
- PROXY_HTTP_ADDR=0.0.0.0:9200
- OC_URL=https://192.168.0.197:9200

创建目录及文件

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 opencloud 和 子目录
mkdir -p /volume1/docker/opencloud/{config,data}

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

# 修改目录权限
chmod a+rw {config,data}

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

执行以下命令分 2 次启动

1
2
3
4
5
# 先初始化(首次运行时)
docker-compose run --rm opencloud init

# 启动服务
docker-compose up -d

运行

在浏览器中访问 https://<群晖IP>:9200

注意,必须使用 https,否则会显示 Client sent an HTTP request to an HTTPS server.

高级 –> 继续前往....

现在会看到登录界面

用户名:admin, 密码:admin(或初始化时设置的密码)

登录成功后的主界面

中文

右上角 My Account –> Preferences –> Language

下拉到底找到 汉语 - Chinese ,看得出来汉化不是太完全

回到首页,大部分已经能看懂了

随便传了几个文件

功能就留给大家自己研究了

注意事项

  1. 数据持久化:配置文件保存在 config 目录,数据保存在 data 目录,请定期备份
  2. 安全建议:首次登录后请立即修改默认密码,OC_INSECURE=true 仅适用于测试环境,生产环境建议配置 HTTPS
  3. 端口冲突:如果 9200 端口被占用,请修改宿主机端口映射
  4. 升级注意:升级前请备份配置和数据目录
  5. 无数据库设计OpenCloud 不使用传统数据库,所有数据直接存储在文件系统中,升级和迁移非常方便

参考文档

OpenCloud - Open source platform for file management, sharing and collaboration
地址:https://github.com/opencloud-eu/opencloud

OpenCloud Official Website
地址:https://opencloud.eu

OpenCloud Docker Installation Guide
地址:https://docs.opencloud.eu/docs/admin/getting-started/container/docker