别再买会员了!基于Docker的JmalCloud私有网盘,免费、安全、功能全

1、JmalCloud简介
在数字化时代,数据已成为我们最宝贵的资产之一。依赖公有网盘,我们常常面临存储空间收费、限速、以及最重要的——数据隐私安全等诸多顾虑。有没有一个解决方案,既能享受云端存储的便捷,又能将数据的完全控制权掌握在自己手中?
答案是肯定的。JmalCloud 正是为此而生的一个高效、安全的开源私有云盘系统。它不仅仅是一个存储文件的仓库,更是一个集文件管理、在线办公、内容发布于一体的个人云端工作台。
与百度网盘、iCloud等公有云服务不同,JmalCloud 可以部署在您自己的服务器上,无论是家里的NAS、还是腾讯云/阿里云的云主机。这意味着:
-
数据完全私有:所有文件都保存在您指定的服务器上,隐私安全无忧。
-
功能深度集成:它无缝整合了 OnlyOffice 和 Draw.io,让您可以在浏览器中直接编辑 Word、Excel、PPT 文档,以及绘制流程图与思维导图,无需在本地安装任何软件。
-
传输高效可靠:支持超大文件上传和断点续传,再也不用担心网络波动导致上传失败。
-
多协议与多存储:除了服务器本地磁盘,它还支持接入阿里云OSS、腾讯云COS等对象存储服务,并提供了 WebDAV 协议支持,方便您将网盘挂载到Windows、Mac等本地系统,像操作本地磁盘一样管理云端文件。
-
自带轻量博客:它甚至内置了一个简单的博客系统,您可以直接使用 Markdown 语法撰写和发布技术文章或个人随笔。
2、主要功能特性
支持多种存储方式:除了本地存储,还兼容阿里云 OSS、腾讯云 OSS 和 MinIO 等多种对象存储服务。
丰富的文件预览与编辑:支持在线预览图片、音频、视频等文件。集成了 OnlyOffice 和 Draw.io,可在线编辑 Word、Excel、PPT 等文档,以及流程图和思维导图。
超大文件与传输支持:支持超大文件上传和断点续传。同时支持 WebDAV 协议,你可以将网盘挂载到本地使用。
内置博客系统:它还是一个简单的博客系统,支持使用 Markdown 语法发布和管理文章。
3、安装docker
1、安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2、配置docker yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker
yum install -y docker-ce
4、修改docker配置文件
mkdir /etc/docker -p
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":[
"https://docker.credclouds.com",
"https://quay.credclouds.com",
"https://k8s-gcr.credclouds.com",
"https://ghcr.credclouds.com",
"https://docker.m.daocloud.io",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
],
"data-root":"/etc/docker"
}
EOF
5、启动docker
systemctl daemon-reload
systemctl enable docker --now
systemctl restart docker
6、安装docker-compose
下载docker-compose文件
curl -L "https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
给他一个执行权限
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
查看是否安装成功
docker-compose --version
4、拉取JmalCloud镜像
docker pull docker.1ms.run/library/mongo:4.4
docker pull docker.1ms.run/jmal/jmalcloud:latest
docker pull docker.1ms.run/jmal/jmalcloud-nginx:latest
docker pull docker.1ms.run/onlyoffice/documentserver:8.0.1
5、配置数据目录
mkdir /data/jmalcloud -p
mkdir /data/mongodb -p
6、编辑docker-compose.yaml文件
sudo tee /data/jmalcloud/docker-compose.yaml <<-'EOF'
services:
mongo:
container_name: jmalcloud_mongodb
image: docker.1ms.run/library/mongo:4.4
environment:
TZ: "Asia/Shanghai"
volumes:
- /data/mongodb/db:/data/db
- /data/mongodb/backup:/dump
restart: unless-stopped
healthcheck:
test: ["CMD", "mongo", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 3
command: --wiredTigerCacheSizeGB 0.5
jmalcloud:
container_name: jmalcloud_server
image: docker.1ms.run/jmal/jmalcloud:latest
environment:
MONGODB_URI: "mongodb://mongo:27017/jmalcloud"
TZ: "Asia/Shanghai"
JVM_OPTS: "-Xms256m -Xmx1024m"
volumes:
- /data/jmalcloud/files:/jmalcloud/files/
restart: unless-stopped
ports:
- 7072:8088
depends_on:
mongo:
condition: service_healthy
nginx:
container_name: jmalcloud_nginx
image: docker.1ms.run/jmal/jmalcloud-nginx:latest
ports:
- 7070:80
- 7071:8089
environment:
TZ: "Asia/Shanghai"
links:
- jmalcloud
restart: unless-stopped
EOF7、启动JmalCloud容器
cd /data/jmalcloud/
docker-compose up -d
docker-compose ps

8、查看容器日志
docker logs -f jmalcloud_server

9、访问JmalCloud服务
浏览器访问: http://192.168.52.15:7070
创建管理员用户名、密码:



10、JmalCloud的基本使用
10.1、上传文件

10.2、在线浏览文件

10.3、分享文件

11、总结
JmalCloud 旨在通过简单的部署,为您提供一个功能可媲美甚至超越商业网盘的私有化替代方案。接下来,本文将手把手教您如何利用腾讯云或阿里云服务器,轻松搭建属于您自己的 JmalCloud 个人网盘,开启高效、安全、便捷的云端存储与管理之旅。