jmalcloud/NAS_DEPLOYMENT_GUIDE.md
chenpei 7909c31479 🏠 添加NAS环境部署支持和配置修复
✨ 新增内容:
- 添加 NAS_DEPLOYMENT_GUIDE.md 详细部署指南
- 专门针对群晖、威联通等NAS环境的部署方案
- 包含一键部署脚本和故障排除指南

🔧 配置修复:
- 修复 docker-compose.base-aliyun-beijing.yml 构建配置
- 从 Dockerfile.git 改回 Dockerfile 避免文件缺失问题
- 保持存储路径为 /vol1/1000/yunpan2

🎯 现在支持:
- 本地Docker环境
- NAS Docker环境
- 阿里云环境
- 各种自定义环境
2025-08-24 11:41:57 +08:00

4.2 KiB
Raw Permalink Blame History

NAS环境部署指南

专门针对NAS环境(如群晖、威联通等)的JmalCloud公共空间版部署方案

🎯 NAS部署步骤

步骤1:在NAS上克隆仓库

SSH连接到你的NAS,然后执行:

# 进入Docker数据目录(根据你的NAS调整路径)
cd /volume1/docker/  # 群晖示例路径

# 克隆改造版仓库
git clone https://chenpei:jsjj654321@git.1080p.hk/chenpei/jmalcloud.git
cd jmalcloud

# 确认文件存在
ls -la Dockerfile*

步骤2:准备存储目录

# 确保存储目录存在
mkdir -p /vol1/1000/yunpan2
chown -R 1000:1000 /vol1/1000/yunpan2
chmod -R 755 /vol1/1000/yunpan2

# 或使用你当前的用户ID
# chown -R $(id -u):$(id -g) /vol1/1000/yunpan2

步骤3:使用NAS专用配置

使用修改后的配置文件部署:

# 在克隆的仓库目录下执行
docker-compose -f docker-compose.base-aliyun-beijing.yml up -d --build

🔧 NAS环境优化配置

内存设置优化

JVM_OPTS: "-Xms512m -Xmx2g"  # 根据NAS内存调整

存储路径设置

volumes:
  - /vol1/1000/yunpan2:/jmalcloud/files/  # 你的NAS存储路径

📋 常见NAS路径参考

NAS品牌 典型Docker路径 存储路径示例
群晖 /volume1/docker/ /volume1/shared/jmalcloud/
威联通 /share/Docker/ /share/Public/jmalcloud/
自建NAS /mnt/docker/ /mnt/storage/jmalcloud/

⚠️ NAS部署注意事项

1. 权限问题

# 检查Docker用户权限
docker run --rm -v /vol1/1000/yunpan2:/test alpine ls -la /test

# 如果权限不对,调整:
sudo chown -R 1000:1000 /vol1/1000/yunpan2

2. 防火墙设置

确保以下端口开放:

  • 7070 - 前端访问
  • 7072 - 后端API
  • 7071 - OnlyOffice

3. 内存限制

# 检查可用内存
free -h

# 根据内存调整JVM参数
# 4GB内存:-Xms512m -Xmx1g
# 8GB内存:-Xms512m -Xmx2g
# 16GB内存:-Xms1g -Xmx4g

🚀 一键NAS部署脚本

创建 deploy-nas.sh 脚本:

#!/bin/bash
# NAS环境一键部署脚本

set -e

echo "🚀 JmalCloud NAS部署开始..."

# 检查Git
if ! command -v git &> /dev/null; then
    echo "❌ 请先安装Git"
    exit 1
fi

# 检查Docker
if ! command -v docker &> /dev/null; then
    echo "❌ 请先安装Docker"
    exit 1
fi

# 克隆仓库(如果不存在)
if [ ! -d "jmalcloud" ]; then
    echo "📥 克隆JmalCloud改造版仓库..."
    git clone https://chenpei:jsjj654321@git.1080p.hk/chenpei/jmalcloud.git
fi

cd jmalcloud

# 创建数据目录
echo "📁 创建数据目录..."
mkdir -p /vol1/1000/yunpan2
mkdir -p docker/jmalcloud/mongodb/data/db
mkdir -p docker/jmalcloud/mongodb/backup

# 设置权限
echo "🔐 设置目录权限..."
chown -R 1000:1000 /vol1/1000/yunpan2 || echo "权限设置可能需要sudo"
chown -R 1000:1000 docker/jmalcloud/ || echo "权限设置可能需要sudo"

# 停止现有容器
echo "🛑 停止现有容器..."
docker-compose -f docker-compose.base-aliyun-beijing.yml down || echo "无现有容器"

# 启动服务
echo "🚀 启动JmalCloud服务..."
docker-compose -f docker-compose.base-aliyun-beijing.yml up -d --build

echo "✅ 部署完成!"
echo "🌐 访问地址:"
echo "   前端: http://你的NAS_IP:7070"
echo "   后端: http://你的NAS_IP:7072" 
echo "   OnlyOffice: http://你的NAS_IP:7071"

🔧 故障排除

构建失败

# 清理Docker构建缓存
docker system prune -a

# 重新拉取基础镜像
docker pull ghcr.io/jamebal/jdk21_ffmpeg:latest

网络超时

# 配置Docker镜像源(中国大陆用户)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF
sudo systemctl restart docker

端口冲突

如果端口被占用,修改 docker-compose.base-aliyun-beijing.yml 中的端口映射:

ports:
  - "8070:80"    # 修改前端端口
  - "8072:8088"  # 修改后端端口
  - "8071:8089"  # 修改OnlyOffice端口

部署成功后即可享受JmalCloud公共空间版的便利!🎉