version: '3.9' services: db: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword} MYSQL_DATABASE: ${MYSQL_DB:-itasset_db} MYSQL_USER: ${MYSQL_USER:-itasset_user} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-itasset_pass} volumes: - mysql_data:/var/lib/mysql ports: - "3306:3306" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-rootpassword}"] interval: 10s timeout: 5s retries: 10 web: build: . restart: always depends_on: db: condition: service_healthy env_file: - .env environment: MYSQL_HOST: db ports: - "5000:5000" volumes: - uploads_data:/app/uploads - pdfs_data:/app/pdfs command: > sh -c "flask db upgrade && python init_db.py && python run.py" volumes: mysql_data: uploads_data: pdfs_data: