services: db: image: mysql:8.4 ports: - "3306:3306" volumes: - ./volumes/mysql/data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: battery_soh MYSQL_USER: battery MYSQL_PASSWORD: battery healthcheck: test: [ "CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-ubattery", "-pbattery" ] interval: 5s timeout: 5s retries: 20 seed: image: oven/bun:1.3.13 restart: "no" depends_on: db: condition: service_healthy volumes: - .:/app environment: - DATABASE_URL=mysql://battery:battery@db:3306/battery_soh command: [ "sh", "-lc", "bun install --frozen-lockfile && bun run seed" ] working_dir: /app app: build: . depends_on: seed: condition: service_completed_successfully ports: - "3000:3000" environment: - DATABASE_URL=mysql://battery:battery@db:3306/battery_soh