5ddad0c5e5
目标:git clone 后 docker compose up -d 直接可用,无需任何手工准备。
变更:
- config.example/ → config/,config.example.yaml → config.yaml
不再需要 cp -r 与逐份修改
- 删除 .env / .env.example,值全部内置到 docker-compose.yml
(GoFrame 不展开配置文件中的 ${VAR},环境变量方案在 Go 侧不可用)
- 配置文件里的 ${VAR} 全部替换为字面默认值
- schema/04-users.sh 与 05-reset-passwords.sh 改为脚本内字面口令,
不再读取环境变量
- 新增 schema/13-seed-flow-package.sql 占位文件,说明套餐表为空的原因与补齐方式
- .gitignore 不再排除 config/ 与 .env(已无 .env)
- README 改为「一键启动」+「上线前必改」两张表
已验证:docker compose config 通过;compose 口令、各配置文件 DSN、
初始化脚本三处口令哈希一致;库名与 schema 中一致。
142 lines
4.0 KiB
Plaintext
142 lines
4.0 KiB
Plaintext
# ============================================================
|
|
# IotLCM 对外入口 nginx 配置示例
|
|
#
|
|
# 作用:把多个服务按路径分流到统一域名下。
|
|
# 若宿主机已有 nginx 或面板,可不启动本容器,
|
|
# 把下面的 location 段落并入宿主机配置即可。
|
|
#
|
|
# 把 your-domain.example.com 替换为你的实际域名。
|
|
# ============================================================
|
|
|
|
upstream iotlcm_admin_api {
|
|
server admin-svr:8008;
|
|
}
|
|
|
|
upstream iotlcm_admin_ui {
|
|
server admin-ui:80;
|
|
}
|
|
|
|
upstream iotlcm_openapi_api {
|
|
server openapi:8000;
|
|
}
|
|
|
|
upstream iotlcm_docs {
|
|
server docs:80;
|
|
}
|
|
|
|
upstream iotlcm_app_web {
|
|
server app-web:80;
|
|
}
|
|
|
|
upstream iotlcm_app_server {
|
|
server app-server:8010;
|
|
}
|
|
|
|
# ---------- OpenAPI 对外域名 ----------
|
|
server {
|
|
listen 80;
|
|
server_name api.your-domain.example.com;
|
|
|
|
client_max_body_size 200m;
|
|
|
|
location ^~ /openapi/v3/ {
|
|
proxy_pass http://iotlcm_openapi_api;
|
|
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;
|
|
proxy_read_timeout 120s;
|
|
proxy_send_timeout 120s;
|
|
}
|
|
|
|
# 运营商能力代理(白名单转发 / 共享 Token)
|
|
location ^~ /route/open/ {
|
|
proxy_pass http://iotlcm_openapi_api;
|
|
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;
|
|
proxy_read_timeout 120s;
|
|
proxy_send_timeout 120s;
|
|
}
|
|
|
|
location / {
|
|
proxy_pass http://iotlcm_openapi_api;
|
|
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 80;
|
|
server_name admin.your-domain.example.com;
|
|
|
|
client_max_body_size 200m;
|
|
|
|
location / {
|
|
proxy_pass http://iotlcm_admin_ui;
|
|
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;
|
|
}
|
|
|
|
# 文档站(子路径 /docs/)
|
|
location = /docs {
|
|
return 301 /docs/;
|
|
}
|
|
|
|
location /docs/ {
|
|
proxy_pass http://iotlcm_docs;
|
|
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;
|
|
}
|
|
}
|
|
|
|
# ---------- 小程序 / H5 ----------
|
|
server {
|
|
listen 80;
|
|
server_name app.your-domain.example.com;
|
|
|
|
client_max_body_size 200m;
|
|
|
|
location ^~ /app/api/v1/ {
|
|
proxy_pass http://iotlcm_app_server/api/v1/;
|
|
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;
|
|
proxy_read_timeout 120s;
|
|
proxy_send_timeout 120s;
|
|
}
|
|
|
|
location ^~ /app/ {
|
|
proxy_pass http://iotlcm_app_web;
|
|
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;
|
|
}
|
|
|
|
location / {
|
|
proxy_pass http://iotlcm_app_web;
|
|
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;
|
|
}
|
|
}
|