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 中一致。
109 lines
2.6 KiB
YAML
109 lines
2.6 KiB
YAML
# ============================================================
|
||
# iotlcm-upstream-chan 配置示例
|
||
#
|
||
# cp config.example.yaml config.yaml
|
||
#
|
||
# 本服务负责具体运营商协议对接(移动 OneLink / 电信 CMP /
|
||
# 联通 10646 / 各类三方渠道)。
|
||
#
|
||
# 注意:接入运营商需要在数据库中配置通道(t_sim_channels 等),
|
||
# 本文件只配置服务自身参数。
|
||
# ============================================================
|
||
|
||
system:
|
||
name: "IotLCM-Upstream-Chan"
|
||
version: "1.0"
|
||
description: "IotLCM Upstream Channel Service"
|
||
gfmode: "prod"
|
||
upload:
|
||
local:
|
||
path: "/app/upload"
|
||
|
||
server:
|
||
name: "iotlcmupstreamchan-http-svc"
|
||
address: ":8110"
|
||
openapiPath: "/api.json"
|
||
swaggerPath: "/swagger"
|
||
indexFiles: ["index.html", "index.htm"]
|
||
indexFolder: false
|
||
fileServerEnabled: true
|
||
initLoadMemoryDB: false
|
||
maxHeaderBytes: "20KB"
|
||
clientMaxBodySize: "200MB"
|
||
|
||
# ---------- 服务注册 ----------
|
||
registry:
|
||
type: "consul"
|
||
address: "consul:8500"
|
||
|
||
logger:
|
||
path: "/app/logs"
|
||
file: "{Y-m-d-H}.log"
|
||
prefix: ""
|
||
level: "info"
|
||
timeFormat: "2006-01-02T15:04:05.000"
|
||
ctxKeys: []
|
||
header: true
|
||
stdout: true
|
||
rotateSize: 0
|
||
rotateExpire: 0
|
||
rotateBackupLimit: 0
|
||
rotateBackupExpire: 0
|
||
rotateBackupCompress: 0
|
||
rotateCheckInterval: "1h"
|
||
stdoutColorDisabled: false
|
||
writerColorEnable: false
|
||
|
||
# ---------- 数据库 ----------
|
||
database:
|
||
logger:
|
||
path: "/app/logs"
|
||
level: "all"
|
||
stdout: true
|
||
default:
|
||
# 必改:连接串
|
||
link: "mysql:u_iotlcm:Iotlcm2026Default@tcp(mysql:3306)/db_iotlcm?charset=utf8mb4&parseTime=True&loc=Asia%2FShanghai"
|
||
debug: false
|
||
charset: "utf8mb4"
|
||
dryRun: false
|
||
maxIdle: 30
|
||
maxOpen: 100
|
||
maxLifetime: 120
|
||
memorydb:
|
||
link: "sqlite::@file(:memory:)"
|
||
debug: false
|
||
maxIdle: 1
|
||
maxOpen: 1
|
||
maxLifetime: 30
|
||
|
||
cache:
|
||
adapter: "redis"
|
||
fileDir: "resource/cache"
|
||
|
||
# ---------- Redis ----------
|
||
redis:
|
||
default:
|
||
mode: "single"
|
||
sentinelMasterName: ""
|
||
address: "redis:6379"
|
||
db: 0
|
||
pass: "Iotlcm2026Default"
|
||
minIdle: 5
|
||
maxIdle: 30
|
||
maxActive: 5000
|
||
idleTimeout: "60s"
|
||
ClientName: "SystemCache"
|
||
|
||
# ---------- 依赖行为 ----------
|
||
dependencies:
|
||
# 运营商 Token 刷新策略
|
||
token_refresh:
|
||
mode: "expired_only" # expired_only / always
|
||
skew_seconds: 600 # 提前刷新的时间窗(秒)
|
||
|
||
# 移动 OneLink 挡板地址。
|
||
# 启动了 onelink-mock(--profile with-mock)时保持此值;
|
||
# 对接真实运营商时删掉本段或改为真实地址。
|
||
sim_yd_mock_v5:
|
||
url: "http://onelink-mock:8080/v5/"
|