Skip to main content

Labs and instances

A running lab is an instance. This page covers how to find any instance on the platform, see what it is doing, and step in when one misbehaves. It also covers the admin-only controls that appear on the normal dashboard pages.

Admin Panel → Labs → Instances → All Instances (/admin/instances)

The Labs group only appears while the Labs module is on.

All Instances​

The page is headed Instance Management. Summary cards show Total Instances, Active, Inactive and This Week.

Filter by status (All, Active, Inactive) or search. Columns: Lab, Owner, Instance ID, Status, Resources, Created, Actions. Select a row to open its detail page, or use Stop in the row (with confirmation).

Instance detail​

Opens at /admin/instances/ followed by the instance ID.

Shown on labs.selfmade.ninja, the Selfmade Ninja Academy platform. On your own platform you will see your own domain and data.

Actions​

ButtonWhat it doesAvailable
StopStops the lab. Recorded on the lab's timeline as an admin action.Active labs, with confirmation
RestartStops and starts the labActive labs, with confirmation
Force KillKills the lab when a normal stop does not workActive labs, with confirmation
Extend ExpiryChanges how long the lab may run before it expires. See Extending a lab's expiry.Always, no extra confirmation
View as UserOpens the lab's normal page, as yourself. This is not impersonation.Always
Check the real state after a stop or kill

The panel marks the lab stopped even if the stop or kill failed underneath. Refresh the page after a few seconds and check Container Inspection or the owner's lab page. On some platforms Force Kill is not permitted at all.

Stop, restart and kill are recorded in server logs, not in the audit log.

Extending a lab's expiry​

Labs built from a template with a time limit stop automatically when their time runs out. Extend Expiry lets you give one lab a different time limit.

  1. Select Extend Expiry.
  2. Enter a length of time in words, such as 7 days or 24 hours. The field starts at 7 days.
  3. Select Extend. The page reloads and the Expiry card shows the new value.
The value replaces the lifetime; it is not added to it

Although the dialog says "Additional time", what you enter becomes the lab's whole lifetime, counted from when the lab was last deployed. For a lab that was deployed five days ago, entering 7 days leaves it about two days, not twelve. To give someone a week from now, add the days already used to the week you want.

Other things to know:

  • It has no effect on labs whose template does not expire.
  • If the owner renews the lab themselves later, their renewal replaces your value.
  • A redeploy restarts the count, because the lifetime is measured from when the lab was last deployed.
  • It is not recorded in the audit log.

What else is on the page​

SectionWhat is there
Connection InformationHow the owner connects. Passwords are hidden.
Real-Time MetricsLive CPU, memory, network and disk
Historical MetricsThe same over 24 hours, 7 days, 30 days or all time
Container InspectionThe lab's runtime details, with Show Raw JSON
Usage HistoryPast runs of this lab
TerminalThe admin shell. See below.

Admin shell​

The Terminal section gives you a shell as root inside the lab. Select Open Shell; Ctrl+C interrupts the running command.

It works only when Settings → Security → Admin shell into lab containers is on. On customer platforms it is off by default. See Platform settings.

You are root in someone else's lab

Anything you run can read or destroy the owner's work. Use the shell for diagnosis, tell the owner what you did, and prefer impersonation when you only need to see what they see. Shell use is recorded in server logs only.

Launchable Reviews​

Admin Panel → Labs → Instances → Launchable Reviews (/admin/instances/reviews), headed "Launchable App Reviews".

Users who build a custom app can ask for it to appear on every user's home launcher. Those requests queue here.

  • Approve (optional note) makes the app appear for everyone.
  • Reject takes a note.

The app's owner is not reliably notified of your decision in this release. Tell them yourself if it matters.

Failed deploys​

The admin Dashboard counts failed deploys, but there is no failed-deploy list in the panel yet. To investigate, open the lab's own page and its Deployments tab, which shows each attempt with its error. Retrying or rolling back a failed deploy on someone's behalf needs your engineering team in this release.

Admin-only controls on normal pages​

Some admin features live on the ordinary dashboard pages rather than in the admin panel. You see them only while signed in as an admin.

WhereWhat admins get
Profile menu → Global StatsPlatform-wide analytics
LabStore (/store)Install apps for the platform, with a live server log while they install
Services catalog (/services)Running and total counts, and each service's runtime state
Labs catalog (/labs)Platform-wide running counts and an Admin filter
Lab template editorPublish to LabStore, where the platform has a GitLab publishing credential set up

To start and stop the platform's own backend services, see Platform settings.

Next​