build(deploy): Add configurable Maven mirror

Add MAVEN_MIRROR_URL for 1Panel backend builds so deployments can
use a faster regional mirror or Maven Central based on network access.

Update the 1Panel deployment guide to document the mirror option and
keep first-time Nacos credentials guidance near environment setup.
This commit is contained in:
Toys-A
2026-08-05 20:44:43 +08:00
parent c91b9059dd
commit 53e309026f
4 changed files with 59 additions and 1 deletions
+29
View File
@@ -130,6 +130,18 @@ NACOS_AUTH_TOKEN=至少32字节随机字符串
GRAFANA_ADMIN_PASSWORD=强密码
```
国内服务器建议保留默认 Maven 镜像:
```env
MAVEN_MIRROR_URL=https://maven.aliyun.com/repository/public
```
如果服务器网络能稳定访问 Maven Central,也可以改成:
```env
MAVEN_MIRROR_URL=https://repo.maven.apache.org/maven2
```
首次部署建议保持:
```env
@@ -334,6 +346,23 @@ docker run --rm --network haovp-1panel_haovp-network -v "$PWD/backup:/backup" mi
后端镜像会在 Docker 构建阶段执行 Maven 构建,前端镜像会执行 npm 构建。国内服务器建议提前配置 Docker、Maven、npm 镜像源,或在 CI 中构建镜像后推送到私有镜像仓库。
### Maven 依赖下载失败
如果日志里出现:
```text
Unknown host repo.maven.apache.org
Non-resolvable parent POM
```
说明后端镜像构建阶段无法访问 Maven Central。1Panel 版后端 Dockerfile 已支持 Maven 镜像源,默认:
```env
MAVEN_MIRROR_URL=https://maven.aliyun.com/repository/public
```
修改 `.env.1panel` 后,需要在 1Panel 中重新构建编排。
### 拉取 `haovp/video-*` 镜像失败
如果 1Panel 报错类似:
+2
View File
@@ -20,6 +20,8 @@ NACOS_AUTH_TOKEN=change-me-nacos-auth-token-at-least-32-bytes-long
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=change-me-grafana-password
MAVEN_MIRROR_URL=https://maven.aliyun.com/repository/public
LOCAL_BIND_ADDR=127.0.0.1
FRONTEND_BIND_ADDR=127.0.0.1
WEB_HTTP_PORT=18080
+18 -1
View File
@@ -7,7 +7,24 @@ WORKDIR /workspace
COPY . .
ARG MODULE
RUN mvn -pl "${MODULE}" -am package -Dmaven.test.skip=true
ARG MAVEN_MIRROR_URL=https://maven.aliyun.com/repository/public
RUN mkdir -p /root/.m2 && cat > /root/.m2/settings.xml <<EOF
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
<mirrors>
<mirror>
<id>mirror</id>
<mirrorOf>*</mirrorOf>
<name>mirror</name>
<url>${MAVEN_MIRROR_URL}</url>
</mirror>
</mirrors>
</settings>
EOF
RUN mvn -s /root/.m2/settings.xml -pl "${MODULE}" -am package -Dmaven.test.skip=true
FROM eclipse-temurin:17-jre
+10
View File
@@ -29,6 +29,9 @@ x-backend-build: &backend-build
context: .
dockerfile: Dockerfile.service.1panel
x-backend-build-args: &backend-build-args
MAVEN_MIRROR_URL: ${MAVEN_MIRROR_URL:-https://maven.aliyun.com/repository/public}
services:
mysql:
image: mysql:8.0
@@ -213,6 +216,7 @@ services:
build:
<<: *backend-build
args:
<<: *backend-build-args
MODULE: video-gateway
JAR_PREFIX: video-gateway
container_name: haovp-video-gateway
@@ -237,6 +241,7 @@ services:
build:
<<: *backend-build
args:
<<: *backend-build-args
MODULE: video-auth
JAR_PREFIX: video-auth
container_name: haovp-video-auth
@@ -260,6 +265,7 @@ services:
build:
<<: *backend-build
args:
<<: *backend-build-args
MODULE: video-user
JAR_PREFIX: video-user
container_name: haovp-video-user
@@ -290,6 +296,7 @@ services:
build:
<<: *backend-build
args:
<<: *backend-build-args
MODULE: video-content
JAR_PREFIX: video-content
INSTALL_FFMPEG: "true"
@@ -326,6 +333,7 @@ services:
build:
<<: *backend-build
args:
<<: *backend-build-args
MODULE: video-comment
JAR_PREFIX: video-comment
container_name: haovp-video-comment
@@ -349,6 +357,7 @@ services:
build:
<<: *backend-build
args:
<<: *backend-build-args
MODULE: video-recommend
JAR_PREFIX: video-recommend
container_name: haovp-video-recommend
@@ -372,6 +381,7 @@ services:
build:
<<: *backend-build
args:
<<: *backend-build-args
MODULE: video-admin
JAR_PREFIX: video-admin
container_name: haovp-video-admin