feat: 接入旧站管理端并完整迁移后台能力

This commit is contained in:
yml
2026-11-12 22:03:01 +08:00
parent e5f923706b
commit a4441bba9a
509 changed files with 140714 additions and 1068 deletions
+5 -1
View File
@@ -102,9 +102,13 @@ www.{$CADDY_DOMAIN} {
# 解忧商行主站。
{$CADDY_DOMAIN} {
# 主站后台隐藏入口只在本域名提供静态资源;分销站点域名由 storefront 片段统一 404。
@main_admin_root path {$ADMIN_BASE_PATH:/console-jy8k3m}
redir @main_admin_root {$ADMIN_BASE_PATH:/console-jy8k3m}/ 308
@main_admin path {$ADMIN_BASE_PATH:/console-jy8k3m} {$ADMIN_BASE_PATH:/console-jy8k3m}/*
handle @main_admin {
root * /srv/dist
uri strip_prefix {$ADMIN_BASE_PATH:/console-jy8k3m}
root * /srv/admin
try_files {path} /index.html
file_server
}
+15 -1
View File
@@ -16,7 +16,20 @@ RUN --mount=type=cache,target=/root/.npm \
COPY frontend/ .
RUN npm run build
# 第二套独立分销管理后台(React + Ant Design)
# 独立管理后台(Vue + Element Plus,沿用旧站完整后台)
FROM node:24-alpine AS admin-build
ARG VITE_ADMIN_BASE_PATH=/console-jy8k3m
ENV VITE_ADMIN_BASE_PATH=${VITE_ADMIN_BASE_PATH}
WORKDIR /src
COPY admin-web/package*.json ./
RUN --mount=type=cache,target=/root/.npm \
npm ci --prefer-offline --no-audit --fund=false
COPY admin-web/ .
RUN npm run build
# 独立分销管理后台(React + Ant Design)
FROM node:24-alpine AS distribution-build
WORKDIR /src
COPY distribution-admin/package*.json ./
@@ -29,6 +42,7 @@ RUN npm run build
FROM caddy:2.10-alpine
COPY --from=build /src/dist /srv/dist
COPY --from=admin-build /src/dist /srv/admin
# show-dist 由 deploy-prod.sh 在 build 前准备(hfb_show 构建产物或占位页)
COPY deploy/caddy/show-dist /srv/show-dist
COPY --from=distribution-build /src/dist /srv/distribution-admin
+8 -4
View File
@@ -37,10 +37,13 @@ services:
retries: 10
minio:
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
# minio/minio is no longer available on Docker Hub; Bitnami Legacy packages the same server binary.
image: bitnamilegacy/minio:2025.7.23-debian-12-r5
container_name: jysh-minio
restart: unless-stopped
command: server /data --console-address ":9001"
user: "0"
entrypoint: ["/opt/bitnami/minio/bin/minio"]
command: ["server", "/data", "--console-address", ":9001"]
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
@@ -49,7 +52,7 @@ services:
- "${DEV_MINIO_API_PORT:-29090}:9000"
- "${DEV_MINIO_CONSOLE_PORT:-29091}:9001"
volumes:
- minio_data:/data
- minio_data_v2:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
@@ -59,4 +62,5 @@ services:
volumes:
mysql_data:
redis_data:
minio_data:
minio_data_v2:
name: hfb_jysh_dev_minio_data_v2