Skip to main content

Deploy failed

A deploy that fails almost always says why. This page shows where to read it and what the common messages mean.

Where to look​

The message itself. When a deploy is refused, a message usually appears straight away in the deploy dialog or as a notification.

The log panel. While a deploy runs, its log streams at the bottom of the screen. The last lines before it stops usually show the cause. When the deploy reports an error, an Error dialog also opens with the reason, and the log ends with Deploy finished with status: and the result.

Deploy attempts. Open the lab and go to Activity. The Deploy attempts card lists the last 15 deploys: status, when it started, how long it took, the exit code, who triggered it and, if it failed, the error text.

Shown on labsdev.selfmade.ninja, a Selfmade Ninja Labs platform. On your own platform you will see your own domain and data.

The Activity timeline. The card above the deploy attempts shows what happened to the lab around the deploy — for example, that it was stopped by a limit, or crashed after starting. See Lab stopped unexpectedly.

Common errors​

MessageWhat it meansFix
You can only deploy N labs at a time. Please stop a lab to deploy a new one.You are at your running-labs limitStop another lab — a paused lab still counts. See Plans and limits.
Your organization can run N labs at a time on its plan…Same, for an organizationStop one of the organization's labs
Copy limit reached (N of M)…You have as many copies as your plan allows. Stopped copies count too, copies of every lab count together, and so do labs deployed from user-made templates.Terminate a copy you no longer need — only that frees a slot. See Slots and limits.
Copy deployments are not available on your plan for this lab.This lab's template does not allow copies on your planUse the main lab, or upgrade
Domain '…' is already attached to your running instance '…'.A domain can be served by one lab at a timeRemove it from that lab, or stop that lab, then deploy
…is not registered on this platform. Add it under Domains first.A domain in the lab's settings is not on your accountAdd it on My Domains, or remove it from the lab's Preferences
No DNS entries to take you public. Please add Domains to continue.You chose Public without any domainAdd a domain first
A storage migration is in progress for this account — deploys resume when it completes.Your storage is being movedWait for it to finish
Build required — Build this template firstThe template has never been built successfullyBuild it, or ask its author to
This template is not published for deployment yet (still in alpha/draft)The author has not released it to othersWait, or ask the author
Deploying templates requires a paid planTemplates made by other users need a paid plan to deploySee Plans and limits
This lab was paused by the platform (subscription). Renew your plan to resume it.Your subscription lapsedRenew your plan
Port N is reserved or invalid for custom proxies.An HTTP proxy uses a port the lab already needsPick another port — see Publishing ports
Port N is listed more than once in your proxies.Two HTTP proxy rows use the same portMerge them into one row with several domains
Domain '…' cannot be used multiple times. It's already selected for …The same domain is picked for two things on this lab — port 80, the browser editor, or a proxyGive each its own domain
Domain '…' is not available to you.The domain belongs to someone else, or to an organization you are not acting forUse one of your own domains
A deploy is already in progress for this lab — please wait for it to finish.You, or someone you shared it with, already started a deployWait for it, and watch its log
Deploy could not be started. Please try again.The platform could not start the deployTry again in a minute. If it repeats, tell your administrator.
This template has not been built yet and cannot be deployed.The template behind this lab has no successful buildBuild it, or ask its author to
You do not have access to deploy this template.The template is not shared with youAsk its author to share it
This template needs VPN … but its WireGuard probe failed at build time / …enables code-server but the build probe could not find it in the imageThe template's image is missing something its settings rely onThe template's author must fix and rebuild it
Invalid run-as user: lowercase letters, digits, - and _ only (max 32 chars, not root).The Run as user you typed for a copy is not a valid login nameUse a lowercase name, up to 32 characters, not root
Scale group must be lowercase letters, digits and dashes (max 32).The scale group name has other charactersRename it
The … password cannot contain '=' characters. / …is too long (max 128 characters).A password on Preferences breaks a ruleChange it — see Passwords
At most 4 WG networks per lab. / Network '…' is not available to you.Too many private networks are selected, or one belongs to someone elseSelect fewer, or only your own
You can only deploy 3 labs at a time in team mode.Your clan is already running as many team labs as it canA clan member must stop one
Challenge labs are not available on this platform.Your platform has the scoring features turned offNothing to fix — use machine labs
This event has ended…, Event has not started yet…, You have not registered for the event…The lab belongs to an eventSee Events

The deploy failed, but the lab is running​

The Deploy attempts card on the Activity tab flags this case in amber:

The deploy command failed but a container is running — this lab may be incompletely configured (for example with no VPN address). A redeploy is safest.

It means the machine started, but a later setup step did not finish. The lab may look normal while missing something — most often its private address, so SSH and the tunnel do not reach it even though the browser editor works.

Redeploy it. A clean redeploy runs every step again.

The deploy succeeded, but something is missing​

SymptomCause
A package you installed is goneEverything outside your home directory is rebuilt on each deploy. Use a startup script.
New domain or port not liveDomain and port settings apply on redeploy — use Apply & Redeploy now
New SSH key not acceptedKeys are installed at deploy time. Redeploy after adding one.
The lab stops soon after startingYour startup script may be failing, or the app is running out of memory. Test the script with Run now and check Activity.

Do it with an AI assistant​

You can also do this by asking an AI assistant connected to your account — see Connect an AI assistant to set one up.

AskWhat the assistant does
“My lab failed to deploy — what went wrong?”lab_status, then lab_logs
“Is my startup script the problem?”Reads it with lab_startup_script and matches it against lab_logs
“Deploy it again and watch it”deploy_lab, then wait_for_deploy
“It says deployed but my app is not up”lab_probe, then list_lab_processes and lab_process_logs
Read the log before redeploying

Most failures repeat until their cause is fixed. If the assistant is told a deploy of that lab is already running, it should wait, not try again.

Next​