feat(docker): 更新镜像仓库地址及添加数据库迁移服务

- 替换所有服务镜像地址为 git.oceanpay.cc 域名仓库
- 添加 kami-db-migrate 服务用于数据库模式迁移
- 删除多个旧服务定义以简化配置
- 为相关服务添加并传递 OTEL 服务名和收集器地址环境变量
- 修改 kami-spider-monorepo 服务的数据库及 Redis 环境变量为动态获取
- 调整 main.go 中 OpenTelemetry 配置逻辑,支持环境变量自定义服务名和收集器URL
- 设置 OpenTelemetry 配置中的 CollectorURL 字符串赋值和默认值处理逻辑
This commit is contained in:
danial
2025-12-14 22:33:12 +08:00
parent f96c2f21ad
commit 9a5ef23f34
2 changed files with 54 additions and 164 deletions

View File

@@ -1,6 +1,29 @@
services:
kami-db-migrate:
image: git.oceanpay.cc/danial/kami-db-migrate:latest
container_name: kami-migrate
profiles:
- all
- migrate
command:
- "schema"
- "apply"
- "--url"
- "mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}"
- "--to"
- "file://schema.sql"
- "--dev-url"
- "mysql://${DB_USER_DEV}:${DB_PASSWORD_DEV}@${DB_HOST}:${DB_PORT}/${DB_NAME_DEV}"
- "--auto-approve"
- "--baseline"
- "20251213191759"
restart: "no"
networks:
- 1panel-network
labels:
createdBy: Developer
kami_merchant:
image: git.kkknametrans.buzz/danial/kami_merchant_$BRANCH:$VERSION
image: git.oceanpay.cc/danial/kami_merchant_$BRANCH:$VERSION
container_name: kami-merchant-$BRANCH-$VERSION
restart: always
environment:
@@ -21,11 +44,12 @@ services:
labels:
createdBy: Developer
kami_backend:
image: git.kkknametrans.buzz/danial/kami_backend_$BRANCH:$VERSION
image: git.oceanpay.cc/danial/kami_backend_$BRANCH:$VERSION
container_name: kami-backend-$BRANCH-$VERSION
restart: always
environment:
serverName: $SERVER_NAME
OTEL_COLLECTOR_URL: $OTEL_COLLECTOR_URL
OTEL_SERVICE_NAME: $OTEL_SERVICE_NAME
gatewayAddr: $gatewayAddr
shopAddr: $shopAddr
portalAddr: $portalAddr
@@ -42,7 +66,7 @@ services:
labels:
createdBy: Developer
kami_shop:
image: git.kkknametrans.buzz/danial/kami_shop_$BRANCH:$VERSION
image: git.oceanpay.cc/danial/kami_shop_$BRANCH:$VERSION
container_name: kami-shop-$BRANCH-$VERSION
restart: always
environment:
@@ -62,27 +86,16 @@ services:
- 1panel-network
labels:
createdBy: Developer
kami_spider:
image: git.kkknametrans.buzz/danial/kami_spider_$BRANCH:$VERSION
container_name: kami-spider-$BRANCH-$VERSION
restart: always
profiles:
- spider
- all
networks:
- 1panel-network
labels:
createdBy: Developer
kami_gateway:
image: git.kkknametrans.buzz/danial/kami_gateway_$BRANCH:$VERSION
image: git.oceanpay.cc/danial/kami_gateway_$BRANCH:$VERSION
container_name: kami-gateway-$BRANCH-$VERSION
restart: always
environment:
serverName: $SERVER_NAME
OTEL_COLLECTOR_URL: $OTEL_COLLECTOR_URL
OTEL_SERVICE_NAME: $SERVER_NAME
gatewayAddr: $gatewayAddr
shopAddr: $shopAddr
portalAddr: $portalAddr
proxy: $proxy
profiles:
- gateway
- all
@@ -96,7 +109,7 @@ services:
labels:
createdBy: Developer
kami_boss:
image: git.kkknametrans.buzz/danial/kami_boss_$BRANCH:$VERSION
image: git.oceanpay.cc/danial/kami_boss_$BRANCH:$VERSION
container_name: kami-boss-$BRANCH-$VERSION
restart: always
environment:
@@ -117,7 +130,7 @@ services:
labels:
createdBy: Developer
kami_frontend:
image: git.kkknametrans.buzz/danial/kami_frontend_$BRANCH:$VERSION
image: git.oceanpay.cc/danial/kami_frontend_$BRANCH:$VERSION
container_name: kami-frontend-$BRANCH-$VERSION
restart: always
environment:
@@ -134,136 +147,6 @@ services:
profiles:
- frontend
- all
kami_itunes:
image: git.kkknametrans.buzz/danial/kami_itunes_$BRANCH:$VERSION
container_name: itunes-$BRANCH-$VERSION
restart: always
environment:
serverName: $SERVER_NAME
gatewayAddr: $gatewayAddr
shopAddr: $shopAddr
portalAddr: $portalAddr
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- itunes
- all
volumes:
- /data/kami/itunes/config:/app/config
- /data/kami/itunes/data:/app/data
jd_bind_card:
image: git.kkknametrans.buzz/danial/kami_jd_bind_card_$BRANCH:$VERSION
container_name: jd-bind-card-$BRANCH-$VERSION
restart: always
environment:
gatewayAddr: $gatewayAddr
shopAddr: $shopAddr
portalAddr: $portalAddr
serverName: $SERVER_NAME
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- jd_bind_card
- all
ctrip:
image: git.kkknametrans.buzz/danial/kami_ctrip_$BRANCH:$VERSION
container_name: c-trip-$BRANCH-$VERSION
restart: always
environment:
gatewayAddr: $gatewayAddr
shopAddr: $shopAddr
portalAddr: $portalAddr
serverName: $SERVER_NAME
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- c-trip
- all
walmart:
image: git.kkknametrans.buzz/danial/kami_walmart_card_$BRANCH:$VERSION
container_name: walmart-$BRANCH-$VERSION
restart: always
environment:
gatewayAddr: $gatewayAddr
shopAddr: $shopAddr
portalAddr: $portalAddr
serverName: $SERVER_NAME
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- walmart
- all
walmart_side:
image: git.kkknametrans.buzz/danial/kami_walmart_side_$BRANCH:$VERSION
container_name: walmart-side-$BRANCH-$VERSION
restart: always
environment:
gatewayAddr: $gatewayAddr
shopAddr: $shopAddr
portalAddr: $portalAddr
serverName: $SERVER_NAME
PROXY_USER: $PROXY_USER
PROXY_PASS: $PROXY_PASS
PROXY_TYPE: $PROXY_TYPE
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- walmart_side
- all
ticket_slide_server:
image: git.kkknametrans.buzz/danial/kami_jd_ticket_slide_server_$BRANCH:$VERSION
container_name: ticket-slide-server-$BRANCH-$VERSION
restart: always
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- ticket_slide_server
- all
unidbg-boot-server:
image: git.kkknametrans.buzz/danial/kami_jd_unidbg_boot_server_$BRANCH:$VERSION
container_name: unidbg-boot-server-$BRANCH-$VERSION
restart: always
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- unidbg-boot-server
- all
jd_bind_card_server:
image: git.kkknametrans.buzz/danial/kami_jd_bind_card_server_$BRANCH:$VERSION
container_name: jd-bind-card-server-$BRANCH-$VERSION
restart: always
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- jd_bind_card_server
- all
jd_babel_channel:
image: git.kkknametrans.buzz/danial/jd_babel_channel_$BRANCH:$VERSION
container_name: babel-channel-$BRANCH-$VERSION
restart: always
networks:
- 1panel-network
labels:
createdBy: Developer
profiles:
- babel_channel
- all
kami-spider-monorepo:
image: git.oceanpay.cc/danial/kami-spider-monorepo-$BRANCH:$VERSION
container_name: kami-spider-monorepo-$BRANCH-$VERSION
@@ -272,20 +155,20 @@ services:
- spider
- all
environment:
# Database
DB_HOST: mysql
DB_PORT: 3306
DB_NAME: kami_spider
DB_USER: kami_spider
DB_PASSWORD: DJ77zCA2H4zamTJG
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_NAME: ${DB_NAME}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
DB_POOL_SIZE: 20
DB_MAX_OVERFLOW: 50
OTEL_SERVICE_NAME: ${OTEL_SERVICE_NAME}
# Redis
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_HOST: ${REDIS_HOST}
REDIS_PORT: ${REDIS_PORT}
REDIS_DB: 4
REDIS_PASSWORD: "redis_4c6JZx"
REDIS_PASSWORD: ${REDIS_PASSWORD}
OTEL_EXPORTER_ENDPOINT: ${OTEL_EXPORTER_ENDPOINT}
networks:
- 1panel-network
labels:

15
main.go
View File

@@ -23,15 +23,22 @@ var (
)
func main() {
serverName := genv.Get("serverName")
if !pointer.IsNil(serverName) && !serverName.IsNil() {
serviceName += "——" + serverName.String()
// 从环境变量获取OTEL服务名称如果不存在则使用默认值
otelServiceName := genv.Get("OTEL_SERVICE_NAME")
if !otelServiceName.IsNil() {
serviceName = otelServiceName.String()
}
// 从环境变量获取OTEL收集器地址如果不存在则使用默认值
collectorURL := genv.Get("OTEL_COLLECTOR_URL")
if collectorURL.IsNil() {
collectorURL = genv.New("38.38.251.113:31547")
}
// 初始化OpenTelemetry系统简化版与GoFrame集成
config := otel.DefaultConfig()
config.ServiceName = serviceName
config.CollectorURL = collectorURL
config.CollectorURL = collectorURL.String()
config.Insecure = true // 根据实际环境调整
//config.Headers = map[string]string{
// "x-service-token": "your-token-here", // 如果需要认证token