开源、稳定、好用的三大网盘
- nextcloud
- owncloud
- cloudreve
我心目中的开源网盘 TOP3,其中 nextcloud 和 cloudreve 亲身搭建测试用过,效果都不错。owncloud 据说是 nextcloud 的前身,的确感觉界面很类似。nextcloud 有各平台 app 客户端,插件丰富,功能强大。cloudreve 感觉更轻量级,部署方便,而且界面 UI 比较好看,GitHub 上 star 也非常多,感觉更受欢迎,我亲测过后也爱了。
cloudreve 特性
☁️ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 、S3 兼容协议 作为存储端
📤 上传 / 下载 支持客户端直传,支持下载限速
💾 可对接 Aria2 离线下载,可使用多个从机节点分担下载任务
📚 在线 压缩 / 解压缩、多文件打包下载
💻 覆盖全部存储策略的 WebDAV 协议支持
⚡ 拖拽上传、目录上传、流式上传处理
🗃️ 文件拖拽管理
👩👧👦 多用户、用户组、多存储策略
🔗 创建文件、目录的分享链接,可设定自动过期
👁️🗨️ 视频、图像、音频、 ePub 在线预览,文本、Office 文档在线编辑
🎨 自定义配色、黑暗模式、PWA 应用、全站单页应用、国际化支持
🚀 All-In-One 打包,开箱即用
🌈 … …
安装 cloudreve
GitHub 下载地址:https://github.com/cloudreve/Cloudreve/releases
根据操作系统和 CPU 架构下载对应的二进制文件,解压后直接运行即可:
1 2 3 4 5 6 7 8
| # 解压程序包 tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
# 赋予执行权限 chmod +x ./cloudreve
# 启动 Cloudreve ./cloudreve
|
Cloudreve 在首次启动时,会创建初始管理员账号,请注意保管管理员密码,此密码只会在首次启动时出现。如果您忘记初始管理员密码,需要删除同级目录下的 cloudreve.db,重新启动主程序以初始化新的管理员账户。
Cloudreve 默认会监听 5212 端口。启动后直接在浏览器中访问 localhost:5212
或 http://服务器IP:5212
进入 Cloudreve。
实操演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| geduer@gdk8:~$ mkdir cloudreve geduer@gdk8:~$ cd cloudreve/ geduer@gdk8:~/cloudreve$ ls cloudreve_3.8.0_linux_arm64.tar.gz geduer@gdk8:~/cloudreve$ tar -xvf cloudreve_3.8.0_linux_arm64.tar.gz LICENSE README.md README_zh-CN.md cloudreve geduer@gdk8:~/cloudreve$ ls LICENSE README.md README_zh-CN.md cloudreve cloudreve_3.8.0_linux_arm64.tar.gz geduer@gdk8:~/cloudreve$ ./cloudreve
___ _ _ / __\ | ___ _ _ __| |_ __ _____ _____ / / | |/ _ \| | | |/ _ | '__/ _ \ \ / / _ \ / /___| | (_) | |_| | (_| | | | __/\ V / __/ \____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___|
V3.8.0 Commit #243c312 Pro=false ================================================.
[Info] 2023-06-19 14:44:03 Initializing database connection... [Info] 2023-06-19 14:44:03 Start initializing database schema... [Info] 2023-06-19 14:44:03 Admin user name: xxxxx [Info] 2023-06-19 14:44:03 Admin password: xxxxx [Info] 2023-06-19 14:44:04 Start executing database script "UpgradeTo3.4.0". [Info] 2023-06-19 14:44:04 Finish initializing database schema. [Info] 2023-06-19 14:44:04 Initialize task queue with WorkerNum = 10 [Info] 2023-06-19 14:44:04 Initialize crontab jobs... [Info] 2023-06-19 14:44:04 Current running mode: Master. [Info] 2023-06-19 14:44:04 Listening to ":5212" [GIN] 2023/06/19 - 14:45:55 | 200 | 18.24428ms | 192.168.43.117 | GET "/" [GIN] 2023/06/19 - 14:45:55 | 200 | 41.710503ms | 192.168.43.117 | GET "/static/css/6.57254ef2.chunk.css" [GIN] 2023/06/19 - 14:45:55 | 200 | 144.74392ms | 192.168.43.117 | GET "/static/js/main.b28185a0.chunk.js" [GIN] 2023/06/19 - 14:45:56 | 200 | 382.097422ms | 192.168.43.117 | GET "/static/js/6.2cdf7034.chunk.js" [GIN] 2023/06/19 - 14:45:56 | 200 | 1.546953ms | 192.168.43.117 | GET "/locales/en-US/common.json?v=3.8.0-beta1" [GIN] 2023/06/19 - 14:45:56 | 200 | 8.654829ms | 192.168.43.117 | GET "/api/v3/site/config"
|
设置 cloudreve 进程守护和开机启动
编辑配置文件
1
| vim /usr/lib/systemd/system/cloudreve.service
|
将下文 PATH_TO_CLOUDREVE 更换为程序所在目录:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| [Unit] Description=Cloudreve Documentation=https://docs.cloudreve.org After=network.target After=mysqld.service Wants=network.target
[Service] WorkingDirectory=/PATH_TO_CLOUDREVE ExecStart=/PATH_TO_CLOUDREVE/cloudreve Restart=on-abnormal RestartSec=5s KillMode=mixed
StandardOutput=null StandardError=syslog
[Install] WantedBy=multi-user.target
|
配置命令
1 2 3 4 5 6 7 8
| # 更新配置 systemctl daemon-reload
# 启动服务 systemctl start cloudreve
# 设置开机启动 systemctl enable cloudreve
|
管理命令
1 2 3 4 5 6 7 8 9 10 11
| # 启动服务 systemctl start cloudreve
# 停止服务 systemctl stop cloudreve
# 重启服务 systemctl restart cloudreve
# 查看状态 systemctl status cloudreve
|
实操演示
注意:如果存在配置文件对应的目录,则直接根据步骤操作即可。而我的新环境由于 /usr/lib/systemd 下没有 system 目录,vim 编辑文件后无法保存,此时需要先创建好对应的目录后,再编辑配置文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| root@gdk8:/usr/lib/systemd/system# vim cloudreve.service root@gdk8:/usr/lib/systemd/system# systemctl daemon-reload root@gdk8:/usr/lib/systemd/system# systemctl start cloudreve root@gdk8:/usr/lib/systemd/system# systemctl enable cloudreve Created symlink /etc/systemd/system/multi-user.target.wants/cloudreve.service → /usr/lib/systemd/system/cloudreve.service. root@gdk8:/usr/lib/systemd/system# systemctl status cloudreve ● cloudreve.service - Cloudreve Loaded: loaded (/usr/lib/systemd/system/cloudreve.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-06-19 15:24:53 CST; 13s ago Docs: https://docs.cloudreve.org Main PID: 1673 (cloudreve) Tasks: 8 (limit: 4672) CGroup: /system.slice/cloudreve.service └─1673 /home/geduer/cloudreve/cloudreve
Jun 19 15:24:53 gdk8 systemd[1]: Started Cloudreve. root@gdk8:/usr/lib/systemd/system# ls cloudreve.service
|