[{"data":1,"prerenderedAt":815},["ShallowReactive",2],{"navigation":3,"-deploy-providers-koyeb":407,"-deploy-providers-koyeb-surround":810},[4,93,226,232,392,404],{"title":5,"path":6,"stem":7,"children":8,"icon":92},"","\u002Fdocs","1.docs\u002F1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77,82,87],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-compass",{"title":13,"path":14,"stem":15,"icon":16},"Quick Start","\u002Fdocs\u002Fquick-start","1.docs\u002F2.quick-start","i-lucide-zap",{"title":18,"path":19,"stem":20,"icon":21},"Renderer","\u002Fdocs\u002Frenderer","1.docs\u002F4.renderer","ri:layout-masonry-line",{"title":23,"path":24,"stem":25,"icon":26},"Routing","\u002Fdocs\u002Frouting","1.docs\u002F5.routing","ri:direction-line",{"title":28,"path":29,"stem":30,"icon":31},"Assets","\u002Fdocs\u002Fassets","1.docs\u002F50.assets","ri:image-2-line",{"title":33,"path":34,"stem":35,"icon":36},"Configuration","\u002Fdocs\u002Fconfiguration","1.docs\u002F50.configuration","ri:settings-3-line",{"title":38,"path":39,"stem":40,"icon":41},"Database","\u002Fdocs\u002Fdatabase","1.docs\u002F50.database","ri:database-2-line",{"title":43,"path":44,"stem":45,"icon":46},"Lifecycle","\u002Fdocs\u002Flifecycle","1.docs\u002F50.lifecycle","i-lucide-layers",{"title":48,"path":49,"stem":50,"icon":51},"OpenAPI","\u002Fdocs\u002Fopenapi","1.docs\u002F50.openapi","ri:contract-line",{"title":53,"path":54,"stem":55,"icon":56},"Plugins","\u002Fdocs\u002Fplugins","1.docs\u002F50.plugins","ri:plug-line",{"title":58,"path":59,"stem":60,"icon":61},"Tasks","\u002Fdocs\u002Ftasks","1.docs\u002F50.tasks","codicon:run-all",{"title":63,"path":64,"stem":65,"icon":66},"WebSocket","\u002Fdocs\u002Fwebsocket","1.docs\u002F50.websocket","ri:broadcast-fill",{"title":68,"path":69,"stem":70,"icon":71},"Server Entry","\u002Fdocs\u002Fserver-entry","1.docs\u002F6.server-entry","ri:server-line",{"title":73,"path":74,"stem":75,"icon":76},"Cache","\u002Fdocs\u002Fcache","1.docs\u002F7.cache","ri:speed-line",{"title":78,"path":79,"stem":80,"icon":81},"KV Storage","\u002Fdocs\u002Fstorage","1.docs\u002F8.storage","carbon:datastore",{"title":83,"path":84,"stem":85,"icon":86},"Migration Guide","\u002Fdocs\u002Fmigration","1.docs\u002F99.migration","ri:arrow-right-up-line",{"title":88,"path":89,"stem":90,"icon":91},"Nightly Channel","\u002Fdocs\u002Fnightly","1.docs\u002F99.nightly","ri:moon-fill","i-lucide-book-open",{"title":94,"path":95,"stem":96,"children":97,"icon":99},"Deploy","\u002Fdeploy","2.deploy\u002F0.index",[98,100,121],{"title":94,"path":95,"stem":96,"icon":99},"ri:upload-cloud-2-line",{"title":101,"path":102,"stem":103,"children":104,"page":120},"Runtimes","\u002Fdeploy\u002Fruntimes","2.deploy\u002F10.runtimes",[105,110,115],{"title":106,"path":107,"stem":108,"icon":109},"Node.js","\u002Fdeploy\u002Fruntimes\u002Fnode","2.deploy\u002F10.runtimes\u002F1.node","akar-icons:node-fill",{"title":111,"path":112,"stem":113,"icon":114},"Bun","\u002Fdeploy\u002Fruntimes\u002Fbun","2.deploy\u002F10.runtimes\u002Fbun","simple-icons:bun",{"title":116,"path":117,"stem":118,"icon":119},"Deno","\u002Fdeploy\u002Fruntimes\u002Fdeno","2.deploy\u002F10.runtimes\u002Fdeno","simple-icons:deno",false,{"title":122,"path":123,"stem":124,"children":125,"page":120},"Providers","\u002Fdeploy\u002Fproviders","2.deploy\u002F20.providers",[126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222],{"title":127,"path":128,"stem":129},"Alwaysdata","\u002Fdeploy\u002Fproviders\u002Falwaysdata","2.deploy\u002F20.providers\u002Falwaysdata",{"title":131,"path":132,"stem":133},"AWS Lambda","\u002Fdeploy\u002Fproviders\u002Faws","2.deploy\u002F20.providers\u002Faws",{"title":135,"path":136,"stem":137},"AWS Amplify","\u002Fdeploy\u002Fproviders\u002Faws-amplify","2.deploy\u002F20.providers\u002Faws-amplify",{"title":139,"path":140,"stem":141},"Azure","\u002Fdeploy\u002Fproviders\u002Fazure","2.deploy\u002F20.providers\u002Fazure",{"title":143,"path":144,"stem":145},"Cleavr","\u002Fdeploy\u002Fproviders\u002Fcleavr","2.deploy\u002F20.providers\u002Fcleavr",{"title":147,"path":148,"stem":149},"Cloudflare","\u002Fdeploy\u002Fproviders\u002Fcloudflare","2.deploy\u002F20.providers\u002Fcloudflare",{"title":151,"path":152,"stem":153},"Deno Deploy","\u002Fdeploy\u002Fproviders\u002Fdeno-deploy","2.deploy\u002F20.providers\u002Fdeno-deploy",{"title":155,"path":156,"stem":157},"DigitalOcean","\u002Fdeploy\u002Fproviders\u002Fdigitalocean","2.deploy\u002F20.providers\u002Fdigitalocean",{"title":159,"path":160,"stem":161},"EdgeOne Pages","\u002Fdeploy\u002Fproviders\u002Fedgeone","2.deploy\u002F20.providers\u002Fedgeone",{"title":163,"path":164,"stem":165},"Firebase","\u002Fdeploy\u002Fproviders\u002Ffirebase","2.deploy\u002F20.providers\u002Ffirebase",{"title":167,"path":168,"stem":169},"Flightcontrol","\u002Fdeploy\u002Fproviders\u002Fflightcontrol","2.deploy\u002F20.providers\u002Fflightcontrol",{"title":171,"path":172,"stem":173},"Genezio","\u002Fdeploy\u002Fproviders\u002Fgenezio","2.deploy\u002F20.providers\u002Fgenezio",{"title":175,"path":176,"stem":177},"GitHub Pages","\u002Fdeploy\u002Fproviders\u002Fgithub-pages","2.deploy\u002F20.providers\u002Fgithub-pages",{"title":179,"path":180,"stem":181},"GitLab Pages","\u002Fdeploy\u002Fproviders\u002Fgitlab-pages","2.deploy\u002F20.providers\u002Fgitlab-pages",{"title":183,"path":184,"stem":185},"Heroku","\u002Fdeploy\u002Fproviders\u002Fheroku","2.deploy\u002F20.providers\u002Fheroku",{"title":187,"path":188,"stem":189},"IIS","\u002Fdeploy\u002Fproviders\u002Fiis","2.deploy\u002F20.providers\u002Fiis",{"title":191,"path":192,"stem":193},"Koyeb","\u002Fdeploy\u002Fproviders\u002Fkoyeb","2.deploy\u002F20.providers\u002Fkoyeb",{"title":195,"path":196,"stem":197},"Netlify","\u002Fdeploy\u002Fproviders\u002Fnetlify","2.deploy\u002F20.providers\u002Fnetlify",{"title":199,"path":200,"stem":201},"Platform.sh","\u002Fdeploy\u002Fproviders\u002Fplatform-sh","2.deploy\u002F20.providers\u002Fplatform-sh",{"title":203,"path":204,"stem":205},"Render.com","\u002Fdeploy\u002Fproviders\u002Frender","2.deploy\u002F20.providers\u002Frender",{"title":207,"path":208,"stem":209},"StormKit","\u002Fdeploy\u002Fproviders\u002Fstormkit","2.deploy\u002F20.providers\u002Fstormkit",{"title":211,"path":212,"stem":213},"Vercel","\u002Fdeploy\u002Fproviders\u002Fvercel","2.deploy\u002F20.providers\u002Fvercel",{"title":215,"path":216,"stem":217},"Zeabur","\u002Fdeploy\u002Fproviders\u002Fzeabur","2.deploy\u002F20.providers\u002Fzeabur",{"title":219,"path":220,"stem":221},"Zephyr Cloud","\u002Fdeploy\u002Fproviders\u002Fzephyr","2.deploy\u002F20.providers\u002Fzephyr",{"title":223,"path":224,"stem":225},"Zerops","\u002Fdeploy\u002Fproviders\u002Fzerops","2.deploy\u002F20.providers\u002Fzerops",{"title":227,"path":228,"stem":229,"children":230,"icon":36},"Config","\u002Fconfig","3.config\u002F0.index",[231],{"title":227,"path":228,"stem":229,"icon":36},{"title":233,"path":234,"stem":235,"children":236,"icon":238},"Examples","\u002Fexamples","4.examples\u002F0.index",[237,239,244,249,254,259,263,268,273,278,283,288,293,297,302,306,310,315,320,325,330,335,340,345,350,355,360,364,369,374,378,383,388],{"title":233,"path":234,"stem":235,"icon":238},"i-lucide-folder-code",{"title":240,"path":241,"stem":242,"icon":243},"API Routes","\u002Fexamples\u002Fapi-routes","4.examples\u002Fapi-routes","i-lucide-route",{"title":245,"path":246,"stem":247,"icon":248},"Auto Imports","\u002Fexamples\u002Fauto-imports","4.examples\u002Fauto-imports","i-lucide-import",{"title":250,"path":251,"stem":252,"icon":253},"Cached Handler","\u002Fexamples\u002Fcached-handler","4.examples\u002Fcached-handler","i-lucide-clock",{"title":255,"path":256,"stem":257,"icon":258},"Custom Error Handler","\u002Fexamples\u002Fcustom-error-handler","4.examples\u002Fcustom-error-handler","i-lucide-alert-circle",{"title":38,"path":260,"stem":261,"icon":262},"\u002Fexamples\u002Fdatabase","4.examples\u002Fdatabase","i-lucide-database",{"title":264,"path":265,"stem":266,"icon":267},"Elysia","\u002Fexamples\u002Felysia","4.examples\u002Felysia","i-skill-icons-elysia-dark",{"title":269,"path":270,"stem":271,"icon":272},"Express","\u002Fexamples\u002Fexpress","4.examples\u002Fexpress","i-simple-icons-express",{"title":274,"path":275,"stem":276,"icon":277},"Fastify","\u002Fexamples\u002Ffastify","4.examples\u002Ffastify","i-simple-icons-fastify",{"title":279,"path":280,"stem":281,"icon":282},"Hello World","\u002Fexamples\u002Fhello-world","4.examples\u002Fhello-world","i-lucide-sparkles",{"title":284,"path":285,"stem":286,"icon":287},"Hono","\u002Fexamples\u002Fhono","4.examples\u002Fhono","i-logos-hono",{"title":289,"path":290,"stem":291,"icon":292},"Import Alias","\u002Fexamples\u002Fimport-alias","4.examples\u002Fimport-alias","i-lucide-at-sign",{"title":294,"path":295,"stem":296,"icon":46},"Middleware","\u002Fexamples\u002Fmiddleware","4.examples\u002Fmiddleware",{"title":298,"path":299,"stem":300,"icon":301},"Mono JSX","\u002Fexamples\u002Fmono-jsx","4.examples\u002Fmono-jsx","i-lucide-brackets",{"title":303,"path":304,"stem":305,"icon":301},"Nano JSX","\u002Fexamples\u002Fnano-jsx","4.examples\u002Fnano-jsx",{"title":53,"path":307,"stem":308,"icon":309},"\u002Fexamples\u002Fplugins","4.examples\u002Fplugins","i-lucide-plug",{"title":311,"path":312,"stem":313,"icon":314},"Custom Renderer","\u002Fexamples\u002Frenderer","4.examples\u002Frenderer","i-lucide-code",{"title":316,"path":317,"stem":318,"icon":319},"Runtime Config","\u002Fexamples\u002Fruntime-config","4.examples\u002Fruntime-config","i-lucide-settings",{"title":321,"path":322,"stem":323,"icon":324},"Server Fetch","\u002Fexamples\u002Fserver-fetch","4.examples\u002Fserver-fetch","i-lucide-arrow-right-left",{"title":326,"path":327,"stem":328,"icon":329},"Shiki","\u002Fexamples\u002Fshiki","4.examples\u002Fshiki","i-lucide-highlighter",{"title":331,"path":332,"stem":333,"icon":334},"Takumi","\u002Fexamples\u002Ftakumi","4.examples\u002Ftakumi","i-lucide-image",{"title":336,"path":337,"stem":338,"icon":339},"Virtual Routes","\u002Fexamples\u002Fvirtual-routes","4.examples\u002Fvirtual-routes","i-lucide-box",{"title":341,"path":342,"stem":343,"icon":344},"Vite Nitro Plugin","\u002Fexamples\u002Fvite-nitro-plugin","4.examples\u002Fvite-nitro-plugin","i-logos-vitejs",{"title":346,"path":347,"stem":348,"icon":349},"Vite RSC","\u002Fexamples\u002Fvite-rsc","4.examples\u002Fvite-rsc","i-logos-react",{"title":351,"path":352,"stem":353,"icon":354},"Vite SSR HTML","\u002Fexamples\u002Fvite-ssr-html","4.examples\u002Fvite-ssr-html","i-logos-html-5",{"title":356,"path":357,"stem":358,"icon":359},"SSR with Preact","\u002Fexamples\u002Fvite-ssr-preact","4.examples\u002Fvite-ssr-preact","i-logos-preact",{"title":361,"path":362,"stem":363,"icon":349},"SSR with React","\u002Fexamples\u002Fvite-ssr-react","4.examples\u002Fvite-ssr-react",{"title":365,"path":366,"stem":367,"icon":368},"SSR with SolidJS","\u002Fexamples\u002Fvite-ssr-solid","4.examples\u002Fvite-ssr-solid","i-logos-solidjs-icon",{"title":370,"path":371,"stem":372,"icon":373},"SSR with TanStack Router","\u002Fexamples\u002Fvite-ssr-tsr-react","4.examples\u002Fvite-ssr-tsr-react","i-simple-icons-tanstack",{"title":375,"path":376,"stem":377,"icon":373},"SSR with TanStack Start","\u002Fexamples\u002Fvite-ssr-tss-react","4.examples\u002Fvite-ssr-tss-react",{"title":379,"path":380,"stem":381,"icon":382},"SSR with Vue Router","\u002Fexamples\u002Fvite-ssr-vue-router","4.examples\u002Fvite-ssr-vue-router","i-logos-vue",{"title":384,"path":385,"stem":386,"icon":387},"Vite + tRPC","\u002Fexamples\u002Fvite-trpc","4.examples\u002Fvite-trpc","i-simple-icons-trpc",{"title":63,"path":389,"stem":390,"icon":391},"\u002Fexamples\u002Fwebsocket","4.examples\u002Fwebsocket","i-lucide-radio",{"title":393,"path":394,"stem":395,"children":396},"Blog","\u002Fblog","9.blog",[397,400],{"title":393,"path":394,"stem":398,"icon":399},"9.blog\u002Findex","i-lucide-file-text",{"title":401,"path":402,"stem":403,"icon":399},"Nitro v3 Beta is here!","\u002Fblog\u002Fv3-beta","9.blog\u002F1.v3-beta",{"title":5,"path":405,"stem":406},"\u002F","index",{"id":408,"title":191,"body":409,"description":804,"extension":805,"meta":806,"navigation":807,"path":192,"seo":808,"stem":193,"__hash__":809},"content\u002F2.deploy\u002F20.providers\u002Fkoyeb.md",{"type":410,"value":411,"toc":799},"minimark",[412,424,428,433,539,543,734,738,768,795],[413,414,415,419,420],"p",{},[416,417,418],"strong",{},"Preset:"," ",[421,422,423],"code",{},"koyeb",[425,426],"read-more",{"to":427},"https:\u002F\u002Fwww.koyeb.com",[429,430,432],"h2",{"id":431},"using-the-control-panel","Using the control panel",[434,435,437,453,460,471,474,514,530,533],"steps",{"level":436},"4",[438,439,440,441,448,449,452],"h4",{},"In the ",[442,443,447],"a",{"href":444,"rel":445},"https:\u002F\u002Fapp.koyeb.com\u002F",[446],"nofollow","Koyeb control panel",", click ",[416,450,451],{},"Create App",".",[438,454,455,456,459],{},"Choose ",[416,457,458],{},"GitHub"," as your deployment method.",[438,461,462,463,466,467,470],{},"Choose the GitHub ",[416,464,465],{},"repository"," and ",[416,468,469],{},"branch"," containing your application code.",[438,472,473],{},"Name your Service.",[438,475,476,477,480,481,484,485,488,489,492,493],{},"If you did not add a ",[421,478,479],{},"start"," command to your ",[421,482,483],{},"package.json"," file, under the ",[416,486,487],{},"Build and deployment settings",", toggle the override switch associated with the run command field.  In the ",[416,490,491],{},"Run command"," field, enter:",[494,495,499],"pre",{"className":496,"code":497,"language":498,"meta":5,"style":5},"language-bash shiki shiki-themes github-light github-dark github-dark","node .output\u002Fserver\u002Findex.mjs`\n","bash",[421,500,501],{"__ignoreMap":5},[502,503,506,510],"span",{"class":504,"line":505},"line",1,[502,507,509],{"class":508},"shcOC","node",[502,511,513],{"class":512},"sfrk1"," .output\u002Fserver\u002Findex.mjs`\n",[438,515,440,516,519,520,523,524,527,528,452],{},[416,517,518],{},"Advanced"," section, click ",[416,521,522],{},"Add Variable"," and add a ",[421,525,526],{},"NITRO_PRESET"," variable set to ",[421,529,423],{},[438,531,532],{},"Name the App.",[438,534,535,536,538],{},"Click the ",[416,537,94],{}," button.",[429,540,542],{"id":541},"using-the-koyeb-cli","Using the Koyeb CLI",[434,544,545,560,569,588],{"level":436},[438,546,547,548,553,554,559],{},"Follow the instructions targeting your operating system to ",[442,549,552],{"href":550,"rel":551},"https:\u002F\u002Fwww.koyeb.com\u002Fdocs\u002Fcli\u002Finstallation",[446],"install the Koyeb CLI client"," with an installer.  Alternatively, visit the ",[442,555,558],{"href":556,"rel":557},"https:\u002F\u002Fgithub.com\u002Fkoyeb\u002Fkoyeb-cli\u002Freleases",[446],"releases page on GitHub"," to directly download required files.",[438,561,562,563,568],{},"Create a Koyeb API access token by visiting the ",[442,564,567],{"href":565,"rel":566},"https:\u002F\u002Fapp.koyeb.com\u002Fsettings\u002Fapi",[446],"API settings for your organization"," in the Koyeb control panel.",[438,570,571,572,584,587],{},"Log into your account with the Koyeb CLI by typing:",[494,573,575],{"className":496,"code":574,"language":498,"meta":5,"style":5},"koyeb login\n",[421,576,577],{"__ignoreMap":5},[502,578,579,581],{"class":504,"line":505},[502,580,423],{"class":508},[502,582,583],{"class":512}," login\n",[585,586],"br",{},"Paste your API credentials when prompted.",[438,589,590,591,594,595,598,599,602,603],{},"Deploy your Nitro application from a GitHub repository with the following command.  Be sure to substitute your own values for ",[421,592,593],{},"\u003CAPPLICATION_NAME>",", ",[421,596,597],{},"\u003CYOUR_GITHUB_USERNAME>",", and ",[421,600,601],{},"\u003CYOUR_REPOSITORY_NAME>",":",[494,604,606],{"className":496,"code":605,"language":498,"meta":5,"style":5},"koyeb app init \u003CAPPLICATION_NAME> \\\n   --git github.com\u002F\u003CYOUR_GITHUB_USERNAME>\u002F\u003CYOUR_REPOSITORY_NAME> \\\n   --git-branch main \\\n   --git-run-command \"node .output\u002Fserver\u002Findex.mjs\" \\\n   --ports 3000:http \\\n   --routes \u002F:3000 \\\n   --env PORT=3000 \\\n   --env NITRO_PRESET=koyeb\n",[421,607,608,636,668,679,690,701,712,726],{"__ignoreMap":5},[502,609,610,612,615,618,622,625,629,632],{"class":504,"line":505},[502,611,423],{"class":508},[502,613,614],{"class":512}," app",[502,616,617],{"class":512}," init",[502,619,621],{"class":620},"so5gQ"," \u003C",[502,623,624],{"class":512},"APPLICATION_NAM",[502,626,628],{"class":627},"slsVL","E",[502,630,631],{"class":620},">",[502,633,635],{"class":634},"suiK_"," \\\n",[502,637,639,642,645,648,651,653,655,657,659,662,664,666],{"class":504,"line":638},2,[502,640,641],{"class":634},"   --git",[502,643,644],{"class":512}," github.com\u002F",[502,646,647],{"class":620},"\u003C",[502,649,650],{"class":512},"YOUR_GITHUB_USERNAM",[502,652,628],{"class":627},[502,654,631],{"class":620},[502,656,405],{"class":512},[502,658,647],{"class":620},[502,660,661],{"class":512},"YOUR_REPOSITORY_NAM",[502,663,628],{"class":627},[502,665,631],{"class":620},[502,667,635],{"class":634},[502,669,671,674,677],{"class":504,"line":670},3,[502,672,673],{"class":634},"   --git-branch",[502,675,676],{"class":512}," main",[502,678,635],{"class":634},[502,680,682,685,688],{"class":504,"line":681},4,[502,683,684],{"class":634},"   --git-run-command",[502,686,687],{"class":512}," \"node .output\u002Fserver\u002Findex.mjs\"",[502,689,635],{"class":634},[502,691,693,696,699],{"class":504,"line":692},5,[502,694,695],{"class":634},"   --ports",[502,697,698],{"class":512}," 3000:http",[502,700,635],{"class":634},[502,702,704,707,710],{"class":504,"line":703},6,[502,705,706],{"class":634},"   --routes",[502,708,709],{"class":512}," \u002F:3000",[502,711,635],{"class":634},[502,713,715,718,721,724],{"class":504,"line":714},7,[502,716,717],{"class":634},"   --env",[502,719,720],{"class":512}," PORT=",[502,722,723],{"class":634},"3000",[502,725,635],{"class":634},[502,727,729,731],{"class":504,"line":728},8,[502,730,717],{"class":634},[502,732,733],{"class":512}," NITRO_PRESET=koyeb\n",[429,735,737],{"id":736},"using-a-docker-container","Using a docker container",[434,739,740,755],{"level":436},[438,741,742,743,746,747],{},"Create a ",[421,744,745],{},".dockerignore"," file in the root of your project and add the following lines:",[494,748,753],{"className":749,"code":751,"language":752},[750],"language-text","Dockerfile\n.dockerignore\nnode_modules\nnpm-debug.log\n.nitro\n.output\n.git\ndist\nREADME.md\n","text",[421,754,751],{"__ignoreMap":5},[438,756,757,758,761,762],{},"Add a ",[421,759,760],{},"Dockerfile"," to the root of your project:",[494,763,766],{"className":764,"code":765,"language":752},[750],"FROM node:18-alpine AS base\n\nFROM base AS deps\nRUN apk add --no-cache libc6-compat\nWORKDIR \u002Fapp\nCOPY package.json package-lock.json .\u002F\nRUN npm ci\n\nFROM base AS builder\nWORKDIR \u002Fapp\nCOPY --from=deps \u002Fapp\u002Fnode_modules .\u002Fnode_modules\nCOPY . .\nRUN npm run build && npm cache clean --force\n\nFROM base AS runner\nWORKDIR \u002Fapp\nRUN addgroup --system --gid 1001 nodejs\nRUN adduser --system --uid 1001 nitro\nCOPY --from=builder \u002Fapp .\nUSER nitro\nEXPOSE 3000\nENV PORT 3000\nCMD [\"npm\", \"run\", \"start\"]\n",[421,767,765],{"__ignoreMap":5},[413,769,770,771,776,777,782,783,788,789,794],{},"The Dockerfile above provides the minimum requirements to run the Nitro application. You can easily extend it depending on your needs.\nYou will then need to push your Docker image to a registry. You can use ",[442,772,775],{"href":773,"rel":774},"https:\u002F\u002Fhub.docker.com\u002F",[446],"Docker Hub"," or ",[442,778,781],{"href":779,"rel":780},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fpackages\u002Fguides\u002Fabout-github-container-registry",[446],"GitHub Container Registry"," for example.\nIn the Koyeb control panel, use the image and the tag field to specify the image you want to deploy.\nYou can also use the ",[442,784,787],{"href":785,"rel":786},"https:\u002F\u002Fwww.koyeb.com\u002Fdocs\u002Fbuild-and-deploy\u002Fcli\u002Finstallation",[446],"Koyeb CLI","\nRefer to the Koyeb ",[442,790,793],{"href":791,"rel":792},"https:\u002F\u002Fwww.koyeb.com\u002Fdocs\u002Fbuild-and-deploy\u002Fprebuilt-docker-images",[446],"Docker documentation"," for more information.",[796,797,798],"style",{},"html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}",{"title":5,"searchDepth":638,"depth":638,"links":800},[801,802,803],{"id":431,"depth":638,"text":432},{"id":541,"depth":638,"text":542},{"id":736,"depth":638,"text":737},"Deploy Nitro apps to Koyeb.","md",{},{},{"title":191,"description":804},"OHJRqUVeoa6zPLM11SspIDyzh_OyUlc28iKLr6OatMk",[811,813],{"title":187,"path":188,"stem":189,"description":812,"children":-1},"Deploy Nitro apps to IIS.",{"title":195,"path":196,"stem":197,"description":814,"children":-1},"Deploy Nitro apps to Netlify functions or edge.",1784141547890]