[{"data":1,"prerenderedAt":511},["ShallowReactive",2],{"docs-en-app-services\u002Fbuild-settings":3,"docs-navigation-en":261,"docs-surround-en-app-services\u002Fbuild-settings":504},{"id":4,"title":5,"body":6,"description":251,"extension":252,"lastUpdated":253,"meta":254,"navigation":255,"path":257,"seo":258,"stem":259,"__hash__":260},"docs\u002Fen\u002F1.docs\u002F3.app-services\u002F2.build-settings.md","Build Settings",{"type":7,"value":8,"toc":238},"minimark",[9,13,18,21,26,34,40,44,47,50,56,76,82,86,101,107,111,114,165,171,175,181,232],[10,11,12],"p",{},"The Build Settings define where your code comes from and how your app is built.",[14,15,17],"h2",{"id":16},"source-configuration","Source Configuration",[10,19,20],{},"The Source Configuration determines where your App Service gets its container image from. You can either connect a GitHub repository — lowcloud then automatically builds an image from your code — or use a pre-built Docker image directly from a container registry.",[22,23,25],"h3",{"id":24},"github-repository","GitHub Repository",[10,27,28,29,33],{},"Connect a GitHub repository to build your app directly from source code. The repository is selected when creating the App Service and cannot be changed afterwards. The ",[30,31,32],"strong",{},"branch"," can be adjusted at any time.",[10,35,36],{},[37,38],"img",{"alt":17,"src":39},"\u002Fimages\u002Fdocs\u002Flowcoud-source-configuration.png",[22,41,43],{"id":42},"docker-registry","Docker Registry",[10,45,46],{},"Instead of building from source code, you can use a pre-built Docker image directly from a container registry. The build step is skipped — the image is pulled directly from the registry during deployment.",[10,48,49],{},"The Dashboard shows the current image configuration at a glance — including image name, registry, and authentication status. The build step is skipped since the image is pulled directly from the registry.",[10,51,52],{},[37,53],{"alt":54,"src":55},"Source Configuration with Docker Image","\u002Fimages\u002Fdocs\u002Flowcloud-source-config-docker.png",[10,57,58,59,62,63,67,68,71,72,75],{},"In the edit dialog, you can adjust the ",[30,60,61],{},"Container Image URL"," — enter the full image name including registry, repository, and tag (e.g. ",[64,65,66],"code",{},"nginx",", ",[64,69,70],{},"ghcr.io\u002Fmy-org\u002Fmy-app:latest","). For private registries, enable ",[30,73,74],{},"Requires authentication"," and provide a username and password or token. Use personal access tokens instead of passwords when possible. Credentials are encrypted before storage.",[10,77,78],{},[37,79],{"alt":80,"src":81},"Edit Source Configuration Dialog","\u002Fimages\u002Fdocs\u002Flowcloud-edit-source-config-docker.png",[14,83,85],{"id":84},"build-configuration","Build Configuration",[10,87,88,89,92,93,96,97,100],{},"The Build Configuration defines how your app is built. This setting is only relevant when using a GitHub repository as the source. Additionally, you configure the ",[30,90,91],{},"Application Path",", the ",[30,94,95],{},"Container Registry"," for built images, and ",[30,98,99],{},"Push-to-Deploy"," here.",[10,102,103],{},[37,104],{"alt":105,"src":106},"Build Configuration Overview","\u002Fimages\u002Fdocs\u002Fbuild-config-railpack.png",[22,108,110],{"id":109},"railpack","Railpack",[10,112,113],{},"Railpack automatically detects the application type (Node.js, Python, Go, etc.) and builds the app without a Dockerfile. This is the simplest way to deploy an app — no build configuration required.",[115,116,117,130],"table",{},[118,119,120],"thead",{},[121,122,123,127],"tr",{},[124,125,126],"th",{},"Field",[124,128,129],{},"Description",[131,132,133,147,156],"tbody",{},[121,134,135,140],{},[136,137,138],"td",{},[30,139,91],{},[136,141,142,143,146],{},"Path to the app in the repository. ",[64,144,145],{},"."," for the root directory.",[121,148,149,153],{},[136,150,151],{},[30,152,95],{},[136,154,155],{},"The registry where the built image will be pushed.",[121,157,158,162],{},[136,159,160],{},[30,161,99],{},[136,163,164],{},"Automatically deploy when code is pushed to the configured branch.",[10,166,167],{},[37,168],{"alt":169,"src":170},"Edit Build Configuration — Railpack","\u002Fimages\u002Fdocs\u002Fedit-build-config-railpack.png",[22,172,174],{"id":173},"dockerfile","Dockerfile",[10,176,177,178,180],{},"If your app includes its own Dockerfile, you can set the build strategy to ",[30,179,174],{},". lowcloud builds the image using your Dockerfile.",[115,182,183,191],{},[118,184,185],{},[121,186,187,189],{},[124,188,126],{},[124,190,129],{},[131,192,193,203,216,224],{},[121,194,195,199],{},[136,196,197],{},[30,198,91],{},[136,200,142,201,146],{},[64,202,145],{},[121,204,205,210],{},[136,206,207],{},[30,208,209],{},"Dockerfile Path",[136,211,212,213,215],{},"Filename of the Dockerfile relative to the application path (default: ",[64,214,174],{},").",[121,217,218,222],{},[136,219,220],{},[30,221,95],{},[136,223,155],{},[121,225,226,230],{},[136,227,228],{},[30,229,99],{},[136,231,164],{},[10,233,234],{},[37,235],{"alt":236,"src":237},"Edit Build Configuration — Dockerfile","\u002Fimages\u002Fdocs\u002Fedit-buld-config-dockerfile.png",{"title":239,"searchDepth":240,"depth":240,"links":241},"",2,[242,247],{"id":16,"depth":240,"text":17,"children":243},[244,246],{"id":24,"depth":245,"text":25},3,{"id":42,"depth":245,"text":43},{"id":84,"depth":240,"text":85,"children":248},[249,250],{"id":109,"depth":245,"text":110},{"id":173,"depth":245,"text":174},"Learn how to configure the source and build settings of your App Service in lowcloud.","md","2026-04-03",{},{"icon":256},"i-lucide-settings","\u002Fen\u002Fdocs\u002Fapp-services\u002Fbuild-settings",{"title":5,"description":251},"en\u002F1.docs\u002F3.app-services\u002F2.build-settings","2HvYobv7cRVAOj00Lf6ygOZ5XlGCavLKiH9n2hcTHXs",[262,281,293,433,458,497],{"title":263,"path":264,"stem":265,"children":266,"icon":280},"Getting Started","\u002Fhosting\u002Fdocs\u002Fgetting-started","en\u002F1.docs\u002F1.getting-started\u002F1.index",[267,270,275],{"title":268,"path":264,"stem":265,"icon":269,"children":-1},"Introduction","i-lucide-house",{"title":271,"path":272,"stem":273,"icon":274,"children":-1},"Get Started","\u002Fhosting\u002Fdocs\u002Fgetting-started\u002Fget-started","en\u002F1.docs\u002F1.getting-started\u002F2.get-started","i-lucide-rocket",{"title":276,"path":277,"stem":278,"icon":279,"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":282,"path":283,"stem":284,"children":285,"icon":280},"Guides","\u002Fhosting\u002Fdocs\u002Fguides","en\u002F1.docs\u002F2.guides\u002F1.index",[286,288],{"title":282,"path":283,"stem":284,"icon":287,"children":-1},"i-lucide-book-open",{"title":289,"path":290,"stem":291,"icon":292,"children":-1},"Connect a Container Registry","\u002Fhosting\u002Fdocs\u002Fguides\u002Fcontainer-registries","en\u002F1.docs\u002F2.guides\u002F2.container-registries","i-lucide-container",{"title":294,"icon":280,"path":295,"stem":296,"children":297,"page":280},"Platform","\u002Fhosting\u002Fdocs\u002Fplatform","en\u002F1.docs\u002F2.platform",[298,318,384,423],{"title":268,"path":299,"stem":300,"children":301,"icon":280},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F1.index",[302,305,310,315],{"title":303,"path":299,"stem":300,"icon":304,"children":-1},"Overview","i-lucide-cloud",{"title":306,"path":307,"stem":308,"icon":309,"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":311,"path":312,"stem":313,"icon":314,"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":271,"path":316,"stem":317,"icon":274,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fget-started","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F4.get-started",{"title":319,"path":320,"stem":321,"children":322,"icon":280},"Web Services","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F01.index",[323,326,331,335,339,344,349,354,359,364,369,374,379],{"title":324,"path":320,"stem":321,"icon":325,"children":-1},"Source Options","i-lucide-app-window",{"title":327,"path":328,"stem":329,"icon":330,"children":-1},"Build Strategies","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbuild-strategies","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F02.build-strategies","i-lucide-hammer",{"title":332,"path":333,"stem":334,"icon":256,"children":-1},"Configuration","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconfiguration","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F03.configuration",{"title":336,"path":337,"stem":338,"icon":274,"children":-1},"Deploying","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdeploying","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F04.deploying",{"title":340,"path":341,"stem":342,"icon":343,"children":-1},"Scaling","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fscaling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F05.scaling","i-lucide-scaling",{"title":345,"path":346,"stem":347,"icon":348,"children":-1},"Domains","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdomains","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F06.domains","i-lucide-globe",{"title":350,"path":351,"stem":352,"icon":353,"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":355,"path":356,"stem":357,"icon":358,"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":360,"path":361,"stem":362,"icon":363,"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":365,"path":366,"stem":367,"icon":368,"children":-1},"Defaults","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Flimits","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F10.limits","i-lucide-gauge",{"title":370,"path":371,"stem":372,"icon":373,"children":-1},"Billing","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F11.billing","i-lucide-credit-card",{"title":375,"path":376,"stem":377,"icon":378,"children":-1},"Shell","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fshell","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F12.shell","i-lucide-square-terminal",{"title":380,"path":381,"stem":382,"icon":383,"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":385,"path":386,"stem":387,"children":388,"icon":280},"Databases","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F1.index",[389,392,397,402,407,410,415,420],{"title":390,"path":386,"stem":387,"icon":391,"children":-1},"Templates","i-lucide-database",{"title":393,"path":394,"stem":395,"icon":396,"children":-1},"Create","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fcreate","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F2.create","i-lucide-plus",{"title":398,"path":399,"stem":400,"icon":401,"children":-1},"Connect","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fconnect","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F3.connect","i-lucide-plug",{"title":403,"path":404,"stem":405,"icon":406,"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":360,"path":408,"stem":409,"icon":363,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fstorage","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F5.storage",{"title":411,"path":412,"stem":413,"icon":414,"children":-1},"Management","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fmanagement","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F6.management","i-lucide-sliders-horizontal",{"title":416,"path":417,"stem":418,"icon":419,"children":-1},"Operations","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Foperational-notes","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F7.operational-notes","i-lucide-clipboard-list",{"title":370,"path":421,"stem":422,"icon":373,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F8.billing",{"title":282,"path":424,"stem":425,"children":426,"icon":280},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fguides","en\u002F1.docs\u002F2.platform\u002F4.guides\u002F1.index",[427,428],{"title":282,"path":424,"stem":425,"icon":287,"children":-1},{"title":429,"path":430,"stem":431,"icon":432,"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":434,"path":435,"stem":436,"children":437,"icon":280},"App Services","\u002Fhosting\u002Fdocs\u002Fapp-services","en\u002F1.docs\u002F3.app-services\u002F1.index",[438,439,441,445,449,454],{"title":434,"path":435,"stem":436,"icon":274,"children":-1},{"title":5,"path":440,"stem":259,"icon":256,"children":-1},"\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fbuild-settings",{"title":355,"path":442,"stem":443,"icon":444,"children":-1},"\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","en\u002F1.docs\u002F3.app-services\u002F3.environment-variables","i-lucide-key",{"title":446,"path":447,"stem":448,"icon":348,"children":-1},"Custom Domains","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fcustom-domains","en\u002F1.docs\u002F3.app-services\u002F4.custom-domains",{"title":450,"path":451,"stem":452,"icon":453,"children":-1},"Health Checks","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fhealth-checks","en\u002F1.docs\u002F3.app-services\u002F5.health-checks","i-lucide-heart-pulse",{"title":455,"path":456,"stem":457,"icon":343,"children":-1},"Autoscaling","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fautoscaling","en\u002F1.docs\u002F3.app-services\u002F6.autoscaling",{"title":459,"path":460,"stem":461,"children":462,"icon":280},"Helm Releases","\u002Fhosting\u002Fdocs\u002Fhelm-releases","en\u002F1.docs\u002F4.helm-releases\u002F1.index",[463,465,469,474,478,483,487,492],{"title":459,"path":460,"stem":461,"icon":464,"children":-1},"i-lucide-package",{"title":466,"path":467,"stem":468,"icon":391,"children":-1},"Deploy PostgreSQL","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-postgresql","en\u002F1.docs\u002F4.helm-releases\u002F2.deploy-postgresql",{"title":470,"path":471,"stem":472,"icon":473,"children":-1},"Deploy Redis","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-redis","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-redis","i-lucide-zap",{"title":475,"path":476,"stem":477,"icon":473,"children":-1},"Deploy Valkey","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-valkey","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-valkey",{"title":479,"path":480,"stem":481,"icon":482,"children":-1},"Deploy n8n","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-n8n","en\u002F1.docs\u002F4.helm-releases\u002F4.deploy-n8n","i-lucide-workflow",{"title":484,"path":485,"stem":486,"icon":363,"children":-1},"Deploy RustFS","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-rustfs","en\u002F1.docs\u002F4.helm-releases\u002F5.deploy-rustfs",{"title":488,"path":489,"stem":490,"icon":491,"children":-1},"Deploy OpenSearch","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","en\u002F1.docs\u002F4.helm-releases\u002F6.deploy-opensearch","i-lucide-search",{"title":493,"path":494,"stem":495,"icon":496,"children":-1},"Deploy Keycloak","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak","en\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak","i-lucide-shield-check",{"title":498,"path":499,"stem":500,"children":501,"icon":280},"Glossary","\u002Fhosting\u002Fdocs\u002Fglossary","en\u002F1.docs\u002F5.glossary\u002F1.index",[502],{"title":498,"path":499,"stem":500,"icon":503,"children":-1},"i-lucide-book-a",[505,508],{"title":434,"path":506,"stem":436,"description":507,"icon":274,"children":-1},"\u002Fen\u002Fdocs\u002Fapp-services","Learn what App Services are and how to deploy your applications on your Kubernetes cluster with lowcloud.",{"title":355,"path":509,"stem":443,"description":510,"icon":444,"children":-1},"\u002Fen\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","Learn how to manage environment variables for your App Service in lowcloud.",1791184611056]