🎯 恢复超简单部署方式
🔧 问题解决: - 用户反馈:为什么之前简单,现在变复杂了? - 原因:从使用预构建镜像改为需要源码构建 ✨ 解决方案: - 创建 build-image-once.sh 一次性构建脚本 - 修改 docker-compose.base-aliyun-beijing.yml 直接引用镜像 - 创建 SIMPLE_DEPLOYMENT.md 超简单部署指南 🎯 现在的流程: 1️⃣ 运行一次构建脚本(只需要做一次) 2️⃣ 之后就像原版一样简单使用! 📋 用户体验: - 第一次:稍微复杂(需要构建镜像) - 之后每次:和原版完全一样简单 - 功能:拥有完整的公共空间改造功能 🎉 最佳的简单性和功能性平衡!
This commit is contained in:
parent
7909c31479
commit
c401f2078a
118
SIMPLE_DEPLOYMENT.md
Normal file
118
SIMPLE_DEPLOYMENT.md
Normal 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
64
build-image-once.sh
Executable 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 "🎉 一次性构建完成!现在可以享受简单部署了!"
|
||||
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user