version: '3.8' services: app: build: . ports: - "8080:8080" environment: - DB_HOST=mysql - DB_PORT=3306 - DB_USER=root - DB_PASSWORD=rootpassword - DB_NAME=web_training - REDIS_HOST=redis - REDIS_PORT=6379 depends_on: - mysql - redis volumes: - ./uploads:/app/uploads - ./logs:/app/logs networks: - web-training-network mysql: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=rootpassword - MYSQL_DATABASE=web_training - MYSQL_USER=webuser - MYSQL_PASSWORD=webpassword ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql - ./scripts/init.sql:/docker-entrypoint-initdb.d/init.sql networks: - web-training-network redis: image: redis:6.2-alpine ports: - "6379:6379" volumes: - redis_data:/data networks: - web-training-network adminer: image: adminer ports: - "8081:8080" depends_on: - mysql networks: - web-training-network volumes: mysql_data: redis_data: networks: web-training-network: driver: bridge