群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程

前言

NAS里的文件如果只是"能存进去",其实还没有真正发挥自托管网盘的价值。

真正用起来以后,还会遇到更多需求:手机和电脑都要访问、文件要分享、Office文档希望直接在线处理、不同设备想通过WebDAV挂载,甚至整理好的技术文档还想直接发布成页面。

JmalCloud是一套偏综合型的私有云盘方案。官方文档目前明确支持常见文件预览、Word/Excel/PPT在线编辑、流程图和思维导图、超大文件断点续传、WebDAV以及全文搜索。对于已经有群晖或其他Docker设备的用户,它更像"文件入口 + 在线文档 + WebDAV + 内容发布"的组合。

这篇文章按原稿环境完整跑一遍:先在群晖里通过Docker Compose部署JmalCloud,再测试文件上传、分享和博客页面,最后通过cpolar把9070端口映射到公网。

需要说明的是,原稿使用的是JmalCloud 2.2.35和9070端口方案;当前官方部署方式已经更新,所以正文会保留原稿实操,同时把新旧部署差异单独标出来。

1.JmalCloud能做什么?

JmalCloud是一款开源、自托管的私有云存储项目。按照当前官方文档,它除了基础文件管理,还支持:

  • 常见图片、音频、视频和文档预览;
  • Word、Excel、PPT在线编辑;
  • 流程图和思维导图编辑;
  • 超大文件上传和断点续传;
  • WebDAV挂载;
  • 文本、PDF、Office等文件的全文搜索;
  • 自托管部署,数据和服务由自己管理。

因此,对NAS用户来说,它更适合被理解成一个综合文件工作台,而不是单纯的"网页文件夹"。

版本说明 :原稿固定使用registry.cn-guangzhou.aliyuncs.com/jmalcloud/jmalcloud:2.2.35,并从9070访问主页面。当前JmalCloud官方文档已经要求Docker Compose v2+,官方示例默认从7070访问。下面部署部分仍保留原稿配置,方便复现这篇文章对应的环境。

2.在群晖NAS上部署JmalCloud

先通过SSH进入群晖终端,创建JmalCloud的数据目录并进入:

shell 复制代码
mkdir -p /data/jmalcloud/files /data/jmalcloud/db && cd /data/jmalcloud

然后创建docker-compose.yaml:

shell 复制代码
vim docker-compose.yaml 

原稿使用下面这份Compose配置:

yaml 复制代码
version: '3'
services:
  jmalcloud:
    image: registry.cn-guangzhou.aliyuncs.com/jmalcloud/jmalcloud:2.2.35
    restart: always
    ports:
      - 9070:80
      - 9071:8080
      - 9072:8088
      - 27017:27017
    volumes:
      - /data/jmalcloud/files/:/jmalcloud/files/
      - /data/jmalcloud/db/:/data/db/

这里几个端口分别按原稿保留:

  • 9070:80:JmalCloud主Web页面;
  • 9071:8080:原稿后续用于访问博客页面;
  • 9072:8088:服务端相关端口;
  • 27017:27017:MongoDB端口。

安全提醒:日常使用JmalCloud并不意味着需要把MongoDB的27017端口开放到公网。如果没有外部数据库管理需求,不要通过路由器端口映射或内网穿透公开27017。

保存后启动容器:

shell 复制代码
docker-compose up -d

容器启动完成后,在浏览器访问:

http://群晖IP:9070

首次进入会看到管理员创建页面。设置用户名和独立强密码后登录即可。

3.实际使用JmalCloud

进入首页后,可以直接上传文件。

文件支持分享链接,可以把指定文件发送给其他设备或用户。按照原稿操作,进入"基本设置"后还能继续进入后台管理页面。

原稿还演示了博客功能:进入"网站设置 → 文档",找到文章编辑入口,编辑完成后发布。随后访问:

http://群晖IP:9071

即可进入JmalCloud博客页面,查看刚刚发布的文章。

需要区分两件事:原稿实际演示了文件上传、分享和博客发布;Word/Excel/PPT、流程图、思维导图、WebDAV和全文搜索则是JmalCloud当前官方文档明确列出的项目能力,但原稿没有逐项演示配置过程。

4.需要外网访问时,再配置cpolar

如果只在家庭局域网中使用,到这里已经够了。

如果还需要在公司、出差或其他网络中打开JmalCloud,可以继续给9070端口增加公网入口。原稿使用cpolar群晖套件。

先下载与群晖型号和DSM版本匹配的cpolar套件,再通过"套件中心 → 手动安装"完成部署。

安装完成后,通过下面的地址进入cpolar Web UI:

http://群晖IP:9200

登录后,如果准备长期使用,可以先保留一个二级子域名。原稿地区选择China Top,名称可以自行设置。

然后回到cpolar Web UI创建HTTP隧道:

  • 隧道名称:自定义;
  • 本地地址:9070;
  • 域名类型:二级子域名;
  • Sub Domain:填写刚刚保留的名称;
  • 地区:China Top。

创建后进入"在线隧道列表",即可看到对应公网访问地址。换到手机流量或其他外部网络测试,如果能够正常进入JmalCloud页面,就说明远程访问已经打通。

公网访问提醒:JmalCloud里可能保存个人文件、工作资料甚至分享链接。开放公网访问后,管理员密码不要与NAS账号复用,也不要把不必要的9071、9072、27017等端口一起映射出去。

总结

这套JmalCloud方案最终解决的是"文件已经放进NAS以后,怎么更方便地使用"。

原稿环境中,9070负责JmalCloud主页面,9071用于博客页面;文件可以上传和分享,文章也可以直接发布。需要从外部网络访问时,再通过cpolar给9070端口提供公网入口。

JmalCloud官方目前仍明确支持Word、Excel、PPT、流程图和思维导图在线编辑,也支持大文件断点续传、WebDAV和全文搜索,因此它的定位确实比普通文件浏览器更完整。

不过这篇原稿的Docker方式已经不是当前官方默认部署。现在官方要求Docker Compose v2+,官方文档示例默认从7070访问。因此,如果是全新安装,更建议把本文当作"2.2.35旧版本实操",再以最新官方Compose为部署基准;如果只是维护现有环境,则继续按原稿端口使用即可。

另外,公网访问只需要开放真正使用的Web入口。27017这类数据库端口不要顺手暴露到公网,管理账号也建议使用独立强密码。

相关推荐
时间售卖铺1 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
前端精髓1 小时前
调用大模型API
运维·服务器·microsoft
跨境小彭2 小时前
Temu 全托管模式下,SKU 利润核算的实践复盘
大数据·运维·人工智能·自动化·temu
李纲明2 小时前
WordPress 定时发布不跑、备份邮件延误:先核 WP-Cron 触发与回环,再改系统 Cron
运维·wordpress·定时任务·devdiy·wp-cron
chushiyunen3 小时前
autoHotKey、windows自动化快捷键工具
运维·windows·自动化
逆风的蚂蚁3 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
mennekes3 小时前
临时用电线路标识:插头颜色、钟面标识配套规范
运维·网络·科技·安全·制造
程序猿老A5 小时前
轻量云服务器总是卡,内存占比高?
运维·服务器
一只鹿鹿鹿6 小时前
智算算力、AI-芯片与产品解析(PPT文件)
大数据·运维·网络·人工智能·物联网·1024程序员节