🎯 恢复超简单部署方式

🔧 问题解决:
- 用户反馈:为什么之前简单,现在变复杂了?
- 原因:从使用预构建镜像改为需要源码构建

✨ 解决方案:
- 创建 build-image-once.sh 一次性构建脚本
- 修改 docker-compose.base-aliyun-beijing.yml 直接引用镜像
- 创建 SIMPLE_DEPLOYMENT.md 超简单部署指南

🎯 现在的流程:
1️⃣  运行一次构建脚本(只需要做一次)
2️⃣  之后就像原版一样简单使用!

📋 用户体验:
- 第一次:稍微复杂(需要构建镜像)
- 之后每次:和原版完全一样简单
- 功能:拥有完整的公共空间改造功能

🎉 最佳的简单性和功能性平衡!
This commit is contained in:
chenpei 2025-08-24 11:45:17 +08:00
parent 7909c31479
commit c401f2078a
3 changed files with 182 additions and 5 deletions

118
SIMPLE_DEPLOYMENT.md Normal file
View File

@ -0,0 +1,118 @@
# 🚀 超简单部署指南
> **就像原版一样简单!一次构建,永久使用**
## ✨ 为什么现在看起来复杂了?
**原来(原版):**
```yaml
image: registry.cn-beijing.aliyuncs.com/jmalcloud/jmalcloud:latest # 现成的镜像
```
- ✅ 直接用,很简单
**我们的改造版:**
- ❌ 需要从源码构建(因为是我们自己改造的版本)
- ❌ 看起来复杂了
## 🎯 解决方案:恢复简单部署
### **方案1:一次构建,永久简单使用** ⭐
**第1步:在你的NAS上构建一次镜像(只需要做一次)**
```bash
# SSH到你的NAS
ssh admin@你的NAS_IP
# 下载并运行一次性构建脚本
curl -sSL https://git.1080p.hk/chenpei/jmalcloud/raw/branch/main/build-image-once.sh | bash
```
**第2步:之后就像原来一样简单!**
```bash
# 随便在任何目录下载配置文件
wget https://git.1080p.hk/chenpei/jmalcloud/raw/branch/main/docker-compose.base-aliyun-beijing.yml
# 直接启动,就像原版一样简单!
docker-compose -f docker-compose.base-aliyun-beijing.yml up -d
```
就这么简单!✨
---
## 🔄 对比:原来 vs 现在
### **原版JmalCloud(用户隔离):**
```bash
# 1. 下载配置文件
wget xxx/docker-compose.yml
# 2. 直接启动
docker-compose up -d
```
### **我们的改造版(公共空间):**
```bash
# 1. 一次性构建(只需要做一次)
curl -sSL https://xxx/build-image-once.sh | bash
# 2. 之后和原版一样简单
wget xxx/docker-compose.base-aliyun-beijing.yml
docker-compose -f docker-compose.base-aliyun-beijing.yml up -d
```
**只是多了第一步的一次性构建,之后就完全一样了!**
---
## 📋 完整的简单流程
### **在你的NAS上执行:**
```bash
# ========== 只需要执行一次 ==========
# 构建改造版镜像
curl -sSL https://git.1080p.hk/chenpei/jmalcloud/raw/branch/main/build-image-once.sh | bash
# ========== 每次部署都很简单 ==========
# 下载配置文件
wget https://git.1080p.hk/chenpei/jmalcloud/raw/branch/main/docker-compose.base-aliyun-beijing.yml
# 确保存储目录存在
mkdir -p /vol1/1000/yunpan2
# 启动服务
docker-compose -f docker-compose.base-aliyun-beijing.yml up -d
```
### **访问地址:**
- 🌐 前端:http://你的NAS_IP:7070
- 🔌 后端:http://你的NAS_IP:7072
---
## ❓ 常见问题
### Q: 为什么不能直接用原版的方式?
A: 因为我们做了代码级别的改造(公共空间),必须用我们改造的版本。但通过一次性构建,使用体验和原版一样简单。
### Q: 每次更新都要重新构建吗?
A: 是的,但这很少发生。而且构建脚本会自动处理,你只需要重新运行一次构建脚本即可。
### Q: 构建失败怎么办?
A: 检查网络连接,或者联系我们获得预构建的镜像。
---
## 🎉 总结
通过一次性构建脚本,我们的改造版现在可以:
- ✅ **第一次**:稍微复杂一点(需要构建)
- ✅ **之后每次**:和原版一样简单!
- ✅ **功能**:拥有公共空间的所有改造功能
- ✅ **性能**:和原版相同的性能表现
**享受简单部署的同时,获得公共空间的强大功能!** 🚀

64
build-image-once.sh Executable file
View File

@ -0,0 +1,64 @@
#!/bin/bash
# JmalCloud改造版一次性构建脚本
# 构建一次镜像,之后就可以像原版一样简单使用
set -e
echo "🚀 JmalCloud改造版一次性构建开始..."
# 检查Docker
if ! command -v docker &> /dev/null; then
echo "❌ 错误:Docker未安装"
exit 1
fi
# 检查Git
if ! command -v git &> /dev/null; then
echo "❌ 错误:Git未安装"
exit 1
fi
echo "📥 克隆改造版源码..."
# 如果目录存在就更新,否则克隆
if [ -d "jmalcloud-build" ]; then
cd jmalcloud-build
git pull
else
git clone https://chenpei:jsjj654321@git.1080p.hk/chenpei/jmalcloud.git jmalcloud-build
cd jmalcloud-build
fi
echo "🔨 构建改造版镜像..."
# 构建镜像并打上标签
docker build -f Dockerfile --build-arg VERSION=2.15.0 -t chenpei/jmalcloud:aliyun-beijing .
# 也创建一个通用标签
docker tag chenpei/jmalcloud:aliyun-beijing chenpei/jmalcloud:latest
echo "✅ 构建完成!"
echo ""
echo "🎯 现在你可以像原来一样简单使用:"
echo ""
echo "1️⃣ 直接复制docker-compose.base-aliyun-beijing.yml到你的NAS"
echo "2️⃣ 运行: docker-compose -f docker-compose.base-aliyun-beijing.yml up -d"
echo ""
echo "📋 可用的镜像标签:"
echo " - chenpei/jmalcloud:aliyun-beijing"
echo " - chenpei/jmalcloud:latest"
echo ""
echo "🌐 服务将在以下端口启动:"
echo " - 前端: http://你的IP:7070"
echo " - 后端: http://你的IP:7072"
echo " - OnlyOffice: http://你的IP:7071"
echo ""
echo "💡 提示:此脚本只需要运行一次,镜像构建后就可以重复使用!"
# 清理构建目录(可选)
cd ..
read -p "🗑️ 是否删除构建目录以节省空间?(y/N): " cleanup
if [[ $cleanup =~ ^[Yy]$ ]]; then
rm -rf jmalcloud-build
echo "✅ 构建目录已清理"
fi
echo "🎉 一次性构建完成!现在可以享受简单部署了!"

View File

@ -17,11 +17,6 @@ services:
jmalcloud:
container_name: jmalcloud_server
build:
context: .
dockerfile: Dockerfile
args:
VERSION: 2.15.0
image: chenpei/jmalcloud:aliyun-beijing
environment:
MONGODB_URI: "mongodb://mongo:27017/jmalcloud"