mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-09-14 17:04:57 +00:00
- 新增音频/视频/图片生成服务与 Atlas、OpenAI 实现 - 新增短剧脚本生成、分镜与 ffmpeg 合成模块 - 新增 Coze/Dify 聊天 provider 及 Agent 配置 - 脱敏 SQL 脚本:移除真实 DeepSeek API Key,掩码 COS 桶名 - 清理过期的 SQL update 脚本与 chat 文档 Co-Authored-By: Claude <noreply@anthropic.com>
53 lines
1.6 KiB
Docker
53 lines
1.6 KiB
Docker
# RuoYi-AI 后端 Dockerfile
|
|
# 基于 Maven + OpenJDK 17
|
|
|
|
FROM maven:3.9-eclipse-temurin-17 AS builder
|
|
|
|
# 设置工作目录
|
|
WORKDIR /build
|
|
|
|
# 复制 pom.xml 和源码
|
|
COPY pom.xml .
|
|
COPY ruoyi-admin ./ruoyi-admin
|
|
COPY ruoyi-common ./ruoyi-common
|
|
COPY ruoyi-modules ./ruoyi-modules
|
|
COPY ruoyi-extend ./ruoyi-extend
|
|
|
|
|
|
# 构建项目 (使用 prod profile)
|
|
RUN mvn clean package -Pprod -DskipTests
|
|
|
|
# 最终运行镜像
|
|
FROM eclipse-temurin:17-jre-alpine
|
|
|
|
RUN set -eux; \
|
|
apk add --no-cache ffmpeg; \
|
|
for filter in scale pad fps setsar format tpad trim settb setpts xfade \
|
|
aresample aformat apad atrim asetpts anullsrc concat acrossfade; do \
|
|
ffmpeg -hide_banner -filters 2>/dev/null | grep -Eq "[[:space:]]${filter}[[:space:]]"; \
|
|
done; \
|
|
ffmpeg -hide_banner -h filter=xfade 2>&1 | grep -q dissolve; \
|
|
ffmpeg -hide_banner -h filter=xfade 2>&1 | grep -q fadeblack; \
|
|
ffmpeg -hide_banner -h filter=xfade 2>&1 | grep -q slideleft; \
|
|
ffmpeg -hide_banner -encoders 2>/dev/null | grep -Eq '[[:space:]]libx264[[:space:]]'; \
|
|
ffmpeg -hide_banner -encoders 2>/dev/null | grep -Eq '[[:space:]]aac[[:space:]]'; \
|
|
ffprobe -hide_banner -version >/dev/null
|
|
|
|
ENV FFMPEG_PATH=/usr/bin/ffmpeg \
|
|
FFPROBE_PATH=/usr/bin/ffprobe
|
|
|
|
# 设置工作目录
|
|
WORKDIR /app
|
|
|
|
# 从构建阶段复制 jar 包
|
|
COPY --from=builder /build/ruoyi-admin/target/ruoyi-admin.jar ./ruoyi-admin.jar
|
|
|
|
# 创建日志目录
|
|
RUN mkdir -p /ruoyi/server/logs /ruoyi/server/temp
|
|
|
|
# 暴露端口
|
|
EXPOSE 6039
|
|
|
|
# 启动命令
|
|
ENTRYPOINT ["java", "-Djava.io.tmpdir=/ruoyi/server/temp", "-jar", "ruoyi-admin.jar", "--spring.profiles.active=prod"]
|