简介
Nextcloud 是一个开源的云存储和文件共享平台,旨在为用户提供安全、私有的文件管理和协作解决方案。它可以自托管在用户自己的服务器上,确保数据的隐私和安全性。
核心特性
- 文件存储与同步: 用户可以上传、下载和同步文件,支持多种设备(桌面、移动设备等)的无缝访问。
- 共享功能: 允许用户与其他人共享文件和文件夹,可以设置权限(如只读、可编辑等)。
- 协作工具: 集成了多种协作工具,如在线文档编辑、日历、联系人管理、任务管理等,增强团队合作。
- 安全性: 提供端到端加密、两步验证和其他安全功能,以保护用户的数据。
- 扩展性: 拥有丰富的应用市场,用户可以根据需要安装插件和应用程序,扩展 Nextcloud 的功能。
- 跨平台支持: 支持 Windows、macOS、Linux、Android 和 iOS 等多种操作系统。
- 社区与企业支持: Nextcloud 拥有活跃的社区支持,同时也提供企业级的技术支持与服务。
使用场景
- 个人云存储: 用户可以使用 Nextcloud 来存储和管理个人文件,确保数据私密性。
- 团队协作: 团队可以利用 Nextcloud进行项目管理、文档共享和实时协作,提高工作效率。
- 企业解决方案: 企业能够自建 Nextcloud 服务器,实现安全的文件管理和团队协作,符合企业对数据隐私的要求。
总结
Nextcloud 是一个灵活且强大的云存储解决方案,适合个人用户和企业用户,提供了安全的文件管理和丰富的协作功能。通过自托管,用户可以完全控制自己的数据,避免依赖第三方云服务。
部署
docker-compose.yaml
version: '3.8'
services:
db:
image: mariadb:10.5
container_name: nextcloud-db
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- ./nextcloud/db:/var/lib/mysql
environment:
- TZ=Asia/Shanghai # 设置时区
- MYSQL_ROOT_PASSWORD=123456 # 设置数据库管理员密码
- MYSQL_PASSWORD=123456 # 设置nextcloud库连接密码
- MYSQL_DATABASE=nextcloud # 创建nextcloud库
- MYSQL_USER=nextcloud # 创建nextcloud用户
deploy:
resources:
limits:
cpus: "1" # 限制 CPU 核心数
memory: "2G" # 限制内存大小
app:
image: nextcloud:23.0.0
container_name: nextcloud
restart: always
ports:
- 9091:80
links:
- db
volumes:
- ./nextcloud/html:/var/www/html
environment:
- TZ=Asia/Shanghai # 设置时区
- MYSQL_PASSWORD=123456 # 填写nextcloud用户密码
- MYSQL_DATABASE=nextcloud # 填写nextcloud库
- MYSQL_USER=nextcloud # 填写nextcloud用户
- MYSQL_HOST=db # 数据库地址
deploy:
resources:
limits:
cpus: "1" # 限制 CPU 核心数
memory: "2G" # 限制内存大小
启动
docker compose up -d
访问
浏览器直接输入部署的主机ip加9091即可
curl http://127.0.0.1:9091