services: app: env_file: - .env.docker depends_on: mysql: condition: service_healthy redis: condition: service_healthy mysql: image: mysql:8.4 container_name: ginimageapi-mysql environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: gin_img MYSQL_USER: gin_img MYSQL_PASSWORD: gin_img_pass ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-prootpass"] interval: 5s timeout: 5s retries: 20 start_period: 20s restart: unless-stopped redis: image: redis:7.4-alpine container_name: ginimageapi-redis command: ["redis-server", "--requirepass", "redispass"] ports: - "6379:6379" volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "-a", "redispass", "ping"] interval: 5s timeout: 3s retries: 20 start_period: 5s restart: unless-stopped volumes: mysql_data: redis_data: