opencloud-eu/opencloud
GitHub: opencloud-eu/opencloud
一个去中心化的开源文件管理与协作平台,解决数据主权与自主可控问题。
Stars: 5180 | Forks: 179

[](https://ci.opencloud.eu/repos/3)
[](https://app.element.io/#/room/#opencloud:matrix.org)
[](https://opensource.org/licenses/Apache-2.0)
# 服务端
这是 OpenCloud 服务端的主仓库。
它包含了后端服务的 Golang 代码库。
## 参与贡献
OpenCloud 服务端在 [Apache 2.0](https://github.com/opencloud-eu/opencloud/blob/main/LICENSE) 下发布。
项目欢迎任何形式的贡献。
现在开始动手,有很多方式可以参与,例如:
- 报告 [问题或错误](https://github.com/opencloud-eu/opencloud/issues)
- 请求 [新功能](https://github.com/opencloud-eu/opencloud/issues)
- [撰写文档](https://github.com/opencloud-eu/docs)
- [编写代码或扩展测试](https://github.com/opencloud-eu/opencloud/pulls)
- [代码审查](https://github.com/opencloud-eu/opencloud/pulls)
- 在 [社区](https://app.element.io/#/room/#opencloud:matrix.org) 中帮助他人
每一份贡献都有意义且备受赞赏!
如果你想开始,请参考我们的 [贡献指南](https://github.com/opencloud-eu/opencloud/blob/main/CONTRIBUTING.md)。
## 构建 OpenCloud
要构建后端服务,请按照以下步骤操作:
生成 Web UI 和内置身份提供者所需的资源
```
make generate
```
然后编译 `opencloud` 二进制文件
```
make -C opencloud build
```
这将生成二进制文件 `opencloud/bin/opencloud`。你可以使用以下两步命令立即将其作为本地测试实例启动:
```
opencloud/bin/opencloud init && opencloud/bin/opencloud server
```
这会在默认位置 `$HOME/.opencloud` 创建服务器配置并启动服务。
如需更多安装和设置选项,请查阅 [开发文档](https://docs.opencloud.eu/)。
## 技术栈
关于使用的技术,以下是贡献者需要了解的重要信息。
### 认证
OpenCloud 后端使用 [OpenID Connect](https://openid.net/connect/) 认证用户,可选择外部 IdP(如 [Keycloak](https://www.keycloak.org/))或内置的 [LibreGraph Connect](https://github.com/libregraph/lico) 身份提供者。
### 数据库
OpenCloud 后端不使用数据库,所有数据存储在文件系统中。默认情况下,后端根目录为 `$HOME/.opencloud/`。
## 安全
如果你发现与安全相关的问题,请立即联系 [security@opencloud.eu](mailto:security@opencloud.eu)。
标签:Apache 2.0, ASN信息, EVTX分析, Golang, Go语言, Matrix, OpenCloud, 主权云, 云存储, 代码审查, 协作平台, 后端服务, 安全编程, 开源, 开源框架, 开源许可证, 持续集成, 文件共享, 文件同步, 文件管理, 文档编写, 日志审计, 权限管理, 模块化, 模型越狱, 测试扩展, 社区贡献, 程序破解, 端到端加密, 网络安全, 脚本检测, 自建服务, 自托管, 隐私保护