Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.
Last Updated: October 7, 2026Before a new instance can do any work, SaladCloud allocates it to a node, the node downloads your image, and your
container starts. Each node downloads at its own speed, and a large image can take a while to download on a node that
hasn’t pulled it before. You aren’t billed while an instance is allocating or downloading (see
Billing), but you do wait, and while you are still getting a
deployment right, every change can mean another wait. The habits below keep that loop short.
Most problems in a first deployment are in the configuration around your application: a port or path that doesn’t match,
a probe that never passes, a job document in the wrong shape, missing registry credentials. A small image shows these as
well as your real one does, and it downloads quickly.
Deploy a small image that answers HTTP on the same port and paths your application will use, including the path your
readiness probe checks.
If your real image fails to start or exits early, you don’t need to rebuild and redeploy for every guess. Keep the
container alive with a command that only sleeps, connect to it, and run the startup yourself:
Set the container group’s command to sleep 2147483647. In
the API, that is "command": ["sleep", "2147483647"]. In the portal, enter sleep as the command and 2147483647
as its argument. The command replaces the image’s ENTRYPOINT and CMD, so the container starts and does nothing
else.
Remove the startup and liveness probes for now. Your application isn’t running, so they would fail, and a failed
startup or liveness probe moves the instance to a new node.
Run the image’s original entrypoint by hand and watch what happens. Check that the expected files, binaries and
environment variables are there, that the GPU is visible (nvidia-smi on NVIDIA), and that your application listens
on the port you configured.
When you have found the fix, build it into the image, remove the command, restore the probes, and deploy again.
sleep infinity doesn’t work with every sleep. Some BusyBox builds reject it, and the container exits straight
away. A large number of seconds works everywhere: 2147483647 seconds is about 68 years.
If your image also runs the Job Queue Worker, the sleep
command replaces that too, so the instance takes no jobs. If you start the worker by hand, it takes jobs from the queue
as usual.
Some nodes start your container sooner than others. While you test, run 3 replicas and use whichever instance is running
first. Instances are billed only while they are running, so the others cost nothing while they are still allocating or
downloading. When you are done, scale down or stop the container group so the spares don’t keep running.
When you lower the replica count, or the Job Queue autoscaler does, SaladCloud chooses which instances to stop. Give an
instance that is working a higher
instance deletion cost so that idle
instances are stopped first. The deletion cost applies only to scaling down. It doesn’t protect an instance from a node
interruption.
The Job Queue autoscaler sets the replica count
itself, from the queue length, so it overrides any spare replicas you set for testing. Create the container group with a
fixed replica count, get jobs running end to end with the steps above, and then add queue_autoscaler with an update.
Enable Autoscaling shows the update request.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SaladCloud","description":"SaladCloud documentation: Salad Container Engine, AI Gateway, Transcription API, S4 storage, and Gateway Service. Agents: start at /general/tutorials/build-with-ai-agents.","colors":{"primary":"#53A626","light":"#53A626","dark":"#53A626"},"logo":{"light":"https://mintcdn.com/salad/EawwuVEIAqrvltQ2/logo/light.svg?fit=max\u0026auto=format\u0026n=EawwuVEIAqrvltQ2\u0026q=85\u0026s=1ad3f967dcd4a77e38b71e493c2bb856","dark":"https://mintcdn.com/salad/EawwuVEIAqrvltQ2/logo/dark.svg?fit=max\u0026auto=format\u0026n=EawwuVEIAqrvltQ2\u0026q=85\u0026s=9912147ab9e28fe6afc254360302b732"},"favicon":"https://mintcdn.com/salad/B_utM-6XUMV1Xhv8/favicon.png?fit=max\u0026auto=format\u0026n=B_utM-6XUMV1Xhv8\u0026q=85\u0026s=4a570954d5b07e93adbe36fa38ea01e4","navbar":{"links":[{"href":"https://blog.salad.com","label":"Blog"},{"href":"https://discord.gg/ApSm4Kn7Aq","label":"Community"}],"primary":{"type":"button","label":"Portal","href":"https://portal.salad.com"}},"footer":{"socials":{"website":"https://salad.com","discord":"https://discord.gg/ApSm4Kn7Aq","github":"https://github.com/SaladTechnologies","youtube":"https://www.youtube.com/channel/UCFqO8W9-bxGCf-PdSrc7wVg","x":"https://x.com/SaladTech","linkedin":"https://www.linkedin.com/company/salad-technologies"}},"search":{"prompt":"Search..."},"integrations":{"ga4":{"measurementId":"G-C9B6SKYZEY"},"mixpanel":{"projectToken":"26a3dcda21415501306f3f077a446ec5"}},"contextual":{"options":["copy","view","claude","chatgpt","cursor","mcp","add-mcp"],"display":"header"},"markdown":{"instructions":"For autonomous tasks, use live SaladCloud API responses for current state, availability, quotas, models, and other dynamic values. Use current OpenAPI specifications where provided for paths, schemas, required fields, and enums. Never invent endpoints, fields, prices, availability, quotas, models, or state. Prefer API workflows over Portal steps. Read before changing and never expose credentials, signed media URLs, prompts, or sensitive outputs. Retry only safe or idempotent operations with bounded backoff, honoring Retry-After. Verify every write with a read. Stop rather than repeat an uncertain non-idempotent or billable request. AI Gateway uses an organization-specific Bearer key and live /v1/models discovery. Do not delete, cancel, stop, or reduce capacity without explicit user intent. Bind shared operation IDs to the selected product path. Treat Container Engine instances as interruptible and local state as ephemeral. Install the SaladCloud skills (npx skills add https://docs.salad.com), start from the salad skill and /agents/overview; docs MCP: https://docs.salad.com/mcp."},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"salad","hasAudioNarration":false,"actualSubdomain":"salad","customDomains":["docs.salad.com"],"gitSource":{"type":"github","owner":"saladtechnologies","repo":"salad-cloud-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0de5fdb357e3cc45a096d","collectionId":"4094218a-0efe-46b7-b220-bd68395b113f","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0de5fdb357e3cc45a096d"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae0f1c5b6ac80561762a0d3","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Container Engine","count":177},{"language":"default","tag":"API Reference","count":110},{"language":"default","tag":"How-to Guides","count":97},{"language":"default","tag":"Explanation","count":52},{"language":"default","tag":"Reference","count":46},{"language":"default","tag":"Transcription","count":40},{"language":"default","tag":"SaladCloud API","count":36},{"language":"default","tag":"Recipes","count":33},{"language":"default","tag":"Tutorials","count":33},{"language":"default","tag":"AI Gateway","count":26}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"container-engine/how-to-guides/cold-starts-and-iterating-quickly","slug":"/container-engine/how-to-guides/cold-starts-and-iterating-quickly","pageMetadata":{"title":"Cold Starts and Iterating Quickly","sidebarTitle":"Cold Starts and Iterating","description":"Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.","href":"/container-engine/how-to-guides/cold-starts-and-iterating-quickly"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:_jsx(_components.em,{children:`Last Updated: October 7, 2026`})}),`\n`,_jsxs(_components.p,{children:[`Before a new instance can do any work, SaladCloud allocates it to a node, the node downloads your image, and your\ncontainer starts. Each node downloads at its own speed, and a large image can take a while to download on a node that\nhasn’t pulled it before. You aren’t billed while an instance is allocating or downloading (see\n`,_jsx(_components.a,{href:`/container-engine/explanation/billing-pricing/billing`,children:`Billing`}),`), but you do wait, and while you are still getting a\ndeployment right, every change can mean another wait. The habits below keep that loop short.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prove-the-plumbing-with-a-small-image-first`,children:`Prove the plumbing with a small image first`}),`\n`,_jsx(_components.p,{children:`Most problems in a first deployment are in the configuration around your application: a port or path that doesn’t match,\na probe that never passes, a job document in the wrong shape, missing registry credentials. A small image shows these as\nwell as your real one does, and it downloads quickly.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Deploy a small image that answers HTTP on the same port and paths your application will use, including the path your\nreadiness probe checks.`}),`\n`,_jsxs(_components.li,{children:[`Check everything around it: the\n`,_jsx(_components.a,{href:`/container-engine/how-to-guides/job-processing/creating-a-job-queue`,children:`queue connection`}),` or\n`,_jsx(_components.a,{href:`/container-engine/how-to-guides/gateway/sending-requests`,children:`Container Gateway`}),`, the\n`,_jsx(_components.a,{href:`/container-engine/explanation/infrastructure-platform/health-probes`,children:`health probes`}),`, the job or request your client\nsends and the response it gets back, and scaling.`]}),`\n`,_jsxs(_components.li,{children:[`When that works, `,_jsx(_components.a,{href:`/reference/saladcloud-api/container-groups/update-container-group`,children:`update the container group`}),` to\nyour real image.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`debug-startup-by-hand`,children:`Debug startup by hand`}),`\n`,_jsx(_components.p,{children:`If your real image fails to start or exits early, you don’t need to rebuild and redeploy for every guess. Keep the\ncontainer alive with a command that only sleeps, connect to it, and run the startup yourself:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Set the container group’s `,_jsx(_components.a,{href:`/container-engine/how-to-guides/specifying-a-command`,children:`command`}),` to `,_jsx(_components.code,{children:`sleep 2147483647`}),`. In\nthe API, that is `,_jsx(_components.code,{children:`\"command\": [\"sleep\", \"2147483647\"]`}),`. In the portal, enter `,_jsx(_components.code,{children:`sleep`}),` as the command and `,_jsx(_components.code,{children:`2147483647`}),`\nas its argument. The command replaces the image’s `,_jsx(_components.code,{children:`ENTRYPOINT`}),` and `,_jsx(_components.code,{children:`CMD`}),`, so the container starts and does nothing\nelse.`]}),`\n`,_jsx(_components.li,{children:`Remove the startup and liveness probes for now. Your application isn’t running, so they would fail, and a failed\nstartup or liveness probe moves the instance to a new node.`}),`\n`,_jsxs(_components.li,{children:[`When an instance is running, connect to it with\n`,_jsx(_components.a,{href:`/container-engine/explanation/container-groups/ssh-and-terminal`,children:`SSH or the web terminal`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Run the image’s original entrypoint by hand and watch what happens. Check that the expected files, binaries and\nenvironment variables are there, that the GPU is visible (`,_jsx(_components.code,{children:`nvidia-smi`}),` on NVIDIA), and that your application listens\non the port you configured.`]}),`\n`,_jsx(_components.li,{children:`When you have found the fix, build it into the image, remove the command, restore the probes, and deploy again.`}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`sleep infinity`}),` doesn’t work with every `,_jsx(_components.code,{children:`sleep`}),`. Some BusyBox builds reject it, and the container exits straight\naway. A large number of seconds works everywhere: 2147483647 seconds is about 68 years.`]})}),`\n`,_jsxs(_components.p,{children:[`If your image also runs the `,_jsx(_components.a,{href:`/container-engine/how-to-guides/job-processing/queue-worker`,children:`Job Queue Worker`}),`, the sleep\ncommand replaces that too, so the instance takes no jobs. If you start the worker by hand, it takes jobs from the queue\nas usual.`]}),`\n`,_jsx(Heading,{level:`2`,id:`run-a-few-spare-replicas-while-testing`,children:`Run a few spare replicas while testing`}),`\n`,_jsx(_components.p,{children:`Some nodes start your container sooner than others. While you test, run 3 replicas and use whichever instance is running\nfirst. Instances are billed only while they are running, so the others cost nothing while they are still allocating or\ndownloading. When you are done, scale down or stop the container group so the spares don’t keep running.`}),`\n`,_jsx(Heading,{level:`2`,id:`protect-busy-instances-when-scaling-down`,children:`Protect busy instances when scaling down`}),`\n`,_jsxs(_components.p,{children:[`When you lower the replica count, or the Job Queue autoscaler does, SaladCloud chooses which instances to stop. Give an\ninstance that is working a higher\n`,_jsx(_components.a,{href:`/container-engine/explanation/infrastructure-platform/instance-deletion-cost`,children:`instance deletion cost`}),` so that idle\ninstances are stopped first. The deletion cost applies only to scaling down. It doesn’t protect an instance from a node\ninterruption.`]}),`\n`,_jsx(Heading,{level:`2`,id:`test-first-then-attach-the-job-queue-autoscaler`,children:`Test first, then attach the Job Queue autoscaler`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`/container-engine/explanation/infrastructure-platform/autoscaling`,children:`Job Queue autoscaler`}),` sets the replica count\nitself, from the queue length, so it overrides any spare replicas you set for testing. Create the container group with a\nfixed replica count, get jobs running end to end with the steps above, and then add `,_jsx(_components.code,{children:`queue_autoscaler`}),` with an update.\n`,_jsx(_components.a,{href:`/container-engine/how-to-guides/autoscaling/enable-autoscaling`,children:`Enable Autoscaling`}),` shows the update request.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-pages`,children:`Related pages`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/container-engine/how-to-guides/troubleshooting`,children:`Troubleshooting`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/container-engine/explanation/container-groups/deployment-lifecycle`,children:`Deployment Lifecycle`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/container-engine/how-to-guides/job-processing/queue-worker`,children:`Job Queue Worker`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Cold Starts and Iterating Quickly","sidebarTitle":"Cold Starts and Iterating","description":"Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.","href":"/container-engine/how-to-guides/cold-starts-and-iterating-quickly"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prove the plumbing with a small image first","slug":"prove-the-plumbing-with-a-small-image-first","depth":2,"children":[]},{"title":"Debug startup by hand","slug":"debug-startup-by-hand","depth":2,"children":[]},{"title":"Run a few spare replicas while testing","slug":"run-a-few-spare-replicas-while-testing","depth":2,"children":[]},{"title":"Protect busy instances when scaling down","slug":"protect-busy-instances-when-scaling-down","depth":2,"children":[]},{"title":"Test first, then attach the Job Queue autoscaler","slug":"test-first-then-attach-the-job-queue-autoscaler","depth":2,"children":[]},{"title":"Related pages","slug":"related-pages","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/salad/4a7f0413c61b75a8/site-scripts/helpscout.js","/_mintlify/custom/salad/969fb03c373fd4ea/site-scripts/hubspot.js","/_mintlify/custom/salad/93b4d0bae5310d7b/site-scripts/mixpanel.js","/_mintlify/custom/salad/762698e4ad15ffc1/site-scripts/vimeo.js","/_mintlify/custom/salad/4a9dce76fa120355/scripts/add-metadata-header.js","/_mintlify/custom/salad/ec690830dcac8b9c/scripts/validate-agent-operations.js"],"subdomain":"salad","siteName":"SaladCloud","title":"Cold Starts and Iterating Quickly - SaladCloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-07T17:16:37.963Z","originalFileLocation":"container-engine/how-to-guides/cold-starts-and-iterating-quickly.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SaladCloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Cold Starts and Iterating Quickly - SaladCloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SaladCloud\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://salad.mintlify.app/_mintlify/api/og/v2?division=How-to+Guides\u0026amp;title=Cold+Starts+and+Iterating+Quickly\u0026amp;description=Keep+the+build%2C+deploy+and+debug+loop+short+on+SaladCloud%3A+test+with+a+small+image+first%2C+debug+startup+by+hand%2C+run+spare+replicas+while+testing%2C+and+attach+th\u0026amp;theme=efb3db7e1c2965c23b6d25f6\u0026amp;signature=52546d9580063c4a8eb6e0020c571a1622da15b0f9092e0073b566201a8fb968\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Cold Starts and Iterating Quickly - SaladCloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://salad.mintlify.app/_mintlify/api/og/v2?division=How-to+Guides\u0026amp;title=Cold+Starts+and+Iterating+Quickly\u0026amp;description=Keep+the+build%2C+deploy+and+debug+loop+short+on+SaladCloud%3A+test+with+a+small+image+first%2C+debug+startup+by+hand%2C+run+spare+replicas+while+testing%2C+and+attach+th\u0026amp;theme=efb3db7e1c2965c23b6d25f6\u0026amp;signature=52546d9580063c4a8eb6e0020c571a1622da15b0f9092e0073b566201a8fb968\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SaladCloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#53A626\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/container-engine/how-to-guides/cold-starts-and-iterating-quickly.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.salad.com/#organization\",\"name\":\"SaladCloud\",\"url\":\"https://docs.salad.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/salad/EawwuVEIAqrvltQ2/logo/light.svg?fit=max\u0026auto=format\u0026n=EawwuVEIAqrvltQ2\u0026q=85\u0026s=1ad3f967dcd4a77e38b71e493c2bb856\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.salad.com#website\",\"name\":\"SaladCloud\",\"url\":\"https://docs.salad.com\",\"publisher\":{\"@id\":\"https://docs.salad.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly#webpage\",\"url\":\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly\",\"name\":\"Cold Starts and Iterating Quickly\",\"description\":\"Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.\",\"dateModified\":\"2026-10-07T17:16:37.963Z\",\"isPartOf\":{\"@id\":\"https://docs.salad.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"How-to Guides\",\"item\":\"https://docs.salad.com/container-engine/how-to-guides/managing-deployments\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cold Starts and Iterating Quickly\",\"item\":\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly#article\",\"headline\":\"Cold Starts and Iterating Quickly\",\"name\":\"Cold Starts and Iterating Quickly\",\"description\":\"Keep the build, deploy and debug loop short on SaladCloud: test with a small image first, debug startup by hand, run spare replicas while testing, and attach the Job Queue autoscaler last.\",\"url\":\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly\",\"mainEntityOfPage\":{\"@id\":\"https://docs.salad.com/container-engine/how-to-guides/cold-starts-and-iterating-quickly#webpage\"},\"dateModified\":\"2026-10-07T17:16:37.963Z\",\"publisher\":{\"@id\":\"https://docs.salad.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.salad.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SaladCloud\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SaladCloud","nav":{"global":null,"tabs":[{"tab":"General","pages":[{"title":"General","href":""}]},{"tab":"Agent Operations","hidden":true,"searchable":true,"pages":[{"title":"Agent Operations","href":"/agents/overview"}]},{"tab":"Container Engine","groups":[{"group":"Explanation","pages":[{"group":"Core Concepts","pages":[{"title":"Salad Container Engine Overview: How SaladCloud Works","sidebarTitle":"Overview","href":"/container-engine/explanation/core-concepts/overview"},{"title":"SCE Architectural Overview","sidebarTitle":"Distributed Architecture","href":"/container-engine/explanation/core-concepts/architectural-overview"},{"title":"Service Performance and Reliability Overview","sidebarTitle":"Performance and Reliability","href":"/container-engine/explanation/core-concepts/service-performance"},{"title":"Container Engine Recipes","sidebarTitle":"Recipes","href":"/container-engine/explanation/core-concepts/recipes-overview"},{"title":"Containers vs VPS","href":"/container-engine/explanation/core-concepts/container-vs-vps"},{"title":"Salad Container Engine FAQs","sidebarTitle":"FAQs","href":"/container-engine/explanation/core-concepts/faqs"}]},{"group":"Container Groups","pages":[{"title":"Container Groups","sidebarTitle":"Overview","href":"/container-engine/explanation/container-groups/container-groups"},{"title":"The Deployment Lifecycle","sidebarTitle":"Deployment Lifecycle","href":"/container-engine/explanation/container-groups/deployment-lifecycle"},{"title":"Disk Space","href":"/container-engine/explanation/container-groups/disk-space"},{"title":"SSH \u0026 Terminal Access","href":"/container-engine/explanation/container-groups/ssh-and-terminal"},{"title":"Container Logs","href":"/container-engine/explanation/container-groups/container-logs"},{"title":"CPU and RAM Utilization","sidebarTitle":"CPU \u0026 RAM Utilization","href":"/container-engine/explanation/container-groups/resource-utilization"},{"title":"System Events","href":"/container-engine/explanation/container-groups/system-events"}]},{"group":"Infrastructure \u0026 Platform","pages":[{"title":"Availability","sidebarTitle":"Availability","href":"/container-engine/explanation/infrastructure-platform/availability"},{"title":"Container Registries","sidebarTitle":"Registries","href":"/container-engine/explanation/infrastructure-platform/container-registries"},{"title":"Log Explorer","href":"/container-engine/explanation/infrastructure-platform/log-explorer"},{"title":"External Logging","href":"/container-engine/explanation/infrastructure-platform/external-logging"},{"title":"Networking / Container Gateway","sidebarTitle":"Networking","href":"/container-engine/explanation/infrastructure-platform/networking"},{"title":"Health Probes","href":"/container-engine/explanation/infrastructure-platform/health-probes"},{"title":"Startup Probes","href":"/container-engine/explanation/infrastructure-platform/startup-probes"},{"title":"Readiness Probes","href":"/container-engine/explanation/infrastructure-platform/readiness-probes"},{"title":"Liveness Probes","href":"/container-engine/explanation/infrastructure-platform/liveness-probes"},{"title":"Instance Metadata Service (IMDS) Overview","sidebarTitle":"IMDS","href":"/container-engine/explanation/infrastructure-platform/imds"},{"title":"Instance Deletion Cost","href":"/container-engine/explanation/infrastructure-platform/instance-deletion-cost"},{"title":"Job Queue Autoscaling Overview","sidebarTitle":"Job Queue Autoscaling","href":"/container-engine/explanation/infrastructure-platform/autoscaling"}]},{"group":"Billing \u0026 Pricing","pages":[{"title":"Salad Container Engine Billing","sidebarTitle":"SCE Billing","href":"/container-engine/explanation/billing-pricing/billing"},{"title":"Priority Pricing","href":"/container-engine/explanation/billing-pricing/priority-pricing"}]},{"group":"Networking \u0026 Gateway","pages":[{"title":"Load Balancing Options","href":"/container-engine/explanation/gateway/load-balancer-options"},{"title":"WebSockets","href":"/container-engine/explanation/gateway/websockets"},{"title":"Error Pages","href":"/container-engine/explanation/gateway/error-pages"}]},{"group":"Job Processing","pages":[{"title":"Long-Running Tasks Solution Overview","sidebarTitle":"Long-Running Tasks","href":"/container-engine/explanation/job-processing/long-running-tasks"},{"title":"Salad Job Queues","href":"/container-engine/explanation/job-processing/job-queues"}]},{"group":"Platform Integrations","pages":[{"title":"Virtual Kubelet Solution Overview","sidebarTitle":"Virtual Kubelet","href":"/container-engine/explanation/platform-integrations/kubernetes-integration"},{"title":"Tailscale Solution Overview","sidebarTitle":"Tailscale","href":"/container-engine/explanation/platform-integrations/tailscale-integration"}]},{"group":"AI \u0026 Machine Learning","pages":[{"title":"LLM Inference on SaladCloud","sidebarTitle":"LLM Inference","href":"/container-engine/explanation/ai-machine-learning/llm-overview"},{"title":"Image Generation On SaladCloud","sidebarTitle":"Image Generation","href":"/container-engine/explanation/ai-machine-learning/image-generation-overview"},{"title":"YOLOv8","sidebarTitle":"Computer Vision","href":"/container-engine/explanation/ai-machine-learning/computer-vision-overview"}]}]},{"group":"Tutorials","pages":[{"title":"Quickstart","sidebarTitle":"Quickstart","href":"/container-engine/tutorials/quickstart"},{"title":"Quickstart - API","sidebarTitle":"Quickstart - API","href":"/container-engine/tutorials/quickstart-api"},{"group":"Getting Started","pages":[{"title":"Using our preset Ubuntu image","sidebarTitle":"Ubuntu Image","href":"/container-engine/tutorials/getting-started/ubuntu-image"},{"title":"Using our preset example image","sidebarTitle":"Example Image","href":"/container-engine/tutorials/getting-started/example-image"}]},{"group":"Deployment","pages":[{"title":"Docker Run on SaladCloud","sidebarTitle":"Docker Run","href":"/container-engine/tutorials/deployment/docker-run"},{"title":"Run a Python App","sidebarTitle":"Python App","hidden":false,"href":"/container-engine/tutorials/deployment/run-a-python-app"}]},{"group":"Node.js","pages":[{"title":"Create a container","sidebarTitle":"Create Container","href":"/container-engine/tutorials/nodejs/create-a-container"},{"title":"How to deploy a Node App on SaladCloud","sidebarTitle":"Deploy Node App","href":"/container-engine/tutorials/nodejs/how-to-deploy-a-node-app-on-salad"},{"title":"Create Your first \"hello world\"","sidebarTitle":"Create Hello World","href":"/container-engine/tutorials/nodejs/create-your-first-hello-world"},{"title":"Save to docker hub","sidebarTitle":"Save to Docker Hub","href":"/container-engine/tutorials/nodejs/save-to-docker-hub"},{"title":"Deploy via portal","sidebarTitle":"Deploy via Portal","href":"/container-engine/tutorials/nodejs/deploy-via-portal"},{"title":"Deploy via API","sidebarTitle":"Deploy via API","href":"/container-engine/tutorials/nodejs/deploy-via-api"}]},{"group":"Machine Learning","pages":[{"title":"Running PyTorch on RTX 5090 and 5080 GPUs","sidebarTitle":"PyTorch RTX 5090/5080","href":"/container-engine/tutorials/machine-learning/pytorch-rtx5090"},{"title":"Run PyTorch on AMD GPUs with ROCm","sidebarTitle":"PyTorch on AMD GPUs","href":"/container-engine/tutorials/machine-learning/pytorch-amd-rocm"},{"title":"Run NVIDIA Triton Server on SaladCloud","sidebarTitle":"NVIDIA Triton Server","href":"/container-engine/tutorials/machine-learning/run-triton-server"},{"title":"Run Cog Applications on SaladCloud","sidebarTitle":"Cog Applications","href":"/container-engine/tutorials/machine-learning/run-cog"},{"title":"Run JupyterLab","sidebarTitle":"JupyterLab","hidden":false,"href":"/container-engine/tutorials/machine-learning/jupyterlab"},{"title":"Truss Deployment Guide to SaladCloud Portal and API","sidebarTitle":"Truss Deployment","href":"/container-engine/tutorials/machine-learning/how-to-deploy-a-truss-container-to-salad-portal-and-api"},{"title":"LLM Fine-tuning on SaladCloud","sidebarTitle":"LLM Fine-tuning","href":"/container-engine/tutorials/machine-learning/llm-fine-tuning"}]},{"group":"Computer Vision","pages":[{"title":"YOLOv8 QuickStart Guide","sidebarTitle":"YOLOv8 QuickStart","href":"/container-engine/tutorials/computer-vision/yolov8-quickstart"},{"title":"Deployment Guide","sidebarTitle":"YOLOv8 Deployment","href":"/container-engine/tutorials/computer-vision/yolov8-deployment-tutorial"},{"title":"Training a custom YOLOv8 model","sidebarTitle":"YOLOv8 Model Training","href":"/container-engine/tutorials/computer-vision/yolov8-model-training"}]},{"group":"Development Tools","pages":[{"title":"VS Code Remote Development on SaladCloud","sidebarTitle":"VS Code Remote Dev","href":"/container-engine/tutorials/development-tools/vscode-remote-development"},{"title":"How to Use the SaladCloud Terminal","sidebarTitle":"Interactive Terminal","href":"/container-engine/tutorials/development-tools/interactive-terminal"}]},{"group":"Security","pages":[{"title":"Enable JWT Authentication","sidebarTitle":"JWT Authentication","href":"/container-engine/tutorials/security/jwt-authentication"}]},{"group":"Performance","pages":[{"title":"Implementing Performance Monitoring","sidebarTitle":"Performance Monitoring","href":"/container-engine/tutorials/performance/performance-monitoring"},{"title":"Checking Network Bandwidth Before Startup","sidebarTitle":"Network Bandwidth Checks","href":"/container-engine/tutorials/performance/network-bandwidth-checks"},{"title":"Build High-Performance Applications","sidebarTitle":"High-Performance Apps","href":"/container-engine/tutorials/performance/high-performance-apps"},{"title":"Build High-Performance Storage Solutions","sidebarTitle":"High-Performance Storage","href":"/container-engine/tutorials/performance/high-performance-storage-solutions"}]}]},{"group":"How-to Guides","pages":[{"title":"Managing Deployments","href":"/container-engine/how-to-guides/managing-deployments"},{"title":"Deployment Strategies","href":"/container-engine/how-to-guides/deployment-strategies"},{"title":"Using Environment Variables","href":"/container-engine/how-to-guides/environment-variables"},{"title":"Specifying a command","description":null,"href":"/container-engine/how-to-guides/specifying-a-command"},{"title":"Cold Starts and Iterating Quickly","sidebarTitle":"Cold Starts and Iterating","href":"/container-engine/how-to-guides/cold-starts-and-iterating-quickly"},{"title":"Troubleshooting Salad Container Engine Workloads","sidebarTitle":"Troubleshooting","description":"Fix common Salad Container Engine problems, including image pulls, quota and create errors, allocation, start failures, readiness, Container Gateway errors, SSH, logs, and job queues.","href":"/container-engine/how-to-guides/troubleshooting"},{"group":"Container Registries","pages":[{"title":"Dockerhub","href":"/container-engine/how-to-guides/registries/dockerhub"},{"title":"Amazon Elastic Container Registry (ECR)","sidebarTitle":"AWS ECR","href":"/container-engine/how-to-guides/registries/aws-ecr"},{"title":"Azure Container Registry","sidebarTitle":"Azure ACR","href":"/container-engine/how-to-guides/registries/azure-acr"},{"title":"Google Artifact Registry","sidebarTitle":"Google GAR","href":"/container-engine/how-to-guides/registries/gcp-gar"},{"title":"GitHub Container Registry","sidebarTitle":"GitHub GHCR","href":"/container-engine/how-to-guides/registries/github-ghcr"},{"title":"Quay Container Registry","sidebarTitle":"Quay","href":"/container-engine/how-to-guides/registries/quay"}]},{"group":"Autoscaling \u0026 Resource Management","pages":[{"title":"Autoscaling On SaladCloud","sidebarTitle":"Autoscaling Overview","href":"/container-engine/how-to-guides/autoscaling/overview"},{"title":"Set Up Container Group Autoscaling with Job Queues","sidebarTitle":"Job Queue Autoscaling","href":"/container-engine/how-to-guides/autoscaling/enable-autoscaling"},{"title":"Scheduled Scaling (Time of Day)","sidebarTitle":"Scheduled Scaling","href":"/container-engine/how-to-guides/autoscaling/time-of-day-scaling"},{"title":"Hardware Utilization-Based Autoscaling for Container Groups","sidebarTitle":"Hardware Utilization Autoscaling","href":"/container-engine/how-to-guides/autoscaling/hardware-metrics-scaling"}]},{"group":"Gateway \u0026 Networking","pages":[{"title":"Enabling IPv6","href":"/container-engine/how-to-guides/gateway/enabling-ipv6"},{"title":"Authenticated Requests","href":"/container-engine/how-to-guides/gateway/sending-requests"}]},{"group":"AI \u0026 Machine Learning","pages":[{"title":"Run Hugging Face Models with Ollama (45,000 models)","sidebarTitle":"HF Models with Ollama","href":"/container-engine/how-to-guides/ai-machine-learning/run-hugging-face-models-with-ollama"},{"title":"Run Ollama","href":"/container-engine/how-to-guides/ai-machine-learning/run-ollama"},{"title":"Run TGI (Text Generation Interface) by Hugging Face","sidebarTitle":"Run TGI","hidden":false,"href":"/container-engine/how-to-guides/ai-machine-learning/run-tgi-text-generation-interface"},{"title":"Deploy Image and Video Generation with ComfyUI","sidebarTitle":"ComfyUI Deployment","href":"/container-engine/how-to-guides/ai-machine-learning/deploy-stable-diffusion-comfy"},{"title":"Create and Deploy A Video Generation API on SaladCloud","sidebarTitle":"Video Generation API","href":"/container-engine/how-to-guides/ai-machine-learning/deploy-video-generation-comfy"},{"title":"How to Manage A Large Number of Stable Diffusion Models","sidebarTitle":"Manage SD Models","href":"/container-engine/how-to-guides/ai-machine-learning/manage-stable-diffusion-models"},{"title":"Image Captioning with Vision Language Models","sidebarTitle":"Image Captioning (VLM)","href":"/container-engine/how-to-guides/ai-machine-learning/image-captioning-vlm"},{"title":"Deploy BLIP with Cog HTTP Prediction Server","sidebarTitle":"Deploy BLIP with Cog","href":"/container-engine/how-to-guides/ai-machine-learning/deploy-blip-cog"},{"title":"Batch Processing","href":"/container-engine/how-to-guides/ai-machine-learning/yolov8-batch-processing"},{"title":"MetaVoice TTS with Voice Cloning Guide","sidebarTitle":"MetaVoice TTS","href":"/container-engine/how-to-guides/ai-machine-learning/metavoice-tts-voice-cloning"},{"title":"OpenVoice Text-to-Speech and Voice Cloning Guide","sidebarTitle":"OpenVoice TTS","href":"/container-engine/how-to-guides/ai-machine-learning/openvoice-tts-voice-cloning"},{"title":"Transcribe YouTube Videos","sidebarTitle":"YouTube Transcription","hidden":false,"href":"/container-engine/how-to-guides/ai-machine-learning/youtube-transcription-pipeline"}]},{"group":"OpenClaw","pages":[{"title":"OpenClaw on SaladCloud Overview","sidebarTitle":"Overview","href":"/container-engine/how-to-guides/openclaw/overview"},{"title":"OpenClaw + Ollama (Salad Hosted) + Telegram","sidebarTitle":"OpenClaw + Ollama + Telegram","href":"/container-engine/how-to-guides/openclaw/openclaw-ollama-salad-hosted-telegram"}]},{"group":"Job Processing \u0026 Queues","pages":[{"title":"Creating a Job Queue","href":"/container-engine/how-to-guides/job-processing/creating-a-job-queue"},{"title":"Using Queues","href":"/container-engine/how-to-guides/job-processing/using-queues"},{"title":"Job Queue Worker","href":"/container-engine/how-to-guides/job-processing/queue-worker"},{"title":"Validating Webhook Signatures","sidebarTitle":"Webhook Signatures","href":"/container-engine/how-to-guides/job-processing/webhook-signature"},{"title":"Use SaladCloud's Container Gateway","sidebarTitle":"Container Gateway","href":"/container-engine/how-to-guides/job-processing/use-container-gateway"},{"title":"Build Your Own Redis-Based Queue","sidebarTitle":"Redis Queue","href":"/container-engine/how-to-guides/job-processing/build-redis-queue"},{"title":"🐕 Salad Kelpie","href":"/container-engine/how-to-guides/job-processing/kelpie"},{"title":"GCP Pub/Sub and SaladCloud","sidebarTitle":"GCP Pub/Sub","href":"/container-engine/how-to-guides/job-processing/gcp-pub-sub"},{"title":"RabbitMQ and SaladCloud","sidebarTitle":"RabbitMQ","href":"/container-engine/how-to-guides/job-processing/rabbitmq"},{"title":"SQS and SaladCloud","sidebarTitle":"AWS SQS","href":"/container-engine/how-to-guides/job-processing/sqs"}]},{"group":"Monitoring \u0026 Logging","pages":[{"title":"Logging Best Practices","href":"/container-engine/how-to-guides/external-logging/best-practices"},{"title":"Axiom","href":"/container-engine/how-to-guides/external-logging/axiom"},{"title":"Datadog","href":"/container-engine/how-to-guides/external-logging/datadog"},{"title":"HTTP","href":"/container-engine/how-to-guides/external-logging/http"},{"title":"New Relic","href":"/container-engine/how-to-guides/external-logging/new-relic"},{"title":"Splunk","href":"/container-engine/how-to-guides/external-logging/splunk-logging"},{"title":"TCP","href":"/container-engine/how-to-guides/external-logging/tcp-logging"}]},{"group":"Advanced Features","pages":[{"title":"Obtaining an IMDS JWT","sidebarTitle":"Get IMDS JWT","href":"/container-engine/how-to-guides/imds/obtaining-an-imds-jwt"},{"title":"Using IMDS to get the status of a replica","sidebarTitle":"Get Replica Status","href":"/container-engine/how-to-guides/imds/container-status-endpoint"},{"title":"Using IMDS to reallocate a replica","sidebarTitle":"Reallocate Replica","href":"/container-engine/how-to-guides/imds/imds-reallocate"}]},{"group":"Migration","pages":[{"title":"AWS Batch to SaladCloud Migration Guide","sidebarTitle":"From AWS Batch","href":"/container-engine/how-to-guides/migration/migrate-from-aws-batch"},{"title":"Lambda (lambda.ai) to SaladCloud Migration Guide","sidebarTitle":"From Lambda (lambda.ai)","href":"/container-engine/how-to-guides/migration/migrate-from-lambda-cloud"},{"title":"Vast.ai to SaladCloud Migration Guide","sidebarTitle":"From Vast.ai","href":"/container-engine/how-to-guides/migration/migrate-from-vast"},{"title":"RunPod to SaladCloud Migration Guide","sidebarTitle":"From RunPod","href":"/container-engine/how-to-guides/migration/migrate-from-runpod"}]},{"group":"Platform Integrations","pages":[{"title":"Installation Using the Helm Chart","sidebarTitle":"Helm Chart Installation","href":"/container-engine/how-to-guides/platform-integrations/installation-helm-chart"},{"title":"Application Deployment","href":"/container-engine/how-to-guides/platform-integrations/application-deployment"},{"title":"Service Access","href":"/container-engine/how-to-guides/platform-integrations/service-access"},{"title":"Add Tailscale Support into SaladCloud Workloads","sidebarTitle":"Tailscale Integration","href":"/container-engine/how-to-guides/platform-integrations/tailscale-basic"}]},{"group":"Specialized Workloads","pages":[{"title":"Run GROMACS on SaladCloud","sidebarTitle":"GROMACS","href":"/container-engine/how-to-guides/molecular-dynamics-simulation/gromacs-srcg"},{"title":"Run GROMACS on SaladCloud","sidebarTitle":"GROMACS with Job Queue","href":"/container-engine/how-to-guides/molecular-dynamics-simulation/gromacs-job-queue"},{"title":"Run OpenMM on SaladCloud","sidebarTitle":"OpenMM","href":"/container-engine/how-to-guides/molecular-dynamics-simulation/openmm-srcg"},{"title":"Run Blender on SaladCloud – Input Data Organization and Migration","sidebarTitle":"Rendering - Blender","href":"/container-engine/how-to-guides/rendering/blender-input"},{"title":"Run Custom ZK Proofs on SaladCloud","sidebarTitle":"Zero-Knowledge Proofs","href":"/container-engine/how-to-guides/zero-knowledge-proofs/custom-zk-proofs"},{"title":"Run Miners on SaladCloud","sidebarTitle":"Miners","href":"/container-engine/how-to-guides/miners/run-miners-on-saladcloud"}]}]},{"group":"Storage","pages":[{"title":"Salad Simple Storage Service","href":"/storage/explanation/overview"},{"title":"API Reference","url":"/reference/s4","href":"/storage/reference/api"}]},{"group":"Reference","pages":[{"title":"API Reference","url":"/reference/saladcloud-api/container-groups","href":"/container-engine/reference/api"},{"title":"AMD GPUs and ROCm","sidebarTitle":"AMD GPUs","href":"/container-engine/reference/amd-gpus"},{"group":"Recipes","pages":[{"title":"Recipe API Reference","sidebarTitle":"Recipes","href":"/container-engine/reference/recipes/overview"},{"title":"AI Toolkit: Flux 1 Dev","href":"/container-engine/reference/recipes/ai-toolkit"},{"title":"ComfyUI API Recipes","sidebarTitle":"ComfyUI API","href":"/container-engine/reference/recipes/comfyui"},{"title":"GROMACS Kelpie Recipe","sidebarTitle":"GROMACS Kelpie","href":"/container-engine/reference/recipes/gromacs-kelpie"},{"title":"GROMACS Playground Environment Recipe","sidebarTitle":"GROMACS","href":"/container-engine/reference/recipes/gromacs-srcg"},{"title":"Kokoro TTS API","sidebarTitle":"Kokoro TTS API","href":"/container-engine/reference/recipes/kokoro-tts-api"},{"title":"Kuzco Worker on SaladCloud","sidebarTitle":"Kuzco Worker","href":"/container-engine/reference/recipes/kuzco"},{"title":"llama.cpp Recipe","sidebarTitle":"llama.cpp","href":"/container-engine/reference/recipes/llama-cpp"},{"title":"Gemma 4 31B with llama.cpp","sidebarTitle":"Gemma 4 31B (llama.cpp)","href":"/container-engine/reference/recipes/gemma-4-31b-it-llama-cpp"},{"title":"lolMiner GPU Miner","sidebarTitle":"lolMiner GPU Miner","href":"/container-engine/reference/recipes/lolminer"},{"title":"MCProxy Browser Server","sidebarTitle":"MCProxy","href":"/container-engine/reference/recipes/mcproxy"},{"title":"Ollama Recipes","sidebarTitle":"Ollama","href":"/container-engine/reference/recipes/ollama"},{"title":"OpenMM Playground Environment Recipe","sidebarTitle":"OpenMM","href":"/container-engine/reference/recipes/openmm-srcg"},{"title":"Quai Miner","href":"/container-engine/reference/recipes/quai"},{"title":"Qwen3.5-35B-A3B with llama.cpp Recipe","sidebarTitle":"Qwen3.5-35B-A3B","href":"/container-engine/reference/recipes/qwen3.5-35b-a3b-llama-cpp"},{"title":"Qwen3.6-35B-A3B with llama.cpp Recipe","sidebarTitle":"Qwen3.6-35B-A3B","href":"/container-engine/reference/recipes/qwen3.6-35b-a3b-llama-cpp"},{"title":"Qwen3.6-27B-unsloth with llama.cpp recipe","sidebarTitle":"Qwen3.6-27B","href":"/container-engine/reference/recipes/qwen3.6-27b-llama-cpp"},{"title":"Qwen3.5-9B with llama.cpp","sidebarTitle":"Qwen3.5-9B","href":"/container-engine/reference/recipes/qwen3.5-9b-llama-cpp"},{"title":"Qwen3.5-9B with SGLang","sidebarTitle":"Qwen3.5-9B (SGLang)","href":"/container-engine/reference/recipes/qwen3.5-9b-sglang"},{"title":"SGLang Recipe","sidebarTitle":"SGLang","href":"/container-engine/reference/recipes/sglang"},{"title":"RISC Zero (Kelpie) Recipe","sidebarTitle":"RISC Zero (Kelpie)","href":"/container-engine/reference/recipes/risc0"},{"title":"SAM3 Segmentation API Recipe","sidebarTitle":"SAM3 Segmentation API","href":"/container-engine/reference/recipes/sam3"},{"title":"Sogni Fast Worker Recipe","sidebarTitle":"Sogni Fast Worker","href":"/container-engine/reference/recipes/sogni-fast-worker"},{"title":"SpotWarp Checkpoint Backup and Restore Recipe","sidebarTitle":"SpotWarp","href":"/container-engine/reference/recipes/spotwarp"},{"title":"BGE-M3 Embeddings with Text Embeddings Inference","sidebarTitle":"BGE-M3 Embeddings","href":"/container-engine/reference/recipes/tei-bge-m3"},{"title":"BGE Reranker with Text Embeddings Inference","sidebarTitle":"BGE Reranker","href":"/container-engine/reference/recipes/tei-bge-reranker-v2-m3"},{"title":"Text Generation Inference (TGI) API Recipes","sidebarTitle":"Text Generation Inference (TGI)","href":"/container-engine/reference/recipes/tgi"},{"title":"Ubuntu 24.04 Development Environment Recipe","sidebarTitle":"Ubuntu 24.04","href":"/container-engine/reference/recipes/ubuntu"},{"title":"Unsloth Fine-Tuning (Kelpie) Recipe","sidebarTitle":"Unsloth Fine-Tuning (Kelpie)","href":"/container-engine/reference/recipes/unsloth-finetune"},{"title":"Unsloth Inference Recipe","sidebarTitle":"Unsloth Inference","href":"/container-engine/reference/recipes/unsloth-inference"},{"title":"vLLM on SaladCloud Community","sidebarTitle":"vLLM","href":"/container-engine/reference/recipes/vllm"},{"title":"Wan 2.2 TI2V-5B (Kelpie) Recipe","sidebarTitle":"Wan 2.2 TI2V-5B (Kelpie)","href":"/container-engine/reference/recipes/wan-5b"},{"title":"YOLO Inference API Recipes","sidebarTitle":"YOLO Inference API","href":"/container-engine/reference/recipes/yolo"}]},{"group":"Autoscaling","pages":[{"title":"Job Queue Autoscaling Settings","href":"/container-engine/reference/autoscaling/settings"}]},{"title":"Log Queries","href":"/container-engine/reference/log-queries"},{"title":"Quotas","href":"/container-engine/reference/quotas"}]}]},{"tab":"Transcription","pages":[{"title":"Transcription","href":"/transcription/explanation/overview"}]},{"tab":"AI Gateway","pages":[{"title":"AI Gateway","href":"/ai-gateway/explanation/overview"}]},{"tab":"Gateway Service (SGS)","pages":[{"title":"Gateway Service (SGS)","href":"/gateway-service/explanation/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/api-usage"}]},{"tab":"Support","pages":[{"title":"Support","href":"/support"}]}]},"title":"Cold Starts and Iterating Quickly - SaladCloud","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":[],"chunks":[]}