version: '3.9' services: nginx: image: nginx:1.21-alpine restart: always ports: - '${FORWARD_APP_PORT:-80}:80' volumes: - ./docker/nginx/conf.d:/etc/nginx/conf.d - ./:/var/www/html depends_on: - php - mysql - redis php: build: context: . dockerfile: Dockerfile image: e-commerce/php restart: always volumes: - ./:/var/www/html mysql: image: mysql/mysql-server:8.0 restart: always ports: - '${FORWARD_DB_PORT:-3306}:3306' volumes: - mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}' MYSQL_DATABASE: '${DB_DATABASE}' MYSQL_USER: '${DB_USERNAME}' MYSQL_PASSWORD: '${DB_PASSWORD}' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' redis: image: redis:6.2-alpine restart: always ports: - '${FORWARD_REDIS_PORT:-6379}:6379' volumes: - redis:/data volumes: mysql: driver: local redis: driver: local