[{"data":1,"prerenderedAt":684},["ShallowReactive",2],{"navigation":3,"/docs/command-reference/provision":285,"/docs/command-reference/provision-surround":679},[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":246,"body":287,"canonical":669,"description":670,"extension":671,"layout":672,"meta":673,"navigation":676,"path":247,"seo":677,"stem":248,"__hash__":678},"docs/docs/9.command-reference/provision.md",{"type":288,"value":289,"toc":656},"minimark",[290,297,302,375,394,398,401,442,446,454,459,485,491,504,508,511,643,647,652],[291,292,293],"lead-p",{},[294,295,296],"p",{},"Provision and set up your inventory of servers. Before running this command, make sure you have everything configured and a supported server online with any host of your choice.",[298,299,301],"h2",{"id":300},"usage","Usage",[303,304,310],"pre",{"className":305,"code":306,"filename":307,"language":308,"meta":309,"style":309},"language-bash shiki shiki-themes material-theme-lighter github-dark github-dark","spin provision [environment] [ -p|--port \u003Cport> -u|--user \u003Cuser> -U|--upgrade ]\n","Usage for \"spin provision\"","bash","",[311,312,313],"code",{"__ignoreMap":309},[314,315,318,322,326,330,334,338,341,344,347,350,353,356,358,361,363,366,369,372],"span",{"class":316,"line":317},"line",1,[314,319,321],{"class":320},"soiBB","spin",[314,323,325],{"class":324},"s0vBq"," provision",[314,327,329],{"class":328},"sMo7A"," [environment] ",[314,331,333],{"class":332},"sG-J9","[",[314,335,337],{"class":336},"sFfmW"," -p|",[314,339,340],{"class":328},"--port ",[314,342,343],{"class":336},"\u003C",[314,345,346],{"class":328},"port",[314,348,349],{"class":336},">",[314,351,352],{"class":336}," -u|",[314,354,355],{"class":328},"--user ",[314,357,343],{"class":336},[314,359,360],{"class":328},"user",[314,362,349],{"class":336},[314,364,365],{"class":328}," -U",[314,367,368],{"class":336},"|",[314,370,371],{"class":328},"--upgrade ",[314,373,374],{"class":332},"]\n",[376,377,378],"note",{},[294,379,380,381,384,385,388,389,393],{},"If you're not using our native provider integration, you may need to add ",[311,382,383],{},"-u root"," to the command when you first run it. This will use the ",[311,386,387],{},"root"," user to connect and configure your other users. See our guide on ",[390,391,392],"a",{"href":119},"Using Any Host"," for more details.",[298,395,397],{"id":396},"checklist-before-executing-this-command","Checklist before executing this command",[294,399,400],{},"Before you execute this command, you should have the following completed:",[402,403,404,415,427,433],"ul",{},[405,406,407,408,414],"li",{},"Your ",[390,409,410,413],{"href":94},[311,411,412],{},".spin.yml"," file"," should be configured",[405,416,417,418,422,423,426],{},"You have at least one provider API token set ",[419,420,421],"strong",{},"OR"," you have a server with the ",[311,424,425],{},"address"," property set",[405,428,429,430,432],{},"If you're using your own server (not through a provider), make sure you have ",[311,431,383],{}," set in the command (or whatever your host's default sudo user is)",[405,434,435,436,438,439],{},"If you're using a server with the ",[311,437,425],{}," property, make sure you have SSH access to the server and it meets our ",[390,440,441],{"href":90},"server requirements",[298,443,445],{"id":444},"what-happens-when-you-run-this-command","What happens when you run this command?",[294,447,448,449,453],{},"You can learn more ",[390,450,452],{"href":451},"/docs/server-configuration/server-configuration-basics#how-servers-work-with-spin","how servers work with Spin"," but depending on your set up, below shows what will happen when you run this command:",[455,456,458],"h3",{"id":457},"if-you-have-a-provider-api-token-set","If you have a provider API token set",[402,460,461,464,470,473,476,479,482],{},[405,462,463],{},"Create your server(s) with your host",[405,465,466,467,469],{},"Update your ",[311,468,412],{}," file with the actual IP address of the server that was just created",[405,471,472],{},"Update your server to the latest Linux packages",[405,474,475],{},"Configure the provider's firewall to only allow SSH and HTTP/S traffic and apply it to your server",[405,477,478],{},"Configure your system users for server access",[405,480,481],{},"Harden and secure your server against common attacks",[405,483,484],{},"Install and configure Docker Swarm for zero-downtime deployments",[455,486,488,489,426],{"id":487},"if-you-have-a-server-with-the-address-property-set","If you have a server with the ",[311,490,425],{},[402,492,493,496,498,500,502],{},[405,494,495],{},"Connect to your server using SSH",[405,497,472],{},[405,499,478],{},[405,501,481],{},[405,503,484],{},[298,505,507],{"id":506},"options","Options",[294,509,510],{},"The following options are available to set when running this command.",[512,513,514,533],"table",{},[515,516,517],"thead",{},[518,519,520,524,527,530],"tr",{},[521,522,523],"th",{},"Option",[521,525,526],{},"Short",[521,528,529],{},"Default",[521,531,532],{},"Description",[534,535,536,563,583,603,625],"tbody",{},[518,537,538,544,547,552],{},[539,540,541],"td",{},[311,542,543],{},"environment",[539,545,546],{},"-",[539,548,549],{},[311,550,551],{},"all",[539,553,554,555,558,559,562],{},"Optional. The target environment to provision (e.g., ",[311,556,557],{},"production",", ",[311,560,561],{},"staging",").",[518,564,565,570,575,580],{},[539,566,567],{},[311,568,569],{},"--host",[539,571,572],{},[311,573,574],{},"-h",[539,576,577],{},[578,579],"none",{},[539,581,582],{},"The hostname or group of hosts you'd like to provision.",[518,584,585,590,595,600],{},[539,586,587],{},[311,588,589],{},"--port",[539,591,592],{},[311,593,594],{},"-p",[539,596,597],{},[311,598,599],{},"22",[539,601,602],{},"The port to SSH into the server with.",[518,604,605,610,615,622],{},[539,606,607],{},[311,608,609],{},"--user",[539,611,612],{},[311,613,614],{},"-u",[539,616,617,618,621],{},"The username of your HOST machine (run ",[311,619,620],{},"whoami"," in a new terminal)",[539,623,624],{},"The user to SSH into the server with.",[518,626,627,632,637,640],{},[539,628,629],{},[311,630,631],{},"--upgrade",[539,633,634],{},[311,635,636],{},"-U",[539,638,639],{},"Check for Ansible collection updates once per day.",[539,641,642],{},"Force upgrade the Ansible Collection on your machine before provisioning.",[298,644,646],{"id":645},"learn-more","Learn More",[294,648,649],{},[390,650,651],{"href":94},"Configuring your servers for \"spin provision\" →",[653,654,655],"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 .sMo7A, html code.shiki .sMo7A{--shiki-light:#90A4AE;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sG-J9, html code.shiki .sG-J9{--shiki-light:#39ADB5;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sFfmW, html code.shiki .sFfmW{--shiki-light:#39ADB5;--shiki-default:#F97583;--shiki-dark:#F97583}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":309,"searchDepth":657,"depth":657,"links":658},2,[659,660,661,667,668],{"id":300,"depth":657,"text":301},{"id":396,"depth":657,"text":397},{"id":444,"depth":657,"text":445,"children":662},[663,665],{"id":457,"depth":664,"text":458},3,{"id":487,"depth":664,"text":666},"If you have a server with the address property set",{"id":506,"depth":657,"text":507},{"id":645,"depth":657,"text":646},"https://serversideup.net/open-source/spin/docs/command-reference/provision","Command reference for \"spin provision\"","md","docs",{"head":674},{"title":675},"provision | Command Reference - Spin by Server Side Up",true,{"title":246,"description":670},"bbQdp6jh425P6mPIzrXYfkUCbj_2ph6pnknvTdSup3E",[680,682],{"title":242,"path":243,"stem":244,"description":681,"children":-1},"Command reference for \"spin new\"",{"title":250,"path":251,"stem":252,"description":683,"children":-1},"Command reference for \"spin prune\"",1769465042210]