feat: 开源项目门户站首版(iotLCM / 秀杰 DTU / XiuAdmin 三项目,注册表驱动)
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# 门户部署
|
||||
|
||||
## 启动
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/docker-compose.yml up -d --build
|
||||
```
|
||||
|
||||
默认发布在宿主机 `127.0.0.1:8020`(用 `PORTAL_PORT` 改端口)。
|
||||
|
||||
## 两种形态
|
||||
|
||||
构建参数 `SITE_BASE` 决定站点资源前缀,同时决定容器内 nginx 的形态:
|
||||
|
||||
| 形态 | 参数 | 访问方式 |
|
||||
| --- | --- | --- |
|
||||
| 子路径(过渡,无独立域名) | `/www/`(默认) | 由已有网关转发 `/www/` 到本容器 |
|
||||
| 独立域名 | `/` | 域名根路径,如 `https://<门户域名>/` |
|
||||
|
||||
```bash
|
||||
SITE_BASE=/ docker compose -f deploy/docker-compose.yml up -d --build
|
||||
```
|
||||
|
||||
内容同源,切换只改构建参数与入口配置,页面不用改。
|
||||
|
||||
> VitePress 产物里的资源引用是绝对路径(`<base>assets/xxx`),base 与 nginx 的 location 形态必须配套,
|
||||
> 混用会出现「页面 200 但 JS/CSS 全 404」的白屏。镜像构建脚本按 `SITE_BASE` 自动选对应配置。
|
||||
|
||||
## 校验
|
||||
|
||||
门户项目清单与详情页的一致性在构建前自动校验:
|
||||
|
||||
```bash
|
||||
npm run check
|
||||
```
|
||||
@@ -0,0 +1,27 @@
|
||||
# 开源项目门户部署编排
|
||||
#
|
||||
# docker compose -f deploy/docker-compose.yml up -d --build
|
||||
#
|
||||
# 形态切换(站点资源前缀):
|
||||
# SITE_BASE=/www/ 子路径形态,挂在已有网关的 /www/ 路径下(默认)
|
||||
# SITE_BASE=/ 独立域名形态,站点独占域名根路径
|
||||
#
|
||||
# SITE_BASE=/ docker compose -f deploy/docker-compose.yml up -d --build
|
||||
services:
|
||||
portal:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
SITE_BASE: '${SITE_BASE:-/www/}'
|
||||
image: snowgoat-open-portal:local
|
||||
container_name: snowgoat-open-portal
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:${PORTAL_PORT:-8020}:80"
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--quiet", "--output-document=/dev/null", "http://127.0.0.1${SITE_BASE:-/www/}"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
Reference in New Issue
Block a user