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

187 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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公共空间版的便利!🎉