hy-app-monitor/testbox/docker-compose.apps.yml
2026-05-05 20:51:51 +08:00

305 lines
8.7 KiB
YAML

x-java-env: &java-env
NACOS_HOST: nacos
NACOS_PORT: "8848"
NACOS_USERNAME: ${NACOS_USERNAME}
NACOS_PASSWORD: ${NACOS_PASSWORD}
SERVER_PROFILE_ACTIVE: ${SERVER_PROFILE_ACTIVE}
LIKEI_MYSQL_JDBC_URL: ${LIKEI_MYSQL_JDBC_URL}
LIKEI_MYSQL_USERNAME: ${LIKEI_MYSQL_USERNAME}
LIKEI_MYSQL_PASSWORD: ${LIKEI_MYSQL_PASSWORD}
LIKEI_REDIS_HOST: ${LIKEI_REDIS_HOST}
LIKEI_REDIS_PORT: ${LIKEI_REDIS_PORT}
LIKEI_REDIS_DATABASE: ${LIKEI_REDIS_DATABASE}
LIKEI_MONGO_URI: ${LIKEI_MONGO_URI}
LIKEI_ROCKETMQ_ACCESS_KEY: ${LIKEI_ROCKETMQ_ACCESS_KEY}
LIKEI_ROCKETMQ_SECRET_KEY: ${LIKEI_ROCKETMQ_SECRET_KEY}
LIKEI_ROCKETMQ_ENDPOINT: ${LIKEI_ROCKETMQ_ENDPOINT}
LIKEI_ROCKETMQ_LOCAL_DISABLE: ${LIKEI_ROCKETMQ_LOCAL_DISABLE}
LIKEI_GATEWAY_ROUTE_AUTH_URI: ${LIKEI_GATEWAY_ROUTE_AUTH_URI}
LIKEI_GATEWAY_ROUTE_EXTERNAL_URI: ${LIKEI_GATEWAY_ROUTE_EXTERNAL_URI}
LIKEI_GATEWAY_ROUTE_ORDER_URI: ${LIKEI_GATEWAY_ROUTE_ORDER_URI}
LIKEI_GATEWAY_ROUTE_WALLET_URI: ${LIKEI_GATEWAY_ROUTE_WALLET_URI}
LIKEI_GATEWAY_ROUTE_LIVE_URI: ${LIKEI_GATEWAY_ROUTE_LIVE_URI}
LIKEI_GATEWAY_ROUTE_OTHER_URI: ${LIKEI_GATEWAY_ROUTE_OTHER_URI}
LIKEI_GATEWAY_ROUTE_GO_URI: ${LIKEI_GATEWAY_ROUTE_GO_URI}
LIKEI_GATEWAY_ROUTE_INVITE_PUBLIC_URI: ${LIKEI_GATEWAY_ROUTE_INVITE_PUBLIC_URI}
LIKEI_GATEWAY_ROUTE_INVITE_APP_URI: ${LIKEI_GATEWAY_ROUTE_INVITE_APP_URI}
LIKEI_GATEWAY_ROUTE_REGISTER_REWARD_APP_URI: ${LIKEI_GATEWAY_ROUTE_REGISTER_REWARD_APP_URI}
LIKEI_GATEWAY_ROUTE_INVITE_INTERNAL_URI: ${LIKEI_GATEWAY_ROUTE_INVITE_INTERNAL_URI}
LIKEI_GATEWAY_ROUTE_GAME_APP_URI: ${LIKEI_GATEWAY_ROUTE_GAME_APP_URI}
LIKEI_GATEWAY_ROUTE_GAME_INTERNAL_URI: ${LIKEI_GATEWAY_ROUTE_GAME_INTERNAL_URI}
LIKEI_GATEWAY_ROUTE_GAME_BAISHUN_URI: ${LIKEI_GATEWAY_ROUTE_GAME_BAISHUN_URI}
LIKEI_GATEWAY_ROUTE_FORWARD_URI: ${LIKEI_GATEWAY_ROUTE_FORWARD_URI}
LIKEI_GATEWAY_FORWARD_ROUTE_AES_KEY: ${LIKEI_GATEWAY_FORWARD_ROUTE_AES_KEY}
LIKEI_GATEWAY_FORWARD_AES_KEY: ${LIKEI_GATEWAY_FORWARD_AES_KEY}
x-java-small: &java-small
JVM_OPTION: "-Xms${JAVA_XMS} -Xmx${JAVA_XMX_SMALL} -XX:MaxMetaspaceSize=${JAVA_METASPACE} -Djava.security.egd=file:/dev/./urandom"
x-java-medium: &java-medium
JVM_OPTION: "-Xms${JAVA_XMS} -Xmx${JAVA_XMX_MEDIUM} -XX:MaxMetaspaceSize=${JAVA_METASPACE} -Djava.security.egd=file:/dev/./urandom"
x-app-depends: &app-depends
mysql:
condition: service_healthy
redis:
condition: service_healthy
mongo:
condition: service_healthy
nacos:
condition: service_healthy
services:
auth:
build:
context: ${JAVA_SOURCE_DIR}/rc-auth
args:
SERVICE_VERSION: testbox
image: chatapp-test/auth:testbox
container_name: chatapp-test-auth
restart: unless-stopped
depends_on: *app-depends
env_file:
- .env
environment:
<<: [*java-env, *java-small]
SERVER_PORT: "1000"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:1000/actuator/health | grep -q UP"]
interval: 15s
timeout: 5s
retries: 40
wallet:
build:
context: ${JAVA_SOURCE_DIR}/rc-service/rc-service-wallet
args:
SERVICE_VERSION: testbox
image: chatapp-test/wallet:testbox
container_name: chatapp-test-wallet
restart: unless-stopped
depends_on: *app-depends
env_file:
- .env
environment:
<<: [*java-env, *java-medium]
SERVER_PORT: "2000"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:2000/actuator/health | grep -q UP"]
interval: 15s
timeout: 5s
retries: 40
other:
build:
context: ${JAVA_SOURCE_DIR}/rc-service/rc-service-other
args:
SERVICE_VERSION: testbox
image: chatapp-test/other:testbox
container_name: chatapp-test-other
restart: unless-stopped
depends_on: *app-depends
env_file:
- .env
environment:
<<: [*java-env, *java-medium]
SERVER_PORT: "2400"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:2400/actuator/health | grep -q UP"]
interval: 15s
timeout: 5s
retries: 40
live:
build:
context: ${JAVA_SOURCE_DIR}/rc-service/rc-service-live
args:
SERVICE_VERSION: testbox
image: chatapp-test/live:testbox
container_name: chatapp-test-live
restart: unless-stopped
depends_on: *app-depends
env_file:
- .env
environment:
<<: [*java-env, *java-small]
SERVER_PORT: "2500"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:2500/actuator/health | grep -q UP"]
interval: 15s
timeout: 5s
retries: 40
order:
build:
context: ${JAVA_SOURCE_DIR}/rc-service/rc-service-order
args:
SERVICE_VERSION: testbox
image: chatapp-test/order:testbox
container_name: chatapp-test-order
restart: unless-stopped
depends_on: *app-depends
env_file:
- .env
environment:
<<: [*java-env, *java-medium]
SERVER_PORT: "2600"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:2600/actuator/health | grep -q UP"]
interval: 15s
timeout: 5s
retries: 40
console:
build:
context: ${JAVA_SOURCE_DIR}/rc-service/rc-service-console
args:
SERVICE_VERSION: testbox
image: chatapp-test/console:testbox
container_name: chatapp-test-console
restart: unless-stopped
depends_on: *app-depends
env_file:
- .env
environment:
<<: [*java-env, *java-medium]
SERVER_PORT: "2700"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:2700/console/actuator/health | grep -q UP"]
interval: 15s
timeout: 5s
retries: 40
external:
build:
context: ${JAVA_SOURCE_DIR}/rc-service/rc-service-external
args:
SERVICE_VERSION: testbox
image: chatapp-test/external:testbox
container_name: chatapp-test-external
restart: unless-stopped
depends_on: *app-depends
env_file:
- .env
environment:
<<: [*java-env, *java-small]
SERVER_PORT: "3000"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:3000/actuator/health | grep -q UP"]
interval: 15s
timeout: 5s
retries: 40
golang:
build:
context: ${GOLANG_SOURCE_DIR}
args:
APP_VERSION: testbox
image: chatapp-test/golang:testbox
container_name: chatapp-test-golang
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
env_file:
- .env
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:2900/health | grep -q ok"]
interval: 15s
timeout: 5s
retries: 30
chatapp-cron:
build:
context: ${CRON_SOURCE_DIR}
args:
APP_VERSION: testbox
image: chatapp-test/chatapp-cron:testbox
container_name: chatapp-test-cron
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
other:
condition: service_started
wallet:
condition: service_started
env_file:
- .env
admin:
image: chatapp-test/admin:testbox
container_name: chatapp-test-admin
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/ | grep -qi '<!doctype html'"]
interval: 15s
timeout: 5s
retries: 20
gateway:
build:
context: ${JAVA_SOURCE_DIR}/rc-gateway
args:
SERVICE_VERSION: testbox
image: chatapp-test/gateway:testbox
container_name: chatapp-test-gateway
restart: unless-stopped
depends_on:
auth:
condition: service_started
other:
condition: service_started
wallet:
condition: service_started
order:
condition: service_started
live:
condition: service_started
external:
condition: service_started
golang:
condition: service_started
env_file:
- .env
environment:
<<: [*java-env, *java-medium]
SERVER_PORT: "8080"
ports:
- "127.0.0.1:8080:8080"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/health || wget -qO- http://127.0.0.1:8080/actuator/health"]
interval: 15s
timeout: 5s
retries: 40
caddy:
image: caddy:2.8-alpine
container_name: chatapp-test-caddy
restart: unless-stopped
depends_on:
gateway:
condition: service_started
console:
condition: service_started
admin:
condition: service_started
environment:
TESTBOX_DOMAIN: ${TESTBOX_DOMAIN}
TESTBOX_ADMIN_DOMAIN: ${TESTBOX_ADMIN_DOMAIN}
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
volumes:
caddy-data:
caddy-config: