version: '3.8' services: mysql: image: mysql:8.0 container_name: rustjr-mysql environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_DATABASE: rustjr MYSQL_USER: rustjr MYSQL_PASSWORD: rustjrpassword ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql - ./migrations:/docker-entrypoint-initdb.d healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 5 networks: - rustjr-network backend: build: . container_name: rustjr-backend ports: - "8080:8080" environment: DATABASE_URL: mysql://rustjr:rustjrpassword@mysql:3306/rustjr SERVER_PORT: 8080 RUST_LOG: info,rustjr=debug depends_on: mysql: condition: service_healthy networks: - rustjr-network restart: unless-stopped frontend: build: ../rustjr-vue-frontend container_name: rustjr-frontend ports: - "3001:80" depends_on: - backend networks: - rustjr-network restart: unless-stopped networks: rustjr-network: driver: bridge volumes: mysql_data: