[{"data":1,"prerenderedAt":450},["ShallowReactive",2],{"docs-en-app-services":3,"docs-navigation-en":202,"docs-surround-en-app-services":443},{"id":4,"title":5,"body":6,"description":192,"extension":193,"lastUpdated":194,"meta":195,"navigation":196,"path":198,"seo":199,"stem":200,"__hash__":201},"docs\u002Fen\u002F1.docs\u002F3.app-services\u002F1.index.md","App Services",{"type":7,"value":8,"toc":177},"minimark",[9,14,18,22,27,43,47,59,63,78,82,92,97,101,153,157,160,164,170],[10,11,13],"h2",{"id":12},"what-is-an-app-service","What is an App Service?",[15,16,17],"p",{},"An App Service is a deployment of your own application on your Kubernetes cluster. You connect your GitHub repository — lowcloud automatically builds the code and deploys the app to your cluster. Alternatively, you can use any Docker image from a container registry.",[10,19,21],{"id":20},"create-an-app-service","Create an App Service",[23,24,26],"h3",{"id":25},"prerequisites","Prerequisites",[28,29,30,34],"ul",{},[31,32,33],"li",{},"A lowcloud account with an active Kubernetes cluster",[31,35,36,37,42],{},"A connected ",[38,39,41],"a",{"href":40},".\u002Fguides\u002Fcontainer-registries","Container Registry"," — used for builds (image push) and by the cluster for deployments (image pull)",[23,44,46],{"id":45},"_1-add-a-service","1. Add a Service",[15,48,49,50,54,55,58],{},"In the lowcloud Dashboard, navigate to ",[51,52,53],"strong",{},"Add Service"," and select ",[51,56,57],{},"App Service",".",[23,60,62],{"id":61},"_2-choose-a-name","2. Choose a Name",[15,64,65,66,70,71,74,75,58],{},"Give your App Service a descriptive name (e.g. ",[67,68,69],"code",{},"my-frontend"," or ",[67,72,73],{},"api-production","). Click ",[51,76,77],{},"Next",[23,79,81],{"id":80},"_3-select-source-and-registry","3. Select Source and Registry",[15,83,84,85,88,89,91],{},"Select your ",[51,86,87],{},"GitHub repository"," and choose the ",[51,90,41],{}," to use for this service. The registry stores the built images — the cluster pulls images from there for deployment.",[15,93,94,95,58],{},"Click ",[51,96,77],{},[23,98,100],{"id":99},"_4-configure-build","4. Configure Build",[28,102,103,113,131,140],{},[31,104,105,108,109,112],{},[51,106,107],{},"Branch"," — Select the branch to build and deploy (e.g. ",[67,110,111],{},"main",")",[31,114,115,118,119,122,123,126,127,58],{},[51,116,117],{},"Build Strategy"," — Choose between ",[51,120,121],{},"Railpack"," and ",[51,124,125],{},"Docker",". Railpack auto-detects your app and builds it without further configuration. For more details, see ",[38,128,130],{"href":129},".\u002Fapp-services\u002Fbuild-settings","Build Settings",[31,132,133,136,137,139],{},[51,134,135],{},"Application Path"," — The path in the repository where your app is located. Can be left at the default ",[67,138,58],{}," if the app is in the root directory.",[31,141,142,145,146,149,150,112],{},[51,143,144],{},"Application Port"," — The port your app exposes (e.g. ",[67,147,148],{},"3000",", ",[67,151,152],{},"8080",[23,154,156],{"id":155},"_5-set-environment-variables","5. Set Environment Variables",[15,158,159],{},"Add the environment variables your app needs (e.g. database URLs, API keys). This step is optional and can be configured later.",[23,161,163],{"id":162},"_6-create","6. Create",[15,165,94,166,169],{},[51,167,168],{},"Create",". lowcloud will pull your code from GitHub, build the image, push it to the registry, and deploy the app to your cluster.",[15,171,172,173,176],{},"Wait until the label in the Dashboard changes to ",[51,174,175],{},"\"Deployed\""," — your App Service is then live.",{"title":178,"searchDepth":179,"depth":179,"links":180},"",2,[181,182],{"id":12,"depth":179,"text":13},{"id":20,"depth":179,"text":21,"children":183},[184,186,187,188,189,190,191],{"id":25,"depth":185,"text":26},3,{"id":45,"depth":185,"text":46},{"id":61,"depth":185,"text":62},{"id":80,"depth":185,"text":81},{"id":99,"depth":185,"text":100},{"id":155,"depth":185,"text":156},{"id":162,"depth":185,"text":163},"Learn what App Services are and how to deploy your applications on your Kubernetes cluster with lowcloud.","md","2026-04-03",{},{"icon":197},"i-lucide-rocket","\u002Fen\u002Fdocs\u002Fapp-services",{"title":5,"description":192},"en\u002F1.docs\u002F3.app-services\u002F1.index","lJ8grUVx15u-c5ew7_usFxdw-hb9PDQujbs3H0_X2BA",[203,221,233,373,397,436],{"title":204,"path":205,"stem":206,"children":207,"icon":220},"Getting Started","\u002Fhosting\u002Fdocs\u002Fgetting-started","en\u002F1.docs\u002F1.getting-started\u002F1.index",[208,211,215],{"title":209,"path":205,"stem":206,"icon":210,"children":-1},"Introduction","i-lucide-house",{"title":212,"path":213,"stem":214,"icon":197,"children":-1},"Get Started","\u002Fhosting\u002Fdocs\u002Fgetting-started\u002Fget-started","en\u002F1.docs\u002F1.getting-started\u002F2.get-started",{"title":216,"path":217,"stem":218,"icon":219,"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":222,"path":223,"stem":224,"children":225,"icon":220},"Guides","\u002Fhosting\u002Fdocs\u002Fguides","en\u002F1.docs\u002F2.guides\u002F1.index",[226,228],{"title":222,"path":223,"stem":224,"icon":227,"children":-1},"i-lucide-book-open",{"title":229,"path":230,"stem":231,"icon":232,"children":-1},"Connect a Container Registry","\u002Fhosting\u002Fdocs\u002Fguides\u002Fcontainer-registries","en\u002F1.docs\u002F2.guides\u002F2.container-registries","i-lucide-container",{"title":234,"icon":220,"path":235,"stem":236,"children":237,"page":220},"Platform","\u002Fhosting\u002Fdocs\u002Fplatform","en\u002F1.docs\u002F2.platform",[238,258,325,363],{"title":209,"path":239,"stem":240,"children":241,"icon":220},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F1.index",[242,245,250,255],{"title":243,"path":239,"stem":240,"icon":244,"children":-1},"Overview","i-lucide-cloud",{"title":246,"path":247,"stem":248,"icon":249,"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":251,"path":252,"stem":253,"icon":254,"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":212,"path":256,"stem":257,"icon":197,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fget-started","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F4.get-started",{"title":259,"path":260,"stem":261,"children":262,"icon":220},"Web Services","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F01.index",[263,266,271,276,280,285,290,295,300,305,310,315,320],{"title":264,"path":260,"stem":261,"icon":265,"children":-1},"Source Options","i-lucide-app-window",{"title":267,"path":268,"stem":269,"icon":270,"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":272,"path":273,"stem":274,"icon":275,"children":-1},"Configuration","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconfiguration","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F03.configuration","i-lucide-settings",{"title":277,"path":278,"stem":279,"icon":197,"children":-1},"Deploying","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdeploying","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F04.deploying",{"title":281,"path":282,"stem":283,"icon":284,"children":-1},"Scaling","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fscaling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F05.scaling","i-lucide-scaling",{"title":286,"path":287,"stem":288,"icon":289,"children":-1},"Domains","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdomains","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F06.domains","i-lucide-globe",{"title":291,"path":292,"stem":293,"icon":294,"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":296,"path":297,"stem":298,"icon":299,"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":301,"path":302,"stem":303,"icon":304,"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":306,"path":307,"stem":308,"icon":309,"children":-1},"Defaults","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Flimits","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F10.limits","i-lucide-gauge",{"title":311,"path":312,"stem":313,"icon":314,"children":-1},"Billing","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F11.billing","i-lucide-credit-card",{"title":316,"path":317,"stem":318,"icon":319,"children":-1},"Shell","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fshell","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F12.shell","i-lucide-square-terminal",{"title":321,"path":322,"stem":323,"icon":324,"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":326,"path":327,"stem":328,"children":329,"icon":220},"Databases","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F1.index",[330,333,337,342,347,350,355,360],{"title":331,"path":327,"stem":328,"icon":332,"children":-1},"Templates","i-lucide-database",{"title":168,"path":334,"stem":335,"icon":336,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fcreate","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F2.create","i-lucide-plus",{"title":338,"path":339,"stem":340,"icon":341,"children":-1},"Connect","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fconnect","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F3.connect","i-lucide-plug",{"title":343,"path":344,"stem":345,"icon":346,"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":301,"path":348,"stem":349,"icon":304,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fstorage","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F5.storage",{"title":351,"path":352,"stem":353,"icon":354,"children":-1},"Management","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fmanagement","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F6.management","i-lucide-sliders-horizontal",{"title":356,"path":357,"stem":358,"icon":359,"children":-1},"Operations","\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Foperational-notes","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F7.operational-notes","i-lucide-clipboard-list",{"title":311,"path":361,"stem":362,"icon":314,"children":-1},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F8.billing",{"title":222,"path":364,"stem":365,"children":366,"icon":220},"\u002Fhosting\u002Fdocs\u002Fplatform\u002Fguides","en\u002F1.docs\u002F2.platform\u002F4.guides\u002F1.index",[367,368],{"title":222,"path":364,"stem":365,"icon":227,"children":-1},{"title":369,"path":370,"stem":371,"icon":372,"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":5,"path":374,"stem":200,"children":375,"icon":220},"\u002Fhosting\u002Fdocs\u002Fapp-services",[376,377,380,384,388,393],{"title":5,"path":374,"stem":200,"icon":197,"children":-1},{"title":130,"path":378,"stem":379,"icon":275,"children":-1},"\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fbuild-settings","en\u002F1.docs\u002F3.app-services\u002F2.build-settings",{"title":296,"path":381,"stem":382,"icon":383,"children":-1},"\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","en\u002F1.docs\u002F3.app-services\u002F3.environment-variables","i-lucide-key",{"title":385,"path":386,"stem":387,"icon":289,"children":-1},"Custom Domains","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fcustom-domains","en\u002F1.docs\u002F3.app-services\u002F4.custom-domains",{"title":389,"path":390,"stem":391,"icon":392,"children":-1},"Health Checks","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fhealth-checks","en\u002F1.docs\u002F3.app-services\u002F5.health-checks","i-lucide-heart-pulse",{"title":394,"path":395,"stem":396,"icon":284,"children":-1},"Autoscaling","\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fautoscaling","en\u002F1.docs\u002F3.app-services\u002F6.autoscaling",{"title":398,"path":399,"stem":400,"children":401,"icon":220},"Helm Releases","\u002Fhosting\u002Fdocs\u002Fhelm-releases","en\u002F1.docs\u002F4.helm-releases\u002F1.index",[402,404,408,413,417,422,426,431],{"title":398,"path":399,"stem":400,"icon":403,"children":-1},"i-lucide-package",{"title":405,"path":406,"stem":407,"icon":332,"children":-1},"Deploy PostgreSQL","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-postgresql","en\u002F1.docs\u002F4.helm-releases\u002F2.deploy-postgresql",{"title":409,"path":410,"stem":411,"icon":412,"children":-1},"Deploy Redis","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-redis","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-redis","i-lucide-zap",{"title":414,"path":415,"stem":416,"icon":412,"children":-1},"Deploy Valkey","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-valkey","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-valkey",{"title":418,"path":419,"stem":420,"icon":421,"children":-1},"Deploy n8n","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-n8n","en\u002F1.docs\u002F4.helm-releases\u002F4.deploy-n8n","i-lucide-workflow",{"title":423,"path":424,"stem":425,"icon":304,"children":-1},"Deploy RustFS","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-rustfs","en\u002F1.docs\u002F4.helm-releases\u002F5.deploy-rustfs",{"title":427,"path":428,"stem":429,"icon":430,"children":-1},"Deploy OpenSearch","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","en\u002F1.docs\u002F4.helm-releases\u002F6.deploy-opensearch","i-lucide-search",{"title":432,"path":433,"stem":434,"icon":435,"children":-1},"Deploy Keycloak","\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak","en\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak","i-lucide-shield-check",{"title":437,"path":438,"stem":439,"children":440,"icon":220},"Glossary","\u002Fhosting\u002Fdocs\u002Fglossary","en\u002F1.docs\u002F5.glossary\u002F1.index",[441],{"title":437,"path":438,"stem":439,"icon":442,"children":-1},"i-lucide-book-a",[444,447],{"title":369,"path":445,"stem":371,"description":446,"icon":372,"children":-1},"\u002Fen\u002Fdocs\u002Fplatform\u002Fguides\u002Fsetup-hermes-agent","Deploy your own Hermes AI agent on lowcloud Platform with a single click and set it up via the Shell tab.",{"title":130,"path":448,"stem":379,"description":449,"icon":275,"children":-1},"\u002Fen\u002Fdocs\u002Fapp-services\u002Fbuild-settings","Learn how to configure the source and build settings of your App Service in lowcloud.",1791184611045]