🏠 添加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:
parent
6ff19be383
commit
7909c31479
186
NAS_DEPLOYMENT_GUIDE.md
Normal file
186
NAS_DEPLOYMENT_GUIDE.md
Normal 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公共空间版的便利!🎉
|
||||
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user