81 lines
2.8 KiB
YAML
81 lines
2.8 KiB
YAML
services:
|
|
mysql-init:
|
|
image: ${MYSQL_IMAGE:-mysql:8.0.36}
|
|
restart: "no"
|
|
environment:
|
|
TZ: ${TZ:-Asia/Shanghai}
|
|
MYSQL_HOST: ${MYSQL_SHARED_HOST:-mysql-shared}
|
|
MYSQL_PORT: ${MYSQL_SHARED_PORT:-3306}
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
|
|
MYSQL_INIT_SQL_FILE: /tmp/scripts/sql/easycard_init.sql
|
|
volumes:
|
|
- ./scripts/init-shared-mysql.sh:/tmp/init-shared-mysql.sh:ro
|
|
- ./scripts/sql/easycard_init.sql:/tmp/scripts/sql/easycard_init.sql:ro
|
|
entrypoint: ["/bin/sh", "/tmp/init-shared-mysql.sh"]
|
|
networks:
|
|
- middleware-net
|
|
|
|
minio-init:
|
|
image: ${MINIO_MC_IMAGE:-quay.io/minio/aistor/mc:RELEASE.2025-08-21T03-14-05Z}
|
|
restart: "no"
|
|
environment:
|
|
MINIO_ALIAS: ${MINIO_ALIAS:-easycard}
|
|
MINIO_ENDPOINT: ${MINIO_SHARED_ENDPOINT:-http://minio-shared:9000}
|
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-easyflowadmin}
|
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-easyflowadmin123}
|
|
MINIO_BUCKET: ${MINIO_BUCKET:-easycard}
|
|
MINIO_PUBLIC_BUCKET: ${MINIO_PUBLIC_BUCKET:-true}
|
|
volumes:
|
|
- ./scripts/init-shared-minio.sh:/tmp/init-shared-minio.sh:ro
|
|
entrypoint: ["/bin/sh", "/tmp/init-shared-minio.sh"]
|
|
networks:
|
|
- middleware-net
|
|
|
|
backend:
|
|
image: easycard-backend:0.3
|
|
container_name: easycard-backend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
mysql-init:
|
|
condition: service_completed_successfully
|
|
minio-init:
|
|
condition: service_completed_successfully
|
|
environment:
|
|
TZ: ${TZ:-Asia/Shanghai}
|
|
SPRING_PROFILES_ACTIVE: docker
|
|
SPRING_CONFIG_ADDITIONAL_LOCATION: file:/app/
|
|
SERVER_PORT: 8112
|
|
DB_HOST: ${MYSQL_SHARED_HOST:-mysql-shared}
|
|
DB_PORT: ${MYSQL_SHARED_PORT:-3306}
|
|
DB_NAME: ${DB_NAME:-easycard}
|
|
DB_USERNAME: ${DB_USERNAME:-root}
|
|
DB_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
|
|
REDIS_HOST: ${REDIS_SHARED_HOST:-redis-shared}
|
|
REDIS_PORT: ${REDIS_SHARED_PORT:-6379}
|
|
REDIS_DATABASE: ${REDIS_DATABASE:-0}
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-123456}
|
|
JWT_SECRET: ${JWT_SECRET:-change-me-in-docker}
|
|
MINIO_ENDPOINT: ${MINIO_SHARED_ENDPOINT:-http://minio-shared:9000}
|
|
MINIO_PUBLIC_ENDPOINT: ${MINIO_PUBLIC_ENDPOINT:-http://127.0.0.1:39000}
|
|
MINIO_ACCESS_KEY: ${MINIO_ROOT_USER:-easyflowadmin}
|
|
MINIO_SECRET_KEY: ${MINIO_ROOT_PASSWORD:-easyflowadmin123}
|
|
MINIO_BUCKET: ${MINIO_BUCKET:-easycard}
|
|
LOG_PATH: /app/logs
|
|
JAVA_OPTS: ${JAVA_OPTS:--Xms256m -Xmx512m}
|
|
ports:
|
|
- "8112:8112"
|
|
volumes:
|
|
- ./application.yml:/app/application.yml:ro
|
|
- ./data/backend/logs:/app/logs
|
|
networks:
|
|
- easycard_net
|
|
- middleware-net
|
|
|
|
networks:
|
|
easycard_net:
|
|
name: ${APP_NETWORK_NAME:-easycard-app-net}
|
|
driver: bridge
|
|
middleware-net:
|
|
external: true
|
|
name: ${MIDDLEWARE_NETWORK_NAME:-shared-middleware-net}
|