version: '3' services: # MySQL 服务 mysql-server: image: mysql:8.0 restart: always environment: TZ: Asia/Shanghai LANG: C.UTF-8 MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD:-AiDeA20231129} MYSQL_DATABASE: aidea_server MYSQL_USER: aidea MYSQL_PASSWORD: ${MYSQL_PASSWORD:-AiDeA20231129} ports: - "3306" expose: - "3306" volumes: - ./mysql:/var/lib/mysql command: --max_connections=1000 --default-authentication-plugin=mysql_native_password networks: - aidea-network # Redis 服务 redis-server: image: redis:7.0 restart: always command: redis-server --save 60 1 --loglevel warning --requirepass ${REDIS_PASSWORD:-AiDeA20231129} ports: - "6379" expose: - "6379" volumes: - ./redis:/data networks: - aidea-network # AIdea 服务端 aidea-server: image: ${AIDEA_SERVER_IMAGE:-mylxsw/aidea-server:2.0.0} restart: always command: sh -c '/usr/local/bin/wait-for.sh mysql-server:3306 -- /usr/local/bin/aidea-server --conf /etc/aidea.yaml' ports: - "8080" expose: - "8080" volumes: - ./etc/config.yaml:/etc/aidea.yaml - ./etc/coins-table.yaml:/etc/aidea-coins-table.yaml - ./data:/data - ./wait-for.sh:/usr/local/bin/wait-for.sh networks: - aidea-network depends_on: - mysql-server - redis-server # AIdea Web 端 aidea-web: image: ${AIDEA_WEB_IMAGE:-mylxsw/aidea-web:2.0.0} restart: always ports: - "80" expose: - "80" networks: - aidea-network # 反向代理服务 nginx-server: image: nginx:1.25 ports: - "80:80" #- "443:443" networks: - aidea-network volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf #- ./nginx/certs.d:/etc/nginx/certs.d depends_on: - aidea-server - aidea-web networks: aidea-network: