React 19 + Vite dashboard for the mesos-compose v0 API. The UI is intentionally a separate project because the backend repository may be mounted read-only.
npm install
cp .env.example .env.local
npm run devOpen the printed local URL. Enter the backend Basic Auth credentials in the login screen. Credentials are kept in localStorage so a page reload does not prompt again; they are never written to .env. Remove the browser's site data to clear the stored login.
VITE_API_BASE_URL defaults to https://api.example.invalid:10002; set it through the environment for the deployment.
The backend routes used are:
GET /api/compose/v0/tasksGET /api/compose/v0/events(plain-text event stream)DELETE /api/compose/v0/tasks/:taskidDELETE /api/compose/v0/:project/:servicePUT /api/compose/v0/:project/:service/restartGET /api/compose/v0/:project/PUT /api/compose/v0/:project(YAML body; scaling updatesservices.<service>.deploy.replicas)
npm run build
npm run previewThe generated static artifact is in dist/. If the API uses a self-signed certificate, the browser must trust that certificate; the frontend does not disable TLS verification.


