Geo-MLOps has two command-line tools.

ToolConnects toWho uses itUse it for
geo-mlops-adminThe DB directly (the server may be down)Platform operatorsEmergency recovery of accounts and roles, rebuilding the DB, filling the weights mirror
geo-mlops-client (./client)A running server over HTTPEvery userSign-in, large dataset uploads, scripts that call the API

geo-mlops-admin

It reads the same environment variables as the app (GEO_MLOPS_*, especially GEO_MLOPS_DATABASE_URL) or .env. It has no separate connection options. Call it with the ./admin script at the root of the server repository (the same as ./run geo-mlops-admin … or python -m geo_mlops.admin).

./admin --help

If you installed with containers, run it inside the app container (working directory /app).

docker compose exec app ./admin user list

user — accounts

./admin user create [email protected] --admin     # account + global administrator
./admin user create [email protected]               # generates and prints a password
./admin user create [email protected] --password '<your-secret>'
./admin user list                                 # list accounts and roles
./admin user delete [email protected] --yes         # delete permanently

There are also the --inactive (create as inactive) and --unverified (create with the email unverified) options.

admin — global administrators

./admin admin grant  [email protected]
./admin admin revoke [email protected]

This is the emergency recovery tool for when the last global administrator was lost in the UI or nobody knows the password.

role — tenant roles

./admin role grant  [email protected] DEMO OPERATOR   # grant or change a role
./admin role revoke [email protected] DEMO

The role is one of VIEWER, DEVELOPER, OPERATOR, APPROVER and ADMIN.

db reset — rebuild the database

./admin db reset --seed          # drop everything, rebuild with migrations, then plant initial data
  • --seed plants the boot seed (bootstrap administrator and tenant) again after the rebuild and also creates the tenant namespaces. To skip the namespaces, use --no-cluster.
  • ./admin-database-initialize in the server repository is a script that runs db reset --seed --yes without confirmation. It is for development environments only.

seed-demo — demo data

./admin seed-demo --tenant DEMO --days 30

Fills every screen of the bootstrap tenant (or the tenant chosen with --tenant) with demo data. Skips data that already exists.

weights — weights mirror

Uses only object storage and the catalog, without the DB. You can run it right after installation, even before the DB is ready.

./admin weights list                                  # catalog and mirror state
./admin weights warm --framework rf-detr              # download from the internet and store in the mirror
./admin weights warm --all
./admin weights push rf-detr-large ./rf-detr-large.pth --framework rf-detr   # air-gapped: upload a file you brought in
./admin weights prune                                 # delete old objects the catalog no longer points to

For the same work in the UI, see Weights mirror.

./client — the user client

geo-mlops-client is a user tool that connects to a running server. When you sign in, it saves the JWT to ~/.geo-mlops.json (readable only by the owner) and reuses it for later commands, so you do not type the password every time. Call it with the ./client script in the server repository.

./client login [email protected] --base-url https://mlops.example.com --tenant DEMO
./client whoami
./client logout
  • The server address is decided in this order: --base-urlGEO_MLOPS_CLIENT_BASE_URL → the last sign-in address → the default http://localhost:10000.
  • The tenant comes from --tenant CODE, GEO_MLOPS_CLIENT_TENANT, or the default saved at sign-in.

There are also check commands that work without signing in.

./client meta health      # alive? version
./client meta readyz      # ready, including the DB connection? (exit code 1 if there is a problem)
./client meta metrics     # raw Prometheus metrics

Other APIs are called directly as <group> <action> (tenants, experiments, models, datasets, settings and so on). See the list of actions with ./client <group> --help.

./client models list
./client datasets upload-archive <dataset ID> ~/corpus --chunk-size 64M
./client training-weights upload my-ckpt ./best.pt --framework yolo --model yolo26n

Written for the platform as of 2026-09-21.

© Geo-MLOps