# NAS环境部署指南 > 专门针对NAS环境(如群晖、威联通等)的JmalCloud公共空间版部署方案 ## 🎯 **NAS部署步骤** ### 步骤1:在NAS上克隆仓库 **SSH连接到你的NAS,然后执行:** ```bash # 进入Docker数据目录(根据你的NAS调整路径) cd /volume1/docker/ # 群晖示例路径 # 克隆改造版仓库 git clone https://chenpei:jsjj654321@git.1080p.hk/chenpei/jmalcloud.git cd jmalcloud # 确认文件存在 ls -la Dockerfile* ``` ### 步骤2:准备存储目录 ```bash # 确保存储目录存在 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专用配置 **使用修改后的配置文件部署:** ```bash # 在克隆的仓库目录下执行 docker-compose -f docker-compose.base-aliyun-beijing.yml up -d --build ``` ## 🔧 **NAS环境优化配置** ### 内存设置优化 ```yaml JVM_OPTS: "-Xms512m -Xmx2g" # 根据NAS内存调整 ``` ### 存储路径设置 ```yaml 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. 权限问题 ```bash # 检查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. 内存限制 ```bash # 检查可用内存 free -h # 根据内存调整JVM参数 # 4GB内存:-Xms512m -Xmx1g # 8GB内存:-Xms512m -Xmx2g # 16GB内存:-Xms1g -Xmx4g ``` ## 🚀 **一键NAS部署脚本** 创建 `deploy-nas.sh` 脚本: ```bash #!/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" ``` ## 🔧 **故障排除** ### 构建失败 ```bash # 清理Docker构建缓存 docker system prune -a # 重新拉取基础镜像 docker pull ghcr.io/jamebal/jdk21_ffmpeg:latest ``` ### 网络超时 ```bash # 配置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` 中的端口映射: ```yaml ports: - "8070:80" # 修改前端端口 - "8072:8088" # 修改后端端口 - "8071:8089" # 修改OnlyOffice端口 ``` 部署成功后即可享受JmalCloud公共空间版的便利!🎉