[{"data":1,"prerenderedAt":232},["ShallowReactive",2],{"navigation":3,"page-\u002Fgetting-started":105,"surround-\u002Fgetting-started":229},[4,17,25,48,63,74,86],{"title":5,"path":6,"stem":7,"children":8,"icon":16,"exact":11},"Getting started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"exact":11,"children":-1},"Introduction",true,{"title":13,"path":14,"stem":15,"exact":11,"children":-1},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart","i-lucide-rocket",{"title":18,"path":19,"stem":20,"children":21,"icon":24,"exact":11},"Concepts","\u002Fconcepts","2.concepts\u002F1.index",[22],{"title":23,"path":19,"stem":20,"exact":11,"children":-1},"The Kuppit model","i-lucide-shapes",{"title":26,"path":27,"stem":28,"children":29,"icon":47,"exact":11},"Deployments","\u002Fdeployments","3.deployments\u002F1.index",[30,31,35,39,43],{"title":26,"path":27,"stem":28,"exact":11,"children":-1},{"title":32,"path":33,"stem":34,"exact":11,"children":-1},"Builds","\u002Fdeployments\u002Fbuilds","3.deployments\u002F2.builds",{"title":36,"path":37,"stem":38,"exact":11,"children":-1},"Redeploy and roll back","\u002Fdeployments\u002Fredeploy-and-rollback","3.deployments\u002F3.redeploy-and-rollback",{"title":40,"path":41,"stem":42,"exact":11,"children":-1},"Logs","\u002Fdeployments\u002Flogs","3.deployments\u002F4.logs",{"title":44,"path":45,"stem":46,"exact":11,"children":-1},"When a deployment fails","\u002Fdeployments\u002Fwhen-a-deployment-fails","3.deployments\u002F5.when-a-deployment-fails","i-lucide-cloud-upload",{"title":49,"path":50,"stem":51,"children":52,"icon":62,"exact":11},"Resources","\u002Fresources","4.resources\u002F1.index",[53,54,58],{"title":49,"path":50,"stem":51,"exact":11,"children":-1},{"title":55,"path":56,"stem":57,"exact":11,"children":-1},"Web services","\u002Fresources\u002Fweb-services","4.resources\u002F2.web-services",{"title":59,"path":60,"stem":61,"exact":11,"children":-1},"PostgreSQL","\u002Fresources\u002Fpostgresql","4.resources\u002F3.postgresql","i-lucide-boxes",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":73,"exact":11},"Configuration","i-lucide-sliders-horizontal","\u002Fconfiguration","5.configuration",[69],{"title":70,"path":71,"stem":72,"exact":11,"children":-1},"Environment variables","\u002Fconfiguration\u002Fvariables","5.configuration\u002F1.variables",false,{"title":75,"path":76,"stem":77,"children":78,"icon":85,"exact":11},"Domains","\u002Fdomains","7.domains\u002F1.index",[79,81],{"title":80,"path":76,"stem":77,"exact":11,"children":-1},"Hostnames",{"title":82,"path":83,"stem":84,"exact":11,"children":-1},"Custom domains","\u002Fdomains\u002Fcustom-domains","7.domains\u002F2.custom-domains","i-lucide-globe",{"title":87,"path":88,"stem":89,"children":90,"icon":104,"exact":11},"Environments","\u002Fenvironments","8.environments\u002F1.index",[91,92,96,100],{"title":87,"path":88,"stem":89,"exact":11,"children":-1},{"title":93,"path":94,"stem":95,"exact":11,"children":-1},"Preview environments","\u002Fenvironments\u002Fpreview-environments","8.environments\u002F2.preview-environments",{"title":97,"path":98,"stem":99,"exact":11,"children":-1},"Named environments","\u002Fenvironments\u002Fnamed-environments","8.environments\u002F3.named-environments",{"title":101,"path":102,"stem":103,"exact":11,"children":-1},"Deleting an environment","\u002Fenvironments\u002Fdeleting-an-environment","8.environments\u002F4.deleting-an-environment","i-lucide-git-branch",{"id":106,"title":10,"badge":107,"body":108,"category":107,"description":223,"draft":73,"extension":224,"links":107,"meta":225,"navigation":11,"path":6,"seo":226,"sitemap":227,"stem":7,"__hash__":228},"docs\u002F1.getting-started\u002F1.index.md",null,{"type":109,"value":110,"toc":216},"minimark",[111,115,118,153,158,188,192,210],[112,113,114],"p",{},"Kuppit deploys applications from GitHub without asking you to assemble cloud infrastructure. You connect a repository, Kuppit works out how to build it, and every push becomes a deployment with a public hostname, logs, variables and the resources it depends on.",[112,116,117],{},"These docs answer three questions:",[119,120,121,133,141],"ul",{},[122,123,124,128,129,132],"li",{},[125,126,127],"strong",{},"How do I do something?"," Deploy an application, add a database, set a variable, connect two resources. Start with the ",[130,131,13],"a",{"href":14},".",[122,134,135,138,139,132],{},[125,136,137],{},"How does Kuppit work?"," Projects, environments, resources, deployments and the graph between them. Start with ",[130,140,23],{"href":19},[122,142,143,146,147,149,150,152],{},[125,144,145],{},"Something broke. What now?"," ",[130,148,44],{"href":45}," says what each failure means and what to do; ",[130,151,40],{"href":41}," is where to read what happened. A dedicated troubleshooting library follows.",[154,155,157],"h2",{"id":156},"what-you-need","What you need",[119,159,160,163,178],{},[122,161,162],{},"A GitHub account. Kuppit signs you in with it and reads repositories through a GitHub App you install.",[122,164,165,166,170,171,174,175,132],{},"A repository containing either a ",[167,168,169],"code",{},"Dockerfile"," or a Node.js application Kuppit can build automatically: Nuxt, Next.js, Express, or anything with a ",[167,172,173],{},"start"," script. See ",[130,176,55],{"href":177},"\u002Fresources\u002Fweb-services#how-a-service-is-built",[122,179,180,181,187],{},"A Kuppit account. Kuppit is in private alpha. Sign in at ",[130,182,186],{"href":183,"rel":184},"https:\u002F\u002Fapp.kuppit.run\u002Flogin",[185],"nofollow","app.kuppit.run"," with GitHub and your account is held for approval.",[154,189,191],{"id":190},"the-shape-of-every-deployment","The shape of every deployment",[193,194,195,198,201,204,207],"ol",{},[122,196,197],{},"Install the GitHub App on a repository.",[122,199,200],{},"Create a project from it. Kuppit analyses the repository and proposes a web service.",[122,202,203],{},"Deploy. Kuppit builds a container image, starts it, checks that it is healthy, then moves traffic to it.",[122,205,206],{},"Add resources such as PostgreSQL and connect them to your services through variables.",[122,208,209],{},"Push again. Every push to the deployed branch creates a new deployment; every pull request gets its own preview environment.",[112,211,212,213,215],{},"The ",[130,214,13],{"href":14}," walks through all five with a real repository.",{"title":217,"searchDepth":218,"depth":218,"links":219},"",3,[220,222],{"id":156,"depth":221,"text":157},2,{"id":190,"depth":221,"text":191},"What Kuppit is, what you need to use it, and where to start.","md",{},{"title":10,"description":223},{"loc":6},"HITT6ZRDTwiYwWWp3PRzfpX0PjQYpeiOHEraiUJu5I4",[107,230],{"title":13,"path":14,"stem":15,"description":231,"children":-1},"Deploy a web service from GitHub, add a PostgreSQL database, connect the two, and open the result on a public URL.",1788534986151]