From 3692938856735d5d7a926c773dacc164b81b0b5e Mon Sep 17 00:00:00 2001 From: anshag01 <104688627+anshag01@users.noreply.github.com> Date: Thu, 24 Sep 2026 14:54:20 -0400 Subject: [PATCH] Document local startup and require a compatible Node runtime --- README.md | 52 ++++++++++++++++++++++++++++++++++---- web-interface/package.json | 3 +++ 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a1e34d1..684da20 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,52 @@ Mist: UTMIST's Compute Platform -## Runtime Requirements +## Runtime requirements -Note that you will need the following installed: +- Go 1.25.1 (also satisfies the backend's Go 1.24.6 requirement) +- Node.js 22.16.0 or newer, with npm +- Docker Engine and the Docker Compose plugin (`docker compose`) +- Permission to run `docker ps` as the same user that runs the backend -- docker -- docker-compose -- go +## Run locally + +Ensure `go version`, `node --version`, and `docker ps` work before starting. +Run the following from the repository root: + +```bash +docker compose up -d redis +docker build -t pytorch-cpu src/docker/pytorch-cpu +``` + +Start the backend in one terminal. Run it from `src` so it finds its logging configuration: + +```bash +cd src +go run . +``` + +Start the frontend in another terminal: + +```bash +cd web-interface +npm install --package-lock=false +npm run dev -- --port 3001 +``` + +Open http://localhost:3001/jobs. The API uses http://localhost:3000. +The repository includes a Bun lockfile; npm installation does not use that lockfile. + +The optional CLI can be built from a third terminal: + +```bash +cd cli +go build -o ../bin/mist . +../bin/mist --help +``` + +The frontend and CLI currently contain mock data and placeholder actions. The +backend's job execution is also incomplete; starting these services does not yet +provide end-to-end workload execution. + +Stop the backend/frontend with Ctrl+C in their terminals, then run +`docker compose stop redis` from the repository root to stop Redis without deleting its data. diff --git a/web-interface/package.json b/web-interface/package.json index b9e0451..aed11e6 100644 --- a/web-interface/package.json +++ b/web-interface/package.json @@ -2,6 +2,9 @@ "name": "web-interface", "private": true, "type": "module", + "engines": { + "node": ">=22.16.0" + }, "imports": { "#/*": "./src/*" },