将 multipart 上传目录改为基于 DATA_DIR 的绝对路径,避免 Tomcat 在容器内把相对路径解析到临时目录。同步让上传控制器复用该配置并补充错误日志,确保本地文件在异步上传期间可用。
Docker 单容器部署
前端打包后放入 Spring Boot static,与 Java 一起在同一个容器内启动,不使用 Nginx。
国内源
- npm:
docker/.npmrc使用 npmmirror(淘宝镜像) - Maven:
docker/maven-settings.xml使用阿里云仓库
构建与运行
在项目根目录执行:
# 一键(推荐)
make up
# 构建镜像
docker compose -f docker/docker-compose.yml build
# 前台运行
docker compose -f docker/docker-compose.yml up
# 后台运行
docker compose -f docker/docker-compose.yml up -d
常用命令:
make logs # 查看日志
make ps # 查看状态
make down # 停止并移除容器
环境变量(可选)
SSHMANAGER_ENCRYPTION_KEY:连接密码加密密钥(生产务必修改)SSHMANAGER_JWT_SECRET:JWT 密钥(生产务必修改)TZ:时区,默认Asia/Shanghai
数据持久化
H2 数据目录通过 volume app-data 挂载到 /app/data,重启容器数据保留。