Skip to content

Quickstart

The fastest way to bring up minmcs is with Docker. See the overview for how the pieces fit together, and Configuration for the full list of environment variables.

1. Prerequisites

Minimum configuration setup:

  1. Copy .env.example to .env.
  2. Set the location for your mission’s XTCE database. The Docker build copies this file in, and the API needs it to build the spacecraft model.

2. Run with Docker

$ docker compose up --build

This starts Postgres, InfluxDB, the API (:9300), and the UI (:8080), using your .env plus the defaults in docker-compose.yaml. The one setting you’re likely to need to change is the ground-link address (MINMCS_TM_SOURCE_HOST/_PORT) — only if you’re not running bin/egse_link.py on the host. Then open the dashboard at http://localhost:8080.

3. Run locally, without Docker

For backend work on minmcs-lib/ (uv-managed, Python ≥ 3.12):

$ uv sync
$ uv run uvicorn minmcs.api:app --host 0.0.0.0 --port 9300

The API alone won’t have anything to decode until something feeds it TM. To exercise the full TM/TC chain without spacecraft hardware, also run the local EGSE stub and the ground-link bridge alongside it — see Ground link bridge:

$ uv run python bin/egse_link.py     # local EGSE stub: synthetic TM out, TC in
$ uv run python bin/data_proxy.py    # bridge: link <-> API

For the UI (minmcs-ui/, npm):

$ npm install
$ npm run dev

By default the UI points at http://localhost:9300. See Pointing the UI at a different API host to change that.

4. Where to next

Last updated on