version: '3.8' services: db: build: context: . dockerfile: Dockerfile.db container_name: microvolts-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${MV_DB_PW:-default_password} MYSQL_DATABASE: microvolts-db MYSQL_USER: microvolts MYSQL_PASSWORD: ${MV_DB_PW:-default_password} ports: - "3305:3306" volumes: - db_data:/var/lib/mysql networks: - microvolts-network healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 20s retries: 10 auth-server: build: . container_name: microvolts-auth restart: unless-stopped depends_on: db: condition: service_healthy environment: - MV_DB_PW ports: - "13000:13000" networks: - microvolts-network command: ["/app/Output/AuthServer.elf"] main-server: build: . container_name: microvolts-main restart: unless-stopped depends_on: db: condition: service_healthy environment: - MV_DB_PW ports: - "13005:13005" - "14005:14005" networks: - microvolts-network command: ["/app/Output/MainServer.elf"] cast-server: build: . container_name: microvolts-cast restart: unless-stopped depends_on: db: condition: service_healthy environment: - MV_DB_PW ports: - "13006:13006" - "14006:14006" networks: - microvolts-network command: ["/app/Output/CastServer.elf"] volumes: db_data: networks: microvolts-network: driver: bridge