add: env example
This commit is contained in:
29
.env.example
Normal file
29
.env.example
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# =====================================================================
|
||||||
|
# 实验室预约与资源管理平台 - Docker Compose 环境变量示例
|
||||||
|
#
|
||||||
|
# 使用方式:
|
||||||
|
# cp .env.example .env # 复制后按需修改,docker compose 会自动读取 .env
|
||||||
|
# docker compose up -d --build
|
||||||
|
#
|
||||||
|
# 注意:.env 已在 .gitignore 中忽略,请勿把真实密码/密钥提交到仓库。
|
||||||
|
# =====================================================================
|
||||||
|
|
||||||
|
# ---------- 数据库(MariaDB) ----------
|
||||||
|
# 首次创建数据卷时生效;修改后如需重建,先执行 docker compose down -v
|
||||||
|
DB_NAME=lab
|
||||||
|
DB_USER=lab
|
||||||
|
DB_PASSWORD=lab123456
|
||||||
|
DB_ROOT_PASSWORD=root123456
|
||||||
|
|
||||||
|
# ---------- 后端 ----------
|
||||||
|
# JWT 签名密钥,长度必须 >= 32 字节;生产环境请替换为随机值
|
||||||
|
# 生成示例:openssl rand -base64 48
|
||||||
|
LAB_JWT_SECRET=lab-reservation-docker-secret-key-change-me-2026
|
||||||
|
# JVM 参数(容器内存较小可下调 -Xmx)
|
||||||
|
JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
|
|
||||||
|
# ---------- 端口映射(宿主机端口) ----------
|
||||||
|
# 前端 Nginx 端口,若本机 80 被占用可改为 8088
|
||||||
|
WEB_PORT=80
|
||||||
|
# 后端直连端口(调试用,前端经 Nginx 代理访问后端)
|
||||||
|
BACKEND_PORT=8080
|
||||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -38,3 +38,7 @@ frontend/.vite/
|
|||||||
|
|
||||||
### H2 本地数据库文件 ###
|
### H2 本地数据库文件 ###
|
||||||
data/
|
data/
|
||||||
|
|
||||||
|
### 本地环境变量(保留示例文件) ###
|
||||||
|
.env
|
||||||
|
!.env.example
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ pnpm build # 生产构建(vue-tsc 类型检查 + vite build)
|
|||||||
### 3. Docker 一键部署(推荐用于演示/验收)
|
### 3. Docker 一键部署(推荐用于演示/验收)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
cp .env.example .env # 可选:按需修改端口/密码/JWT 密钥
|
||||||
docker compose up -d --build # 构建并启动 mariadb + backend + frontend
|
docker compose up -d --build # 构建并启动 mariadb + backend + frontend
|
||||||
# 前端:http://localhost (Nginx 托管静态资源并反代 /api)
|
# 前端:http://localhost (Nginx 托管静态资源并反代 /api)
|
||||||
# 后端:http://localhost:8080
|
# 后端:http://localhost:8080
|
||||||
@@ -56,8 +57,8 @@ docker compose down -v # 停止并清空数据库(下次启动重建
|
|||||||
|
|
||||||
- 编排:`mariadb:11.4`(数据持久化到命名卷)+ 后端多阶段构建镜像(JRE 21,非 root 运行)+ Nginx 前端镜像
|
- 编排:`mariadb:11.4`(数据持久化到命名卷)+ 后端多阶段构建镜像(JRE 21,非 root 运行)+ Nginx 前端镜像
|
||||||
- 三个服务均配置健康检查,后端与前端会等待上游就绪后再启动
|
- 三个服务均配置健康检查,后端与前端会等待上游就绪后再启动
|
||||||
- 可用环境变量覆盖:`WEB_PORT`(默认 80)、`BACKEND_PORT`(默认 8080)、
|
- 可用环境变量(见 `.env.example`):`WEB_PORT`(默认 80)、`BACKEND_PORT`(默认 8080)、
|
||||||
`DB_NAME` / `DB_USER` / `DB_PASSWORD` / `DB_ROOT_PASSWORD`、`LAB_JWT_SECRET`
|
`DB_NAME` / `DB_USER` / `DB_PASSWORD` / `DB_ROOT_PASSWORD`、`LAB_JWT_SECRET`、`JAVA_OPTS`
|
||||||
|
|
||||||
### 4. 演示账号
|
### 4. 演示账号
|
||||||
|
|
||||||
@@ -138,6 +139,7 @@ mvn verify # 运行全部测试并执行 JaCoCo 覆盖率门禁
|
|||||||
│ └── nginx.conf
|
│ └── nginx.conf
|
||||||
├── Dockerfile # 后端多阶段构建镜像
|
├── Dockerfile # 后端多阶段构建镜像
|
||||||
├── docker-compose.yml # mariadb + backend + frontend 一键编排
|
├── docker-compose.yml # mariadb + backend + frontend 一键编排
|
||||||
|
├── .env.example # 部署环境变量示例(复制为 .env 使用)
|
||||||
└── docs/design.md # 需求分析与详细设计
|
└── docs/design.md # 需求分析与详细设计
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ services:
|
|||||||
# 生产部署请务必覆盖为随机密钥(长度 >= 32 字节)
|
# 生产部署请务必覆盖为随机密钥(长度 >= 32 字节)
|
||||||
LAB_JWT_SECRET: ${LAB_JWT_SECRET:-lab-reservation-docker-secret-key-change-me-2026}
|
LAB_JWT_SECRET: ${LAB_JWT_SECRET:-lab-reservation-docker-secret-key-change-me-2026}
|
||||||
TZ: Asia/Shanghai
|
TZ: Asia/Shanghai
|
||||||
JAVA_OPTS: "-Xms256m -Xmx512m"
|
JAVA_OPTS: "${JAVA_OPTS:--Xms256m -Xmx512m}"
|
||||||
depends_on:
|
depends_on:
|
||||||
mariadb:
|
mariadb:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
Reference in New Issue
Block a user