feat(config): 添加环境变量配置支持动态镜像和端口设置

- 在 .env.example 中添加 SERVER_BASE_IMAGE、SERVER_INTERNAL_PORT 等配置项
- 添加前端构建相关的 NODE_IMAGE 和 NGINX_IMAGE 配置
- 添加客户端 H5 和原生应用的 API 基础路径配置
- 支持动态端口配置以提高部署灵活性

feat(docker): 更新 Dockerfile 使用参数化镜像和端口配置

- 修改 server/Dockerfile 支持动态基础镜像和内部端口
- 更新 admin-web/Dockerfile 使用参数化镜像配置
- 修改 clients/Dockerfile 支持客户端多环境配置参数
- 所有 Dockerfile 现在使用 ARG 参数进行灵活配置

feat(nginx): 优化 Nginx 配置支持动态端口代理

- 更新 Nginx 配置文件使用环境变量定义监听端口
- 配置三个独立的服务端口分别处理客户端、管理后台和服务器API
- 添加完整的代理头信息设置以支持正确的请求转发
- 使用 Nginx 环境变量实现灵活的服务间通信

feat(deploy): 完善 docker-compose.yml 的环境变量集成

- 更新 docker-compose.yml 文件以使用新的环境变量配置
- 配置服务健康检查使用动态端口
- 设置 Nginx 容器环境变量以支持模板化配置
- 修复服务间通信端口使用环境变量替代硬编码值
This commit is contained in:
2026-05-09 18:03:38 +08:00
parent 19db342507
commit 9de0a56afa
7 changed files with 105 additions and 33 deletions
+28 -14
View File
@@ -1,9 +1,9 @@
server {
listen 80;
listen ${NGINX_CLIENT_INTERNAL_PORT};
server_name _;
location /api/ {
proxy_pass http://server:8000/api/;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/api/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -12,13 +12,13 @@ server {
}
location /uploads/ {
proxy_pass http://server:8000/uploads/;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/uploads/;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
location = /docs {
proxy_pass http://server:8000/docs;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/docs;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -27,7 +27,7 @@ server {
}
location = /redoc {
proxy_pass http://server:8000/redoc;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/redoc;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -36,7 +36,7 @@ server {
}
location = /openapi.json {
proxy_pass http://server:8000/openapi.json;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/openapi.json;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -45,7 +45,7 @@ server {
}
location / {
proxy_pass http://clients:80;
proxy_pass http://clients:${CLIENTS_INTERNAL_PORT};
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -55,11 +55,11 @@ server {
}
server {
listen 81;
listen ${NGINX_ADMIN_INTERNAL_PORT};
server_name _;
location /api/ {
proxy_pass http://server:8000/api/;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/api/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -68,13 +68,13 @@ server {
}
location /uploads/ {
proxy_pass http://server:8000/uploads/;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/uploads/;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
location = /docs {
proxy_pass http://server:8000/docs;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/docs;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -83,7 +83,7 @@ server {
}
location = /redoc {
proxy_pass http://server:8000/redoc;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/redoc;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -92,7 +92,7 @@ server {
}
location = /openapi.json {
proxy_pass http://server:8000/openapi.json;
proxy_pass http://server:${SERVER_INTERNAL_PORT}/openapi.json;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -101,7 +101,21 @@ server {
}
location / {
proxy_pass http://admin-web:80;
proxy_pass http://admin-web:${ADMIN_WEB_INTERNAL_PORT};
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen ${NGINX_SERVER_INTERNAL_PORT};
server_name _;
location / {
proxy_pass http://server:${SERVER_INTERNAL_PORT};
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;