chenpei 8591ad3233 🎨 集成前端代码到后端仓库
✨ 新增功能:
- 将完整的前端Vue项目集成到后端仓库
- 创建 frontend/ 目录存放前端代码
- 排除了 .git、node_modules 等不必要文件

🎯 集成优势:
- 一个仓库包含完整前后端代码
- 简化部署和维护流程
- 方便版本同步和管理
- 减少仓库管理复杂度

📁 项目结构:
- backend/: Java Spring Boot 后端
- frontend/: Vue.js 前端项目
- docker/: 容器配置
- docs/: 各种部署文档

🚀 现在只需克隆一个仓库就能获得:
- JmalCloud 公共空间版后端
- 配套的前端界面
- 完整的Docker部署配置
- 详细的部署文档
2025-08-24 12:10:33 +08:00

41 lines
1.5 KiB
Docker

FROM debian:bookworm-slim AS builder
# 1. 安装必要的工具
RUN apt-get update && \
apt-get install -y wget unzip tar && \
rm -rf /var/lib/apt/lists/*
# 2. 设置工作目录
WORKDIR /app
# 3. 下载所有需要的资源
RUN wget https://github.com/jgraph/drawio/releases/download/v24.4.10/draw.war -O draw.war && \
wget https://github.com/mozilla/pdf.js/releases/download/v4.3.136/pdfjs-4.3.136-dist.zip -O pdfjs.zip && \
wget https://github.com/jamebal/excalidraw/releases/download/v0.17.3/build.tar.gz -O excalidraw.tar.gz
# 4. 创建目录并解压文件到对应目录
RUN mkdir -p draw pdfjs excalidraw && \
unzip draw.war -d draw && \
unzip pdfjs.zip -d pdfjs && \
tar -xvf excalidraw.tar.gz -C excalidraw
# 5. 清理不必要的文件
RUN rm -rf draw/META-INF draw/WEB-INF
FROM nginx:1.27-alpine
# 1. 清理 Nginx 默认的配置和欢迎页面
RUN rm -f /etc/nginx/conf.d/* /usr/share/nginx/html/*
# 2. 从构建阶段 (builder) 复制处理好的静态文件到 Nginx 的服务目录
COPY --from=builder /app/draw /usr/share/nginx/html/draw
COPY --from=builder /app/pdfjs /usr/share/nginx/html/pdfjs
COPY --from=builder /app/excalidraw /usr/share/nginx/html/excalidraw
# 3. 复制你的自定义 Nginx 配置文件
COPY docker/nginx-drawio/drawio.conf /etc/nginx/conf.d/drawio.conf
COPY docker/nginx-drawio/excalidraw.conf /etc/nginx/conf.d/excalidraw.conf
COPY docker/nginx-drawio/pdfjs.conf /etc/nginx/conf.d/pdfjs.conf
COPY docker/nginx-drawio/mime.types /etc/nginx/mime.types