version: "3.8" services: app: build: . ports: - "3000:3000" environment: - NODE_ENV=development - DB_HOST=mysql - DB_USER=${DB_USER} - DB_PASSWORD=${DB_PASSWORD} - DB_NAME=${DB_NAME} - REDIS_HOST=redis - REDIS_PORT=6379 volumes: - .:/usr/src/app - /usr/src/app/node_modules depends_on: - mysql - redis mysql: image: mysql:8.0 ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASSWORD} volumes: - mysql_data:/var/lib/mysql redis: image: redis:7-alpine ports: - "6379:6379" command: redis-server --appendonly yes volumes: - redis_data:/data volumes: mysql_data: redis_data: