Containers
LLM Launcher → Containers is where everything you have launched lives: running and stopped containers, grouped as they were deployed, plus the Sparkrun workloads that are not containers at all.
The two tabs
| Tab | Contents |
|---|---|
| Containers | Docker containers on your devices, grouped. |
| Sparkrun Workloads | Multi-node inference runs placed on DGX Spark clusters. See Sparkrun Clusters. |
The same two tabs appear on an application's own Containers tab, scoped to that application.
The containers table
Containers deployed together are shown as one group row. An engine with its Open WebUI and its LiteLLM gateway is a group; so is a VSS pipeline.
- The State column shows one badge for a single container. For a group it shows Multiple — hover it to see each child container's state, with a start/stop button per child.
- Running count shows how many of the group's containers are up.
- A warning triangle appears when a device in the group is not connected: "Device(s) is not connected to Cordatus currently. The devices should be connected for full functionality."
Container states
| State | Meaning |
|---|---|
| running | Up and serving. |
| exited | Stopped. |
| Preparing | The device is setting the container up. |
| Preparing Model | Weights are still being fetched or laid out. |
| Downloading | The image is being pulled. Container information is unavailable until it finishes. |
| Multiple | Group row — the children are in different states. |
Customize Columns
The columns icon in the subheader opens a panel where you can drag to reorder and click to show/hide each column, with Select All and Reset. Your layout is remembered per user.
Search and selection
- The subheader search filters across the table.
- Row checkboxes select containers; with a selection made, Delete Selected appears in the header.
Row actions
| Action | What it does |
|---|---|
| Open | Opens the group panel with every container in it. |
| Duplicate | Starts a new launch with this container's configuration pre-filled, so you can change one thing and start again. |
| Start | Starts every stopped container in the group. |
| Stop | Stops every running container in the group. |
| Delete | Removes the containers. |
Buttons are disabled with an explanation rather than silently doing nothing — "Container(s) already stopped", "All Container(s) already running", "Device connection unavailable", "You don't have permission to duplicate".
Duplicating a container
Duplicate does not copy a container — it opens the launch wizard with everything the original was created with already filled in: the same device, image, model, GPU selection, host limits and overrides. Nothing starts until you press Start Environment.
Use it to change one thing and run it again — a different quantization, a longer context, another GPU split — without walking the whole wizard a second time. Give the copy its own Environment Name, or leave it blank and Cordatus generates one, so the two are easy to tell apart on this page.
Deleting
Deletion asks you to type DELETE in the confirmation field — nothing else is accepted.
When the containers own volumes, Cordatus lists them first and lets you Show Paths and Skip Delete Volumes:
Removing these files could lead to unintended or unstable system operation. Skip the volumes if you are unsure.
Inside a group
Open shows every container in the group, with a search box for large groups and, for each container:
- start / stop / delete controls, with the same honest disabled states;
- Container Informations, which opens the details panel;
- a Private / Public marker on its addresses;
- an Assigned marker on containers borrowed from another group — those cannot be deleted from here ("This container is assigned from another container group").
The panel can be expanded to Full screen.
The details panel
Three tabs:
Logs
The container's live output, streamed. Copy puts the visible log on your clipboard.
Parameters
Every configuration value the container was created with — image, command, options, environment variables, engine flags, volumes.
Ports
Every exposed port, with:
- Local and Global addresses;
- Copy and Open;
- Make publicly reachable → Generate URL, which creates a public URL for that port.
Cordatus asks for a subdomain: type your own (lowercase, 4–63 characters, letters, digits
and hyphens) or press Random to have one generated. The result looks like
https://<subdomain>.tunnel.cordata.ai; - Regenerate for an existing one — it asks whether to keep the same subdomain or generate a new one — and Close public URL to withdraw it;
- Expose another port / Add port to publish something new;
- Application name, so the URL is recognisable.
API Usage Examples
For a running engine, API Usage Examples shows ready-to-paste snippets for calling it:
- a quick usage call;
- an OpenAI-compatible client example;
- Open with WebUI to launch the interactive interface.
If the endpoint needs no authentication, set the key to an empty string.
The button is disabled while the container is not running ("Container must be running to view API usage").
Sparkrun Workloads
The second tab lists multi-node runs:
| Column | Meaning |
|---|---|
| Workload | The recipe name, with TP= underneath. |
| Status | Live, launching, stopped, failed. |
| Multi-Node | Whether it spans more than one node. |
| Model | The served model name. |
| Endpoint | The serving port. (assumed) means the port fell back to the engine default and was never reported. |
Actions: Start Workload, Stop Workload, Cancel Launch, Delete Workload (type DELETE), and Workload Details.
The details panel has Overview, Logs (one reader per node, each line tagged with the node it came from), Ports, Access URLs, Engine Arguments, Environment Variables (values masked) and the Recipe YAML.
If you have never launched one, the tab explains how: use Start Sparkrun on an application.
Devices that are not connected
Containers on an offline device stay listed, with their last known state, and every action on them is disabled. They become controllable again as soon as the device reconnects.
System containers
Some containers are marked as required for Cordatus itself to work. They are shown so you know they are there, and are protected from casual deletion.