🏠 添加NAS环境部署支持和配置修复

✨ 新增内容:
- 添加 NAS_DEPLOYMENT_GUIDE.md 详细部署指南
- 专门针对群晖、威联通等NAS环境的部署方案
- 包含一键部署脚本和故障排除指南

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

🎯 现在支持:
- 本地Docker环境
- NAS Docker环境
- 阿里云环境
- 各种自定义环境
This commit is contained in:
chenpei 2025-08-24 11:41:57 +08:00
parent 6ff19be383
commit 7909c31479
2 changed files with 188 additions and 5 deletions

186
NAS_DEPLOYMENT_GUIDE.md Normal file
View File

@ -0,0 +1,186 @@
# 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公共空间版的便利!🎉

View File

@ -19,12 +19,9 @@ services:
container_name: jmalcloud_server
build:
context: .
dockerfile: Dockerfile.git
dockerfile: Dockerfile
args:
GIT_REPO: https://git.1080p.hk/chenpei/jmalcloud.git
GIT_USERNAME: chenpei
GIT_PASSWORD: jsjj654321
TARGETPLATFORM: linux/amd64
VERSION: 2.15.0
image: chenpei/jmalcloud:aliyun-beijing
environment:
MONGODB_URI: "mongodb://mongo:27017/jmalcloud"