feat: 一键部署——配置内置默认值,去掉示例复制与环境变量
目标: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 中一致。
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
# ============================================================
|
||||
# iotlcm-worker-svr 配置示例
|
||||
#
|
||||
# cp config.example.yaml config.yaml
|
||||
#
|
||||
# 本服务是异步中枢:消费 RabbitMQ 队列,执行批次开停复机、
|
||||
# 全量同步、流量统计等后台任务。
|
||||
# ============================================================
|
||||
|
||||
system:
|
||||
name: "IotLCM"
|
||||
version: "1.0"
|
||||
description: "IotLCM Worker"
|
||||
gfmode: "prod"
|
||||
upload:
|
||||
local:
|
||||
path: "resource/upload"
|
||||
|
||||
logger:
|
||||
path: "/app/logs"
|
||||
file: "{Y-m-d-H}.log"
|
||||
prefix: ""
|
||||
level: "all"
|
||||
timeFormat: "2006-01-02T15:04:05"
|
||||
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/sql"
|
||||
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: "WorkerCache"
|
||||
|
||||
# ---------- RabbitMQ ----------
|
||||
rabbitmq:
|
||||
enabled: true
|
||||
dsn: "amqp://iotlcm:Iotlcm2026Default@rabbitmq:5672/"
|
||||
balanceRecharge:
|
||||
retryDelay: "1m"
|
||||
batchExecute:
|
||||
executionTimeout: "0s"
|
||||
finalizationTimeout: "60s"
|
||||
retryDelay: "30s"
|
||||
maxRetries: 3
|
||||
|
||||
# ---------- 批次执行 ----------
|
||||
batch:
|
||||
allocate:
|
||||
processingRetryAfter: "30m"
|
||||
|
||||
inbound:
|
||||
upstreamBatchSize: 1
|
||||
upstreamConcurrency: 300
|
||||
# 运营商接口限流。必须按上游实际配额设置,
|
||||
# 调太大会被运营商限流甚至封禁。
|
||||
upstreamRateLimit:
|
||||
enabled: true
|
||||
mode: "redis"
|
||||
redisGroup: "default"
|
||||
keyPrefix: "iotlcm:worker:inbound:upstream_basic_info"
|
||||
redisFailureFallback: "error"
|
||||
default:
|
||||
enabled: false
|
||||
carriers:
|
||||
mobile:
|
||||
enabled: false
|
||||
telecom:
|
||||
enabled: true
|
||||
qps: 20
|
||||
burst: 1
|
||||
requestCost: 1
|
||||
channels: {}
|
||||
stockQueryBatchSize: 1000
|
||||
writeBatchSize: 1000
|
||||
|
||||
# ---------- TDengine(流量历史) ----------
|
||||
# 不启用时序库时 dsn 留空,全量同步中的流量历史部分不可用。
|
||||
tsdb:
|
||||
database: "TdEngine"
|
||||
tdengine:
|
||||
type: "taosWS"
|
||||
dsn: ":@ws(:)/"
|
||||
# dbName 只是连接池键名与兜底值,不决定实际访问哪个库
|
||||
dbName: ""
|
||||
dailyDbName: ""
|
||||
monthlyDbName: ""
|
||||
maxOpenConns: 100
|
||||
maxIdleConns: 10
|
||||
|
||||
# ---------- 上游服务地址 ----------
|
||||
upstream:
|
||||
proxy:
|
||||
address: "upstream-proxy:8510"
|
||||
# 异步提交协议版本,保持默认
|
||||
apnAsyncProtocolVersion: 1
|
||||
timeout: 10s
|
||||
Reference in New Issue
Block a user