[{"data":1,"prerenderedAt":775},["ShallowReactive",2],{"navigation":3,"hub-landing-/hub":285,"templates":308},[4],{"title":5,"path":6,"stem":7,"children":8},"Introduction","/docs","docs/1.index",[9,10,36,53,70,83,100,121,138,155,176],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14,"page":35},"Installation","/docs/installation","docs/1.installation",[15,19,23,27,31],{"title":16,"path":17,"stem":18},"Install to macOS","/docs/installation/install-macos","docs/1.installation/1.install-macos",{"title":20,"path":21,"stem":22},"Install to Windows","/docs/installation/install-windows","docs/1.installation/2.install-windows",{"title":24,"path":25,"stem":26},"Install to Linux","/docs/installation/install-linux","docs/1.installation/3.install-linux",{"title":28,"path":29,"stem":30},"Install via Composer","/docs/installation/install-composer","docs/1.installation/4.install-composer",{"title":32,"path":33,"stem":34},"Install via NPM/Yarn","/docs/installation/install-npm-yarn","docs/1.installation/5.install-npm-yarn",false,{"title":37,"path":38,"stem":39,"children":40,"page":35},"Community","/docs/community","docs/11.community",[41,45,49],{"title":42,"path":43,"stem":44},"Get Help","/docs/community/get-help","docs/11.community/1.get-help",{"title":46,"path":47,"stem":48},"Testing New Releases","/docs/community/testing","docs/11.community/2.testing",{"title":50,"path":51,"stem":52},"Contributing","/docs/community/contributing","docs/11.community/3.contributing",{"title":54,"path":55,"stem":56,"children":57,"page":35},"Getting Started","/docs/getting-started","docs/2.getting-started",[58,62,66],{"title":59,"path":60,"stem":61},"How Spin Works","/docs/getting-started/how-spin-works","docs/2.getting-started/1.how-spin-works",{"title":63,"path":64,"stem":65},"Create a New Project with Spin","/docs/getting-started/create-a-new-project-with-spin","docs/2.getting-started/2.create-a-new-project-with-spin",{"title":67,"path":68,"stem":69},"Add Spin to an Existing Project","/docs/getting-started/add-spin-to-an-existing-project","docs/2.getting-started/3.add-spin-to-an-existing-project",{"title":71,"path":72,"stem":73,"children":74,"page":35},"Development Environment","/docs/development-environment","docs/3.development-environment",[75,79],{"title":76,"path":77,"stem":78},"Starting Up Your Development Environment","/docs/development-environment/starting-up-your-development-environment","docs/3.development-environment/1.starting-up-your-development-environment",{"title":80,"path":81,"stem":82},"Running Commands in Development","/docs/development-environment/running-commands-in-development","docs/3.development-environment/2.running-commands-in-development",{"title":84,"path":85,"stem":86,"children":87,"page":35},"Server Configuration","/docs/server-configuration","docs/4.server-configuration",[88,92,96],{"title":89,"path":90,"stem":91},"Server Requirements","/docs/server-configuration/server-requirements","docs/4.server-configuration/1.server-requirements",{"title":93,"path":94,"stem":95},"Server Configuration Basics","/docs/server-configuration/server-configuration-basics","docs/4.server-configuration/2.server-configuration-basics",{"title":97,"path":98,"stem":99},".spin.yml Usage","/docs/server-configuration/spin-yml-usage","docs/4.server-configuration/3.spin-yml-usage",{"title":101,"path":102,"stem":103,"children":104,"page":35},"Providers","/docs/providers","docs/5.providers",[105,109,113,117],{"title":106,"path":107,"stem":108},"DigitalOcean","/docs/providers/digitalocean","docs/5.providers/0.digitalocean",{"title":110,"path":111,"stem":112},"Hetzner","/docs/providers/hetzner","docs/5.providers/0.hetzner",{"title":114,"path":115,"stem":116},"Vultr","/docs/providers/vultr","docs/5.providers/0.vultr",{"title":118,"path":119,"stem":120},"Use Any Host","/docs/providers/use-any-host","docs/5.providers/99.use-any-host",{"title":122,"path":123,"stem":124,"children":125,"page":35},"Deployment","/docs/deployment","docs/6.deployment",[126,130,134],{"title":127,"path":128,"stem":129},"Choosing a Deployment Strategy","/docs/deployment/choosing-a-deployment-strategy","docs/6.deployment/1.choosing-a-deployment-strategy",{"title":131,"path":132,"stem":133},"Automated Deployments with GitHub Actions","/docs/deployment/automated-deployments-with-github-actions","docs/6.deployment/2.automated-deployments-with-github-actions",{"title":135,"path":136,"stem":137},"Using \"spin deploy\"","/docs/deployment/using-spin-deploy","docs/6.deployment/3.using-spin-deploy",{"title":139,"path":140,"stem":141,"children":142,"page":35},"Server Access","/docs/server-access","docs/7.server-access",[143,147,151],{"title":144,"path":145,"stem":146},"Connecting to Your Server","/docs/server-access/connecting-to-your-server","docs/7.server-access/1.connecting-to-your-server",{"title":148,"path":149,"stem":150},"Troubleshooting Your Application","/docs/server-access/troubleshooting-your-application","docs/7.server-access/2.troubleshooting-your-application",{"title":152,"path":153,"stem":154},"Updating Your Server","/docs/server-access/updating-your-server","docs/7.server-access/3.updating-your-server",{"title":156,"path":157,"stem":158,"children":159,"page":35},"Advanced","/docs/advanced","docs/8.advanced",[160,164,168,172],{"title":161,"path":162,"stem":163},"Generating a Secure SSH Key","/docs/advanced/generating-a-secure-ssh-key","docs/8.advanced/2.generating-a-secure-ssh-key",{"title":165,"path":166,"stem":167},"Adding Other Services","/docs/advanced/adding-other-services","docs/8.advanced/3.adding-other-services",{"title":169,"path":170,"stem":171},"Create your own Spin Template","/docs/advanced/create-your-own-template","docs/8.advanced/99.create-your-own-template",{"title":173,"path":174,"stem":175},"Migrating from Spin v2 to v3","/docs/advanced/migrating-from-spin-v2-to-v3","docs/8.advanced/migrating-from-spin-v2-to-v3",{"title":177,"path":178,"stem":179,"children":180,"page":35},"Command Reference","/docs/command-reference","docs/9.command-reference",[181,185,189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273,277,281],{"title":182,"path":183,"stem":184},"base64","/docs/command-reference/base64","docs/9.command-reference/base64",{"title":186,"path":187,"stem":188},"build","/docs/command-reference/build","docs/9.command-reference/build",{"title":190,"path":191,"stem":192},"configure","/docs/command-reference/configure","docs/9.command-reference/configure",{"title":194,"path":195,"stem":196},"debug","/docs/command-reference/debug","docs/9.command-reference/debug",{"title":198,"path":199,"stem":200},"deploy","/docs/command-reference/deploy","docs/9.command-reference/deploy",{"title":202,"path":203,"stem":204},"down","/docs/command-reference/down","docs/9.command-reference/down",{"title":206,"path":207,"stem":208},"exec","/docs/command-reference/exec","docs/9.command-reference/exec",{"title":210,"path":211,"stem":212},"gh","/docs/command-reference/gh","docs/9.command-reference/gh",{"title":214,"path":215,"stem":216},"help","/docs/command-reference/help","docs/9.command-reference/help",{"title":218,"path":219,"stem":220},"init","/docs/command-reference/init","docs/9.command-reference/init",{"title":222,"path":223,"stem":224},"kill","/docs/command-reference/kill","docs/9.command-reference/kill",{"title":226,"path":227,"stem":228},"latest","/docs/command-reference/latest","docs/9.command-reference/latest",{"title":230,"path":231,"stem":232},"logs","/docs/command-reference/logs","docs/9.command-reference/logs",{"title":234,"path":235,"stem":236},"maintain","/docs/command-reference/maintain","docs/9.command-reference/maintain",{"title":238,"path":239,"stem":240},"mkpasswd","/docs/command-reference/mkpasswd","docs/9.command-reference/mkpasswd",{"title":242,"path":243,"stem":244},"new","/docs/command-reference/new","docs/9.command-reference/new",{"title":246,"path":247,"stem":248},"provision","/docs/command-reference/provision","docs/9.command-reference/provision",{"title":250,"path":251,"stem":252},"prune","/docs/command-reference/prune","docs/9.command-reference/prune",{"title":254,"path":255,"stem":256},"ps","/docs/command-reference/ps","docs/9.command-reference/ps",{"title":258,"path":259,"stem":260},"pull","/docs/command-reference/pull","docs/9.command-reference/pull",{"title":262,"path":263,"stem":264},"run","/docs/command-reference/run","docs/9.command-reference/run",{"title":266,"path":267,"stem":268},"stop","/docs/command-reference/stop","docs/9.command-reference/stop",{"title":270,"path":271,"stem":272},"up","/docs/command-reference/up","docs/9.command-reference/up",{"title":274,"path":275,"stem":276},"update","/docs/command-reference/update","docs/9.command-reference/update",{"title":278,"path":279,"stem":280},"vault","/docs/command-reference/vault","docs/9.command-reference/vault",{"title":282,"path":283,"stem":284},"version","/docs/command-reference/version","docs/9.command-reference/version",{"id":286,"title":287,"body":288,"description":298,"extension":299,"layout":300,"meta":301,"navigation":304,"path":305,"seo":306,"stem":300,"__hash__":307},"landing/hub.md","Spin Hub",{"type":289,"value":290,"toc":294},"minimark",[291],[292,293],"hub-main",{},{"title":295,"searchDepth":296,"depth":296,"links":297},"",2,[],"Browse Docker templates for Spin created by the Spin team and the community.","md","hub",{"head":302},{"title":303},"Spin Hub - Docker Templates for Spin",true,"/hub",{"title":287,"description":298},"FpJN4N1z7acUbqgXgDK7Hy2kScAAs0Jxq2YyrgAJd6U",[309,537,689],{"id":310,"title":311,"author":312,"authorImage":313,"body":314,"category":527,"description":528,"extension":299,"image":329,"layout":529,"meta":530,"navigation":304,"path":533,"seo":534,"stem":535,"__hash__":536},"hub/hub/0.laravel-basic.md","Laravel Basic","Server Side Up","/images/docs/community-templates/serversideup.png",{"type":289,"value":315,"toc":521},[316,323,330,335,338,429,433,473,484,488,504,508,511,517],[317,318,319],"lead-p",{},[320,321,322],"p",{},"The Spin community maintains an official Laravel template that you can use to get up and running with Laravel quickly. This template is designed to get you up and running with the latest stable version of Laravel with the default configurations running SQLite.",[320,324,325],{},[326,327],"img",{"alt":328,"src":329},"Official Laravel Basic Template by Spin","/images/docs/community-templates/spin-laravel-basic.png",[331,332,334],"h2",{"id":333},"project-information","Project Information",[320,336,337],{},"Here's information where you can learn more about the project:",[339,340,341,354],"table",{},[342,343,344],"thead",{},[345,346,347,351],"tr",{},[348,349,350],"th",{},"Property",[348,352,353],{},"Value",[355,356,357,366,374,395,407,418],"tbody",{},[345,358,359,363],{},[360,361,362],"td",{},"Title",[360,364,365],{},"Laravel Basic Template",[345,367,368,371],{},[360,369,370],{},"Description",[360,372,373],{},"A basic installation of Laravel with SQLite.",[345,375,376,379],{},[360,377,378],{},"Authors",[360,380,381,389,390],{},[382,383,388],"a",{"href":384,"rel":385,"target":387},"https://x.com/jaydrogers",[386],"nofollow","_blank","Jay Rogers (@jaydrogers)",", ",[382,391,394],{"href":392,"rel":393,"target":387},"https://x.com/danpastori",[386],"Dan Pastori (@danpastori)",[345,396,397,400],{},[360,398,399],{},"License",[360,401,402],{},[382,403,406],{"href":404,"rel":405,"target":387},"https://github.com/serversideup/spin-template-laravel-basic/blob/main/LICENSE",[386],"GNU GPL v3.0",[345,408,409,412],{},[360,410,411],{},"Repository URL",[360,413,414],{},[382,415,416],{"href":416,"rel":417},"https://github.com/serversideup/spin-template-laravel-basic",[386],[345,419,420,423],{},[360,421,422],{},"Issues Tracker URL",[360,424,425],{},[382,426,427],{"href":427,"rel":428},"https://github.com/serversideup/spin-template-laravel-basic/issues",[386],[331,430,432],{"id":431},"creating-a-new-laravel-project","Creating a new Laravel project",[434,435,440],"pre",{"className":436,"code":437,"filename":438,"language":439,"meta":295,"style":295},"language-bash shiki shiki-themes material-theme-lighter github-dark github-dark","spin new laravel \u003Cproject-name>\n","Create a new Laravel project","bash",[441,442,443],"code",{"__ignoreMap":295},[444,445,448,452,456,459,463,466,470],"span",{"class":446,"line":447},"line",1,[444,449,451],{"class":450},"soiBB","spin",[444,453,455],{"class":454},"s0vBq"," new",[444,457,458],{"class":454}," laravel",[444,460,462],{"class":461},"sFfmW"," \u003C",[444,464,465],{"class":454},"project-nam",[444,467,469],{"class":468},"sMo7A","e",[444,471,472],{"class":461},">\n",[320,474,475,476,479,480,483],{},"Run the command above to create a new Laravel project with Spin. By default, the new project will be created in the current directory as ",[441,477,478],{},"./laravel",". You can specify a different project name by replacing ",[441,481,482],{},"\u003Cproject-name>"," with your desired name.",[331,485,487],{"id":486},"adding-to-an-existing-laravel-project","Adding to an existing Laravel Project",[434,489,492],{"className":436,"code":490,"filename":491,"language":439,"meta":295,"style":295},"spin init laravel\n","Add to an existing Laravel project",[441,493,494],{"__ignoreMap":295},[444,495,496,498,501],{"class":446,"line":447},[444,497,451],{"class":450},[444,499,500],{"class":454}," init",[444,502,503],{"class":454}," laravel\n",[331,505,507],{"id":506},"further-configuration","Further Configuration",[320,509,510],{},"There are more steps for you to complete after creating a project or adding Spin to your existing project. All of this information can be found in the project's README file.",[320,512,513],{},[382,514,516],{"href":416,"rel":515,"target":387},[386],"View the project README →",[518,519,520],"style",{},"html pre.shiki code .soiBB, html code.shiki .soiBB{--shiki-light:#E2931D;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .s0vBq, html code.shiki .s0vBq{--shiki-light:#91B859;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .sFfmW, html code.shiki .sFfmW{--shiki-light:#39ADB5;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .sMo7A, html code.shiki .sMo7A{--shiki-light:#90A4AE;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}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);}",{"title":295,"searchDepth":296,"depth":296,"links":522},[523,524,525,526],{"id":333,"depth":296,"text":334},{"id":431,"depth":296,"text":432},{"id":486,"depth":296,"text":487},{"id":506,"depth":296,"text":507},"Laravel","A simple way to get up and running with Laravel + SQLite.","hubdetail",{"head":531},{"title":532},"Laravel Basic - Spin by Server Side Up","/hub/laravel-basic",{"title":311,"description":528},"hub/0.laravel-basic","93pjV_NgcQnH47JDzFYjiSlS420Wa_QCVwAfBKSf78w",{"id":538,"title":539,"author":312,"authorImage":313,"body":540,"category":527,"description":593,"extension":299,"image":552,"layout":529,"meta":682,"navigation":304,"path":685,"seo":686,"stem":687,"__hash__":688},"hub/hub/0.laravel-pro.md","Laravel Pro",{"type":289,"value":541,"toc":677},[542,547,553,555,557,633,635,657,663,665,668,675],[317,543,544],{},[320,545,546],{},"The Spin team put together a \"Spin Pro\" template that is available for a one-time purchase for unlimited projects. You'll get access to running Laravel's most advanced features such as Horizon, Reverb, and more.",[320,548,549],{},[326,550],{"alt":551,"src":552},"Official Laravel Pro Template by Spin","/images/docs/community-templates/spin-laravel-pro.png",[331,554,334],{"id":333},[320,556,337],{},[339,558,559,567],{},[342,560,561],{},[345,562,563,565],{},[348,564,350],{},[348,566,353],{},[355,568,569,576,587,594,606,613,623],{},[345,570,571,573],{},[360,572,362],{},[360,574,575],{},"Spin Pro Laravel Template",[345,577,578,581],{},[360,579,580],{},"Website",[360,582,583],{},[382,584,585],{"href":585,"rel":586},"https://getspin.pro",[386],[345,588,589,591],{},[360,590,370],{},[360,592,593],{},"An advanced Laravel template with support for Horizon, Reverb, and more.",[345,595,596,598],{},[360,597,378],{},[360,599,600,389,603],{},[382,601,388],{"href":384,"rel":602,"target":387},[386],[382,604,394],{"href":392,"rel":605,"target":387},[386],[345,607,608,610],{},[360,609,399],{},[360,611,612],{},"Commercial License",[345,614,615,617],{},[360,616,411],{},[360,618,619],{},[382,620,621],{"href":621,"rel":622},"https://github.com/serversideup/spin-template-laravel-pro",[386],[345,624,625,627],{},[360,626,422],{},[360,628,629],{},[382,630,631],{"href":631,"rel":632},"https://github.com/serversideup/spin-template-laravel-pro/issues",[386],[331,634,432],{"id":431},[434,636,638],{"className":436,"code":637,"filename":438,"language":439,"meta":295,"style":295},"spin new laravel-pro \u003Cproject-name>\n",[441,639,640],{"__ignoreMap":295},[444,641,642,644,646,649,651,653,655],{"class":446,"line":447},[444,643,451],{"class":450},[444,645,455],{"class":454},[444,647,648],{"class":454}," laravel-pro",[444,650,462],{"class":461},[444,652,465],{"class":454},[444,654,469],{"class":468},[444,656,472],{"class":461},[320,658,475,659,479,661,483],{},[441,660,478],{},[441,662,482],{},[331,664,507],{"id":506},[320,666,667],{},"Spin Pro comes with a full-featured documentation site to help you get started. Visit the Spin Pro website to learn more.",[320,669,670],{},[382,671,674],{"href":672,"rel":673,"target":387},"https://getspin.pro/docs",[386],"View the project Documentation →",[518,676,520],{},{"title":295,"searchDepth":296,"depth":296,"links":678},[679,680,681],{"id":333,"depth":296,"text":334},{"id":431,"depth":296,"text":432},{"id":506,"depth":296,"text":507},{"head":683},{"title":684},"Laravel Pro - Spin by Server Side Up","/hub/laravel-pro",{"title":539,"description":593},"hub/0.laravel-pro","REODD0wJOWr6JZQ8ptdNNN1PNNcUKABn7WW36jTU0Ug",{"id":690,"title":691,"author":312,"authorImage":313,"body":692,"category":715,"description":767,"extension":299,"image":704,"layout":529,"meta":768,"navigation":304,"path":771,"seo":772,"stem":773,"__hash__":774},"hub/hub/0.nuxt.md","Nuxt (Coming Soon)",{"type":289,"value":693,"toc":762},[694,699,705,709,717,721,724,746,755,759],[317,695,696],{},[320,697,698],{},"We're working on a template where you'll be able run your own Nuxt application easily. In the meantime, let us know what you'd like to see!",[320,700,701],{},[326,702],{"alt":703,"src":704},"Official Nuxt Template by Spin","/images/docs/community-templates/spin-nuxt.png",[331,706,708],{"id":707},"what-is-nuxt","What is Nuxt?",[320,710,711,716],{},[382,712,715],{"href":713,"rel":714,"target":387},"https://nuxt.com/",[386],"Nuxt"," is a framework built on top of Vue.js that simplifies the development of modern web applications by offering server-side rendering (SSR), static site generation (SSG), and single-page applications (SPAs). It features automatic routing, code splitting, and a modular architecture, making it easy to build performant and SEO-friendly websites with minimal configuration.",[331,718,720],{"id":719},"what-will-be-in-the-nuxt-template","What will be in the Nuxt template?",[320,722,723],{},"We're building a Nuxt template that will allow you to run your Nuxt application with any host of your choice. The template will include the following features:",[725,726,727,734,740],"ul",{},[728,729,730,733],"li",{},[731,732,715],"strong",{},": The latest version of Nuxt.js",[728,735,736,739],{},[731,737,738],{},"Zero-downtime deployments",": Deploy your Nuxt application with zero downtime using Spin",[728,741,742,745],{},[731,743,744],{},"Centralized management",": Manage your Nuxt application's development, staging, and production environments securely within your repository",[320,747,748,749,754],{},"If you'd like to see more features or have more questions, ",[382,750,753],{"href":751,"rel":752,"target":387},"https://github.com/serversideup/spin/discussions",[386],"open a Discussion on GitHub",".",[331,756,758],{"id":757},"when-will-the-nuxt-template-be-available","When will the Nuxt template be available?",[320,760,761],{},"We're working hard to get this template ready for you. Stay tuned for updates on when you can start using the Nuxt template with Spin.",{"title":295,"searchDepth":296,"depth":296,"links":763},[764,765,766],{"id":707,"depth":296,"text":708},{"id":719,"depth":296,"text":720},{"id":757,"depth":296,"text":758},"Learn about the official Nuxt template provided by the Spin community.",{"head":769},{"title":770},"Nuxt Template - Spin by Server Side Up","/hub/nuxt",{"title":691,"description":767},"hub/0.nuxt","obnER21kqRrYwfGjn8SBB1-jfs42T7589HybRYZ6keY",1769465036137]