services: app: build: . ports: - "8080:8080" env_file: - .env volumes: - ./assets:/app/assets - ./logs:/app/logs depends_on: mysql: condition: service_healthy restart: unless-stopped networks: - talkingq-network backend_app: build: ../backend-v0.1 ports: - "8001:8001" env_file: - ../backend-v0.1/.env volumes: - ../backend-v0.1/app/assets:/app/assets - ../backend-v0.1/app/logs:/app/logs depends_on: mysql: condition: service_healthy restart: unless-stopped networks: - talkingq-network mysql: image: mysql:8.0 command: --default-authentication-plugin=caching_sha2_password restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}" MYSQL_DATABASE: talkingq MYSQL_USER: talkingq MYSQL_PASSWORD: "${MYSQL_PASSWORD}" TZ: Asia/Shanghai volumes: - mysql-data:/var/lib/mysql - ./mysql/init:/docker-entrypoint-initdb.d - ./mysql/conf.d:/etc/mysql/conf.d healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "talkingq", "-p${MYSQL_PASSWORD}"] interval: 10s timeout: 5s retries: 5 networks: - talkingq-network volumes: mysql-data: networks: talkingq-network: driver: bridge