[{"data":1,"prerenderedAt":433},["ShallowReactive",2],{"docs-en-platform\u002Fweb-services\u002Fbuild-strategies":3,"docs-navigation-en":183,"docs-surround-en-platform\u002Fweb-services\u002Fbuild-strategies":426},{"id":4,"title":5,"body":6,"description":173,"extension":174,"lastUpdated":175,"meta":176,"navigation":177,"path":179,"seo":180,"stem":181,"__hash__":182},"docs\u002Fen\u002F1.docs\u002F2.platform\u002F2.web-services\u002F02.build-strategies.md","Build Strategies",{"type":7,"value":8,"toc":167},"minimark",[9,13,22,74,81,84,88,101,164],[10,11,5],"h2",{"id":12},"build-strategies",[14,15,16,17,21],"p",{},"When the source is a Git repository, you choose how the image is built. Switch between strategies with the ",[18,19,20],"strong",{},"Build Method"," toggle.",[23,24,25,38],"table",{},[26,27,28],"thead",{},[29,30,31,35],"tr",{},[32,33,34],"th",{},"Strategy",[32,36,37],{},"What it does",[39,40,41,56],"tbody",{},[29,42,43,49],{},[44,45,46],"td",{},[18,47,48],{},"Railpack",[44,50,51,52,55],{},"Auto-detects your language and builds a production image. Supports Node.js, Python, Go, Ruby, Java, PHP, Rust and more. The ",[18,53,54],{},"Stack Detection"," card shows a live preview of what Railpack found in your repo, including the detected port.",[29,57,58,63],{},[44,59,60],{},[18,61,62],{},"Dockerfile",[44,64,65,66,69,70,73],{},"Uses the Dockerfile in your repository. A separate ",[18,67,68],{},"Dockerfile Path"," field appears, defaulting to ",[71,72,62],"code",{},". Change it if yours sits elsewhere.",[14,75,76,77,80],{},"The optional ",[18,78,79],{},"Project Root"," field lets you build a subdirectory of a monorepo. Leave it empty to build from the repository root.",[14,82,83],{},"Builds run on a fresh, ephemeral build machine and produce a container image that lowcloud pushes to your project's private registry. The container in your project pulls the image from there.",[10,85,87],{"id":86},"build-output-settings","Build & Output Settings",[14,89,90,91,93,94,96,97,100],{},"With ",[18,92,48],{},", lowcloud auto-detects the install, build, and start commands as well as the port. You can override any of them: open ",[18,95,87],{}," and turn on the ",[18,98,99],{},"Override"," toggle next to the field.",[23,102,103,112],{},[26,104,105],{},[29,106,107,110],{},[32,108,109],{},"Field",[32,111,37],{},[39,113,114,128,141,154],{},[29,115,116,121],{},[44,117,118],{},[18,119,120],{},"Install Command",[44,122,123,124,127],{},"Command that installs your dependencies (e.g. ",[71,125,126],{},"npm ci",").",[29,129,130,135],{},[44,131,132],{},[18,133,134],{},"Build Command",[44,136,137,138,127],{},"Command for the build step (e.g. ",[71,139,140],{},"npm run build",[29,142,143,148],{},[44,144,145],{},[18,146,147],{},"Start Command",[44,149,150,151,127],{},"Command that starts your application (e.g. ",[71,152,153],{},"npm run start",[29,155,156,161],{},[44,157,158],{},[18,159,160],{},"Application Port",[44,162,163],{},"Port your application listens on inside the container.",[14,165,166],{},"Without an override, lowcloud uses the auto-detected values.",{"title":168,"searchDepth":169,"depth":169,"links":170},"",2,[171,172],{"id":12,"depth":169,"text":5},{"id":86,"depth":169,"text":87},"Build your web service from Git using Railpack auto-detection or a Dockerfile.","md","2026-06-19",{},{"icon":178},"i-lucide-hammer","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbuild-strategies",{"title":5,"description":173},"en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F02.build-strategies","VeTEDMs1MQkW2lUdZPY53yQnyRBhdXL_x6bagYFYKLI",[184,203,215,353,380,419],{"title":185,"path":186,"stem":187,"children":188,"icon":202},"Getting Started","\u002Fhosting\u002Fdocs\u002Fgetting-started","en\u002F1.docs\u002F1.getting-started\u002F1.index",[189,192,197],{"title":190,"path":186,"stem":187,"icon":191,"children":-1},"Introduction","i-lucide-house",{"title":193,"path":194,"stem":195,"icon":196,"children":-1},"Get Started","\u002Fhosting\u002Fdocs\u002Fgetting-started\u002Fget-started","en\u002F1.docs\u002F1.getting-started\u002F2.get-started","i-lucide-rocket",{"title":198,"path":199,"stem":200,"icon":201,"children":-1},"How It Works","\u002Fhosting\u002Fdocs\u002Fgetting-started\u002Fhow-it-works","en\u002F1.docs\u002F1.getting-started\u002F3.how-it-works","i-lucide-lightbulb",false,{"title":204,"path":205,"stem":206,"children":207,"icon":202},"Guides","\u002Fhosting\u002Fdocs\u002Fguides","en\u002F1.docs\u002F2.guides\u002F1.index",[208,210],{"title":204,"path":205,"stem":206,"icon":209,"children":-1},"i-lucide-book-open",{"title":211,"path":212,"stem":213,"icon":214,"children":-1},"Connect a Container Registry","\u002Fhosting\u002Fdocs\u002Fguides\u002Fcontainer-registries","en\u002F1.docs\u002F2.guides\u002F2.container-registries","i-lucide-container",{"title":216,"icon":202,"path":217,"stem":218,"children":219,"page":202},"Platform","\u002Fhosting\u002Fdocs\u002Fplatform","en\u002F1.docs\u002F2.platform",[220,240,304,343],{"title":190,"path":221,"stem":222,"children":223,"icon":202},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F1.index",[224,227,232,237],{"title":225,"path":221,"stem":222,"icon":226,"children":-1},"Overview","i-lucide-cloud",{"title":228,"path":229,"stem":230,"icon":231,"children":-1},"Use Cases","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fwhen-to-use","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F2.when-to-use","i-lucide-compass",{"title":233,"path":234,"stem":235,"icon":236,"children":-1},"Features","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fwhat-you-get","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F3.what-you-get","i-lucide-package-check",{"title":193,"path":238,"stem":239,"icon":196,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fget-started","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F4.get-started",{"title":241,"path":242,"stem":243,"children":244,"icon":202},"Web Services","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F01.index",[245,248,250,255,259,264,269,274,279,284,289,294,299],{"title":246,"path":242,"stem":243,"icon":247,"children":-1},"Source Options","i-lucide-app-window",{"title":5,"path":249,"stem":181,"icon":178,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbuild-strategies",{"title":251,"path":252,"stem":253,"icon":254,"children":-1},"Configuration","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconfiguration","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F03.configuration","i-lucide-settings",{"title":256,"path":257,"stem":258,"icon":196,"children":-1},"Deploying","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdeploying","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F04.deploying",{"title":260,"path":261,"stem":262,"icon":263,"children":-1},"Scaling","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fscaling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F05.scaling","i-lucide-scaling",{"title":265,"path":266,"stem":267,"icon":268,"children":-1},"Domains","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdomains","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F06.domains","i-lucide-globe",{"title":270,"path":271,"stem":272,"icon":273,"children":-1},"Service Networking","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconnecting-services","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F07.connecting-services","i-lucide-network",{"title":275,"path":276,"stem":277,"icon":278,"children":-1},"Env Variables","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fenvironment-variables","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F08.environment-variables","i-lucide-key-round",{"title":280,"path":281,"stem":282,"icon":283,"children":-1},"Storage","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fpersistent-storage","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F09.persistent-storage","i-lucide-hard-drive",{"title":285,"path":286,"stem":287,"icon":288,"children":-1},"Defaults","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Flimits","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F10.limits","i-lucide-gauge",{"title":290,"path":291,"stem":292,"icon":293,"children":-1},"Billing","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F11.billing","i-lucide-credit-card",{"title":295,"path":296,"stem":297,"icon":298,"children":-1},"Shell","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fshell","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F12.shell","i-lucide-square-terminal",{"title":300,"path":301,"stem":302,"icon":303,"children":-1},"Drop a Site","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdrop","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F13.drop","i-lucide-upload",{"title":305,"path":306,"stem":307,"children":308,"icon":202},"Databases","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F1.index",[309,312,317,322,327,330,335,340],{"title":310,"path":306,"stem":307,"icon":311,"children":-1},"Templates","i-lucide-database",{"title":313,"path":314,"stem":315,"icon":316,"children":-1},"Create","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fcreate","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F2.create","i-lucide-plus",{"title":318,"path":319,"stem":320,"icon":321,"children":-1},"Connect","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fconnect","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F3.connect","i-lucide-plug",{"title":323,"path":324,"stem":325,"icon":326,"children":-1},"Public Access","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fpublic-access","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F4.public-access","i-lucide-radio-tower",{"title":280,"path":328,"stem":329,"icon":283,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fstorage","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F5.storage",{"title":331,"path":332,"stem":333,"icon":334,"children":-1},"Management","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fmanagement","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F6.management","i-lucide-sliders-horizontal",{"title":336,"path":337,"stem":338,"icon":339,"children":-1},"Operations","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Foperational-notes","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F7.operational-notes","i-lucide-clipboard-list",{"title":290,"path":341,"stem":342,"icon":293,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F8.billing",{"title":204,"path":344,"stem":345,"children":346,"icon":202},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fguides","en\u002F1.docs\u002F2.platform\u002F4.guides\u002F1.index",[347,348],{"title":204,"path":344,"stem":345,"icon":209,"children":-1},{"title":349,"path":350,"stem":351,"icon":352,"children":-1},"Hermes Agent","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fguides\u002Fsetup-hermes-agent","en\u002F1.docs\u002F2.platform\u002F4.guides\u002F2.setup-hermes-agent","i-lucide-bot",{"title":354,"path":355,"stem":356,"children":357,"icon":202},"App Services","\u002Fhosting\u002Fdocs\u002Fapp-services","en\u002F1.docs\u002F3.app-services\u002F1.index",[358,359,363,367,371,376],{"title":354,"path":355,"stem":356,"icon":196,"children":-1},{"title":360,"path":361,"stem":362,"icon":254,"children":-1},"Build Settings","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fbuild-settings","en\u002F1.docs\u002F3.app-services\u002F2.build-settings",{"title":275,"path":364,"stem":365,"icon":366,"children":-1},"\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","en\u002F1.docs\u002F3.app-services\u002F3.environment-variables","i-lucide-key",{"title":368,"path":369,"stem":370,"icon":268,"children":-1},"Custom Domains","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fcustom-domains","en\u002F1.docs\u002F3.app-services\u002F4.custom-domains",{"title":372,"path":373,"stem":374,"icon":375,"children":-1},"Health Checks","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fhealth-checks","en\u002F1.docs\u002F3.app-services\u002F5.health-checks","i-lucide-heart-pulse",{"title":377,"path":378,"stem":379,"icon":263,"children":-1},"Autoscaling","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fautoscaling","en\u002F1.docs\u002F3.app-services\u002F6.autoscaling",{"title":381,"path":382,"stem":383,"children":384,"icon":202},"Helm Releases","\u002Fhosting\u002Fdocs\u002Fhelm-releases","en\u002F1.docs\u002F4.helm-releases\u002F1.index",[385,387,391,396,400,405,409,414],{"title":381,"path":382,"stem":383,"icon":386,"children":-1},"i-lucide-package",{"title":388,"path":389,"stem":390,"icon":311,"children":-1},"Deploy PostgreSQL","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-postgresql","en\u002F1.docs\u002F4.helm-releases\u002F2.deploy-postgresql",{"title":392,"path":393,"stem":394,"icon":395,"children":-1},"Deploy Redis","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-redis","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-redis","i-lucide-zap",{"title":397,"path":398,"stem":399,"icon":395,"children":-1},"Deploy Valkey","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-valkey","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-valkey",{"title":401,"path":402,"stem":403,"icon":404,"children":-1},"Deploy n8n","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-n8n","en\u002F1.docs\u002F4.helm-releases\u002F4.deploy-n8n","i-lucide-workflow",{"title":406,"path":407,"stem":408,"icon":283,"children":-1},"Deploy RustFS","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-rustfs","en\u002F1.docs\u002F4.helm-releases\u002F5.deploy-rustfs",{"title":410,"path":411,"stem":412,"icon":413,"children":-1},"Deploy OpenSearch","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","en\u002F1.docs\u002F4.helm-releases\u002F6.deploy-opensearch","i-lucide-search",{"title":415,"path":416,"stem":417,"icon":418,"children":-1},"Deploy Keycloak","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak","en\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak","i-lucide-shield-check",{"title":420,"path":421,"stem":422,"children":423,"icon":202},"Glossary","\u002Fhosting\u002Fdocs\u002Fglossary","en\u002F1.docs\u002F5.glossary\u002F1.index",[424],{"title":420,"path":421,"stem":422,"icon":425,"children":-1},"i-lucide-book-a",[427,430],{"title":246,"path":428,"stem":243,"description":429,"icon":247,"children":-1},"\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services","Pick a source for your web service on lowcloud Platform. GitHub repository, public Git URL, or a pre-built image.",{"title":251,"path":431,"stem":253,"description":432,"icon":254,"children":-1},"\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconfiguration","Web service settings. Name, port, branch, build paths, environment variables, container size.",1791184613448]