services: holos-backend: build: context: . dockerfile: dockerfile working_dir: /var/www/holos.backend volumes: - app_storage:/var/www/holos.backend/storage networks: - holos-network depends_on: mysql: condition: service_healthy redis: condition: service_healthy nginx: image: nginx:alpine ports: - "${NGINX_PORT}:80" volumes: - ./Docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf networks: - holos-network depends_on: - holos-backend mysql: image: mysql:8.0 environment: MYSQL_DATABASE: ${DB_DATABASE} MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_USER: ${DB_USERNAME} ports: - ${DB_PORT}:${DB_PORT} volumes: - mysql_data:/var/lib/mysql networks: - holos-network healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 15s retries: 10 phpmyadmin: image: phpmyadmin/phpmyadmin environment: PMA_HOST: mysql PMA_PORT: 3306 ports: - '${PMA_PORT}:80' depends_on: - mysql networks: - holos-network redis: image: redis:alpine ports: - "${REDIS_PORT}:6379" volumes: - redis_data:/data networks: - holos-network healthcheck: test: ["CMD", "redis-cli", "ping"] timeout: 5s retries: 5 volumes: mysql_data: driver: local redis_data: driver: local app_storage: driver: local networks: holos-network: driver: bridge