[{"data":1,"prerenderedAt":590},["ShallowReactive",2],{"navigation":3,"/docs/command-reference/vault":285,"/docs/command-reference/vault-surround":585},[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":278,"body":287,"canonical":575,"description":576,"extension":577,"layout":578,"meta":579,"navigation":582,"path":279,"seo":583,"stem":280,"__hash__":584},"docs/docs/9.command-reference/vault.md",{"type":288,"value":289,"toc":561},"minimark",[290,309,314,351,355,371,376,398,402,409,413,431,448,452,463,466,470,478,484,512,523,527,530,534,541,544,557],[291,292,293],"lead-p",{},[294,295,296,297,308],"p",{},"Encrypt & decrypt files with \"Ansible Vault\". Accepts any command that ",[298,299,304],"a",{"href":300,"rel":301,"target":303},"https://docs.ansible.com/ansible/latest/cli/ansible-vault.html",[302],"nofollow","_blank",[305,306,307],"code",{},"ansible-vault"," accepts.",[310,311,313],"h2",{"id":312},"usage","Usage",[315,316,322],"pre",{"className":317,"code":318,"filename":319,"language":320,"meta":321,"style":321},"language-bash shiki shiki-themes material-theme-lighter github-dark github-dark","spin vault \u003Cansible-vault-action>\n","Usage for \"spin vault\"","bash","",[305,323,324],{"__ignoreMap":321},[325,326,329,333,337,341,344,348],"span",{"class":327,"line":328},"line",1,[325,330,332],{"class":331},"soiBB","spin",[325,334,336],{"class":335},"s0vBq"," vault",[325,338,340],{"class":339},"sFfmW"," \u003C",[325,342,343],{"class":335},"ansible-vault-actio",[325,345,347],{"class":346},"sMo7A","n",[325,349,350],{"class":339},">\n",[310,352,354],{"id":353},"actions","Actions",[294,356,357,358,361,362,364,365,370],{},"The ",[305,359,360],{},"spin vault"," command will intelligently pass any arguments to your local ",[305,363,307],{}," binary or to Docker if Ansible is not installed locally. It will also accept any commands that are documented with ",[298,366,368],{"href":300,"rel":367,"target":303},[302],[305,369,307],{},".",[372,373,375],"h3",{"id":374},"most-popular-actions","Most popular actions",[377,378,379,386,392],"ul",{},[380,381,382,385],"li",{},[305,383,384],{},"edit",": Edit an encrypted file",[380,387,388,391],{},[305,389,390],{},"encrypt",": Encrypt an unencrypted file",[380,393,394,397],{},[305,395,396],{},"decrypt",": Decrypt an encrypted file",[310,399,401],{"id":400},"official-documentation-additional-options","Official Documentation & Additional Options",[294,403,404,405,370],{},"More actions and syntax reference can be found in the ",[298,406,408],{"href":300,"rel":407,"target":303},[302],"official documentation",[310,410,412],{"id":411},"examples","Examples",[315,414,417],{"className":317,"code":415,"filename":416,"language":320,"meta":321,"style":321},"spin vault encrypt myfile.txt\n","Encrypt a file",[305,418,419],{"__ignoreMap":321},[325,420,421,423,425,428],{"class":327,"line":328},[325,422,332],{"class":331},[325,424,336],{"class":335},[325,426,427],{"class":335}," encrypt",[325,429,430],{"class":335}," myfile.txt\n",[315,432,435],{"className":317,"code":433,"filename":434,"language":320,"meta":321,"style":321},"spin vault edit myfile.txt\n","Edit an encrypted file",[305,436,437],{"__ignoreMap":321},[325,438,439,441,443,446],{"class":327,"line":328},[325,440,332],{"class":331},[325,442,336],{"class":335},[325,444,445],{"class":335}," edit",[325,447,430],{"class":335},[310,449,451],{"id":450},"special-notes","Special notes",[294,453,454,455,458,459,462],{},"This command will automatically run ",[305,456,457],{},"ansible vault"," via Docker if you do not have Ansible installed on your system. The only major downfall to this approach is when it comes to editing your secret files, you will need to do this all through ",[305,460,461],{},"vi",", which can be pretty annoying.",[294,464,465],{},"If you'd like a better experience, you may want to consider installing and configuring Ansible on your local machine so you can edit your secrets with your favorite editor.",[310,467,469],{"id":468},"editing-secrets-with-sublime-text","Editing secrets with Sublime Text",[294,471,472,473,370],{},"It's possible to edit your secrets with Sublime Text, but it requires a bit of setup. You'll need to ",[298,474,477],{"href":475,"rel":476,"target":303},"https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html",[302],"install Ansible to your system",[294,479,480,481,483],{},"Once Ansible is installed and you're able to execute ",[305,482,307],{}," locally, you'll then need to set Sublime Text as your editor.",[315,485,488],{"className":317,"code":486,"filename":487,"language":320,"meta":321,"style":321},"export EDITOR=\"subl -w\"\n","Set Sublime Text as your editor",[305,489,490],{"__ignoreMap":321},[325,491,492,496,499,502,506,509],{"class":327,"line":328},[325,493,495],{"class":494},"sFsEu","export",[325,497,498],{"class":346}," EDITOR",[325,500,501],{"class":339},"=",[325,503,505],{"class":504},"sF_wb","\"",[325,507,508],{"class":335},"subl -w",[325,510,511],{"class":504},"\"\n",[294,513,514,515,518,519,522],{},"Add this to your ",[305,516,517],{},"~/.bashrc"," or ",[305,520,521],{},"~/.zshrc"," file to make it permanent.",[310,524,526],{"id":525},"saving-the-file","Saving the file",[294,528,529],{},"When you save the file with, Ansible Vault will automatically re-encrypt the file for you. You don't need to do anything else.",[310,531,533],{"id":532},"automating-vault-access","Automating Vault Access",[294,535,536,537,540],{},"If you're constantly being asked to provide a vault password, you can speed up your workflow by securely saving your password to a ",[305,538,539],{},".vault-password"," file in your project root.",[294,542,543],{},"If that file exists, Ansible will automatically load the password from that file.",[545,546,547],"note",{},[294,548,549,550,552,553,556],{},"Never commit ",[305,551,539],{}," to your repository. It should be added to your ",[305,554,555],{},".gitignore"," file.",[558,559,560],"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);}html pre.shiki code .sFsEu, html code.shiki .sFsEu{--shiki-light:#9C3EDA;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .sF_wb, html code.shiki .sF_wb{--shiki-light:#39ADB5;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}",{"title":321,"searchDepth":562,"depth":562,"links":563},2,[564,565,569,570,571,572,573,574],{"id":312,"depth":562,"text":313},{"id":353,"depth":562,"text":354,"children":566},[567],{"id":374,"depth":568,"text":375},3,{"id":400,"depth":562,"text":401},{"id":411,"depth":562,"text":412},{"id":450,"depth":562,"text":451},{"id":468,"depth":562,"text":469},{"id":525,"depth":562,"text":526},{"id":532,"depth":562,"text":533},"https://serversideup.net/open-source/spin/docs/command-reference/vault","Command reference for \"spin vault\"","md","docs",{"head":580},{"title":581},"vault | Command Reference - Spin by Server Side Up",true,{"title":278,"description":576},"WOmuPe4BuBNnrBkvc5UJF1FGm8-S291rC9IQiYtoeGI",[586,588],{"title":274,"path":275,"stem":276,"description":587,"children":-1},"Command reference for \"spin update\"",{"title":282,"path":283,"stem":284,"description":589,"children":-1},"Command reference for \"spin version\"",1769465043253]