NextCloud、Seafile玩厌了没?试试JmalCloud吧,JmalCloud除了常规网盘的文件管理、文档在线预览编辑之外,还支持外部OSS存储,还自带一个博客系统。
-
项目源码:
https://github.com/jamebal/jmal-cloud-server
-
项目官网:
https://jmalcloud.github.io/
-
官方演示地址:
https://jmal.cc/demo/
-
docker-compose
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/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 # 网盘端口 7070, 按需修改 - 7071:8089 # 博客端口 7071, 按需修改 environment: TZ: "Asia/Shanghai" links: - jmalcloud - office # 如果不想使用在线office编辑功能,将这一行删除掉 restart: unless-stopped office: # 不想使用office功能可以去掉这里一整块内容 container_name: jmalcloud_office image: docker.1ms.run/onlyoffice/documentserver:8.0.1 environment: TZ: "Asia/Shanghai" JWT_SECRET: "happynew1er"# 要使用office功能的话,这个密码按需修改,并记一下,待会要用 restart: unless-stopped
JmalCloud项目较大,依赖较多,一共有四个镜像:jmalcloud,jmalcloud_nginx,mongo,onlyoffice,我在compose文件里已经加上了docker加速镜像地址:
docker.1ms.run
,大家可以直接用,这也是我从网上搜罗到的,不保证能一直使用。介绍
JmalCloud是一款私有云存储网盘项目,能够简单安全管理您的云端文件。特点:
-
自托管和自主控制:你可以选择将JmalCloud部署在自己的服务器上,完全掌控你的数据和隐私。
-
开源:JmalCloud 100% 开源,任何人都可以查看、修改和共享其源代码。
-
对象存储:支持阿里云 OSS、腾讯云 COS 和 MinIO。
-
文件预览:支持常见文件格式的预览,包括图片、音频、视频、文档等。
-
DWG 图纸:支持 DWG 文件预览。
-
文档编辑:支持在线编辑 Word、Excel、PPT、流程图和思维导图。
-
文件上传:支持超大文件上传,支持断点续传。
-
WebDAV:支持 WebDAV 协议,可将 JmalCloud 挂载为本地磁盘。
-
全文搜索:支持文本、PDF、Office 等文件的全文搜索。
-
自带博客系统:markdown编辑器、直接发布文章
环境准备
- jdk17+
- mongodb4.4+
- node v16.x.x
项目部署
1、克隆服务端项目
git clone https://github.com/jamebal/jmal-cloud-server.git
2、修改配置文件 src/main/resources/file.yml
修改参数rootDir
和 ip2region-db-path
改为自己的目录, 即可启动服务
3、克隆web端项目
git clone https://github.com/jamebal/jmal-cloud-view.git
4、项目目录下执行npm install
5、启动web端npm run dev
最后
JmalCloud功能很全很强大,还有很多功能需要去研究和摸索,比如还可以与syncthing结合,实现同步盘功能。